{"openapi":"3.1.0","info":{"title":"MakePro Works API","description":"API pública da MakePro (leitura; escrita só nas rotas POST marcadas com scope `*:write`). Autentique com a chave de API emitida na tela **Empresa → Chaves de API**, no header `Authorization: Bearer mkp_...`. A superfície abaixo é exatamente a janela de domínios liberada nesta instalação: companies:read, documents:read, documents:write, folders:read, guidelines:read, guidelines:write, meetings:read, meetings:write, memories:read, memories:write, projects:read, schedule:read, topics:read. Limites de requisição são aplicados por chave (HTTP 429 ao exceder).","version":"1.0.0"},"paths":{"/api/v1/companies":{"get":{"tags":["Empresas"],"summary":"List Companies","description":"Lista empresas do usuário autenticado.\n\nRetorna todas as empresas onde o usuário é owner ou membro, respeitando\nbusca por nome e paginação baseada em cursor. Por token de API, apenas a\nempresa a que a chave está presa (RN-API-45) e somente se ela tiver a API\npública habilitada (RN-API-46) — ou seja, no máximo uma empresa.","operationId":"list_companies_api_v1_companies_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Buscar por nome","title":"Q"},"description":"Buscar por nome"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_PublicCompanyResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects":{"get":{"tags":["Projetos"],"summary":"List Projects","description":"Lista projetos de uma empresa.\n\nRetorna apenas projetos onde o usuário tem acesso.\n\n**Filtros:**\n- `q`: Busca por nome do projeto\n- `tags`: Filtro por tags (ex: \"comercial,residencial\")\n- `limit`: Quantidade de resultados (padrão 50, máximo 200)\n- `cursor`: Token para paginação\n\n**Permissões:**\n- Usuário deve ser membro da empresa","operationId":"list_projects_api_v1_companies__company_id__projects_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"type":"string","title":"Company Id"}},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Buscar por nome","title":"Q"},"description":"Buscar por nome"},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por tags (separadas por vírgula)","title":"Tags"},"description":"Filtrar por tags (separadas por vírgula)"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"description":"Limite de resultados","default":50,"title":"Limit"},"description":"Limite de resultados"},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Cursor para paginação","title":"Cursor"},"description":"Cursor para paginação"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_PublicProjectResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}":{"get":{"tags":["Projetos"],"summary":"Get Project","description":"Obtém detalhes de um projeto.\n\nRetorna todas as informações do projeto incluindo metadados e\nconfigurações.\n\n**Permissões:**\n- Usuário deve ter acesso ao projeto","operationId":"get_project_api_v1_projects__project_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProjectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}":{"get":{"tags":["Projetos"],"summary":"Get Project","description":"Obtém detalhes de um projeto.\n\nRetorna todas as informações do projeto incluindo metadados e\nconfigurações.\n\n**Permissões:**\n- Usuário deve ter acesso ao projeto","operationId":"get_project_api_v1_companies__company_id__projects__project_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProjectResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/stats":{"get":{"tags":["Projetos"],"summary":"Get Project Stats","description":"Obtém estatísticas agregadas do projeto.\n\nRetorna contadores e métricas sobre recursos do projeto.\n\n**Estatísticas retornadas:**\n- `documents_count`: Total de documentos\n- `folders_count`: Total de pastas\n- `storage_bytes`: Espaço usado em bytes\n- `tasks_count`: Total de tarefas da subcoleção legada `tasks` (não é o\n  contador do módulo Cronograma — para esse, use `schedule_items_count`)\n- `topics_count`: Total de tópicos de compatibilização\n- `schedule_items_count`: Total de itens (tarefas) de cronograma do projeto —\n  soma das tarefas não deletadas de todos os cronogramas, exceto templates e\n  cronogramas de acesso restrito (RN-B87)\n- `last_activity`: Data/hora da última atividade\n\n**Permissões:**\n- Usuário deve ter acesso ao projeto (viewer ou superior)","operationId":"get_project_stats_api_v1_projects__project_id__stats_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProjectStatsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/stats":{"get":{"tags":["Projetos"],"summary":"Get Project Stats","description":"Obtém estatísticas agregadas do projeto.\n\nRetorna contadores e métricas sobre recursos do projeto.\n\n**Estatísticas retornadas:**\n- `documents_count`: Total de documentos\n- `folders_count`: Total de pastas\n- `storage_bytes`: Espaço usado em bytes\n- `tasks_count`: Total de tarefas da subcoleção legada `tasks` (não é o\n  contador do módulo Cronograma — para esse, use `schedule_items_count`)\n- `topics_count`: Total de tópicos de compatibilização\n- `schedule_items_count`: Total de itens (tarefas) de cronograma do projeto —\n  soma das tarefas não deletadas de todos os cronogramas, exceto templates e\n  cronogramas de acesso restrito (RN-B87)\n- `last_activity`: Data/hora da última atividade\n\n**Permissões:**\n- Usuário deve ter acesso ao projeto (viewer ou superior)","operationId":"get_project_stats_api_v1_companies__company_id__projects__project_id__stats_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProjectStatsResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/folders":{"get":{"tags":["Pastas"],"summary":"List Folders","description":"Lista pastas de um projeto.","operationId":"list_folders_api_v1_projects__project_id__folders_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ID da pasta pai (None ou vazio = raiz)","title":"Parent Id"},"description":"ID da pasta pai (None ou vazio = raiz)"},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por fonte: 'monday' ou 'web'","title":"Source"},"description":"Filtrar por fonte: 'monday' ou 'web'"},{"name":"disciplina_related_monday","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por disciplina do Monday","title":"Disciplina Related Monday"},"description":"Filtrar por disciplina do Monday"},{"name":"fase_related_monday","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por fase do Monday","title":"Fase Related Monday"},"description":"Filtrar por fase do Monday"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"include_deleted","in":"query","required":false,"schema":{"type":"boolean","description":"Quando verdadeiro, retorna apenas pastas removidas logicamente","default":false,"title":"Include Deleted"},"description":"Quando verdadeiro, retorna apenas pastas removidas logicamente"},{"name":"include_all_folders","in":"query","required":false,"schema":{"type":"boolean","description":"Quando verdadeiro, lista pastas de todos os níveis do projeto, sem restringir por parent_id (lixeira global).","default":false,"title":"Include All Folders"},"description":"Quando verdadeiro, lista pastas de todos os níveis do projeto, sem restringir por parent_id (lixeira global)."},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_PublicFolderResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/folders/{folder_id}":{"get":{"tags":["Pastas"],"summary":"Get Folder","description":"Obtém detalhes de uma pasta.","operationId":"get_folder_api_v1_projects__project_id__folders__folder_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","title":"Folder Id"}},{"name":"include_deleted","in":"query","required":false,"schema":{"type":"boolean","description":"Permite recuperar pasta removida logicamente","default":false,"title":"Include Deleted"},"description":"Permite recuperar pasta removida logicamente"},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicFolderResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/folders":{"get":{"tags":["Pastas"],"summary":"List Folders","description":"Lista pastas de um projeto.","operationId":"list_folders_api_v1_companies__company_id__projects__project_id__folders_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"parent_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ID da pasta pai (None ou vazio = raiz)","title":"Parent Id"},"description":"ID da pasta pai (None ou vazio = raiz)"},{"name":"source","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por fonte: 'monday' ou 'web'","title":"Source"},"description":"Filtrar por fonte: 'monday' ou 'web'"},{"name":"disciplina_related_monday","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por disciplina do Monday","title":"Disciplina Related Monday"},"description":"Filtrar por disciplina do Monday"},{"name":"fase_related_monday","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por fase do Monday","title":"Fase Related Monday"},"description":"Filtrar por fase do Monday"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"include_deleted","in":"query","required":false,"schema":{"type":"boolean","description":"Quando verdadeiro, retorna apenas pastas removidas logicamente","default":false,"title":"Include Deleted"},"description":"Quando verdadeiro, retorna apenas pastas removidas logicamente"},{"name":"include_all_folders","in":"query","required":false,"schema":{"type":"boolean","description":"Quando verdadeiro, lista pastas de todos os níveis do projeto, sem restringir por parent_id (lixeira global).","default":false,"title":"Include All Folders"},"description":"Quando verdadeiro, lista pastas de todos os níveis do projeto, sem restringir por parent_id (lixeira global)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_PublicFolderResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/folders/{folder_id}":{"get":{"tags":["Pastas"],"summary":"Get Folder","description":"Obtém detalhes de uma pasta.","operationId":"get_folder_api_v1_companies__company_id__projects__project_id__folders__folder_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"folder_id","in":"path","required":true,"schema":{"type":"string","title":"Folder Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"include_deleted","in":"query","required":false,"schema":{"type":"boolean","description":"Permite recuperar pasta removida logicamente","default":false,"title":"Include Deleted"},"description":"Permite recuperar pasta removida logicamente"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicFolderResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/meetings":{"post":{"tags":["Reuniões"],"summary":"Create Meeting","description":"Cria uma reunião no projeto (RF-REU-01).","operationId":"create_meeting_api_v1_companies__company_id__projects__project_id__meetings_post","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeetingCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicMeetingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"get":{"tags":["Reuniões"],"summary":"List Meetings","description":"Lista reuniões do projeto com filtros e visibilidade aplicada (RF-REU-05).","operationId":"list_meetings_api_v1_companies__company_id__projects__project_id__meetings_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"assunto","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assunto"}},{"name":"envolvido","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Envolvido"}},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"}},{"name":"from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From"}},{"name":"to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"To"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicMeetingResponse"},"title":"Response List Meetings Api V1 Companies  Company Id  Projects  Project Id  Meetings Get Pub"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/meetings/{meeting_id}":{"get":{"tags":["Reuniões"],"summary":"Get Meeting","description":"Retorna uma reunião (404 se restrita inacessível — RNF-REU-02).","operationId":"get_meeting_api_v1_companies__company_id__projects__project_id__meetings__meeting_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"meeting_id","in":"path","required":true,"schema":{"type":"string","title":"Meeting Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicMeetingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/meetings/{meeting_id}/notes":{"get":{"tags":["Reuniões"],"summary":"Get Notes","description":"Lê as anotações da reunião (RF-REU-02).","operationId":"get_notes_api_v1_companies__company_id__projects__project_id__meetings__meeting_id__notes_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"meeting_id","in":"path","required":true,"schema":{"type":"string","title":"Meeting Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicMeetingNotesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Reuniões"],"summary":"Save Notes","description":"Grava as anotações livres da reunião, em HTML (RF-REU-02, RN-API-50).\n\nMesma capacidade do `PUT` acima e mesmo gate de papel no service; existe\nporque a API pública só admite `POST` para escrita (RN-API-48). O app web\nsegue no `PUT`; o integrador e o MCP usam este.\n\nO campo é ÚNICO por reunião: o conteúdo enviado SUBSTITUI por inteiro o que\nhavia — não há anexação incremental. O HTML é sanitizado no service\n(RN-REU-18) e tem teto de 2 MB.","operationId":"save_notes_api_v1_companies__company_id__projects__project_id__meetings__meeting_id__notes_post","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"meeting_id","in":"path","required":true,"schema":{"type":"string","title":"Meeting Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeetingNotesPayload"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicMeetingNotesResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/meetings/{meeting_id}/attachments/{tipo}/upload-url":{"post":{"tags":["Reuniões"],"summary":"Create Attachment Upload Url","description":"Gera signed URL de upload de ata/transcrição, com os dados no corpo.\n\nMesma capacidade do `GET` acima e mesma checagem de papel no service; existe\nporque a API pública só admite `POST` para fluxo de escrita (RN-API-48) — um\n`GET` que devolve URL de gravação não pode viajar sob um scope de leitura\n(RO-01). O app web continua no `GET`; o integrador e o MCP usam este. É o\npasso 1 de 2: o cliente faz o `PUT` direto no GCS e depois chama `/confirm`.","operationId":"create_attachment_upload_url_api_v1_companies__company_id__projects__project_id__meetings__meeting_id__attachments__tipo__upload_url_post","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"meeting_id","in":"path","required":true,"schema":{"type":"string","title":"Meeting Id"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeetingAttachmentUploadRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicMeetingAttachmentUploadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/meetings/{meeting_id}/attachments/{tipo}/confirm":{"post":{"tags":["Reuniões"],"summary":"Confirm Attachment","description":"Confirma o upload do anexo e grava metadados (RF-REU-03).","operationId":"confirm_attachment_api_v1_companies__company_id__projects__project_id__meetings__meeting_id__attachments__tipo__confirm_post","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"meeting_id","in":"path","required":true,"schema":{"type":"string","title":"Meeting Id"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeetingAttachmentConfirmRequest"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicMeetingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/meetings/{meeting_id}/attachments/{tipo}/download-url":{"get":{"tags":["Reuniões"],"summary":"Get Attachment Download Url","description":"Gera signed URL de download de ata/transcrição (RF-REU-03).","operationId":"get_attachment_download_url_api_v1_companies__company_id__projects__project_id__meetings__meeting_id__attachments__tipo__download_url_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"meeting_id","in":"path","required":true,"schema":{"type":"string","title":"Meeting Id"}},{"name":"tipo","in":"path","required":true,"schema":{"type":"string","title":"Tipo"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicMeetingAttachmentDownloadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/meetings/{meeting_id}/pendencies":{"post":{"tags":["Reuniões"],"summary":"Add Pendency","description":"Adiciona uma pendência à reunião (RF-REU-04).","operationId":"add_pendency_api_v1_companies__company_id__projects__project_id__meetings__meeting_id__pendencies_post","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"meeting_id","in":"path","required":true,"schema":{"type":"string","title":"Meeting Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/MeetingPendencyInput"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicMeetingResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/documents":{"get":{"tags":["Documentos"],"summary":"List Documents","description":"Lista documentos de um projeto.","operationId":"list_documents_api_v1_projects__project_id__documents_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"folder_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ID da pasta (None ou vazio = raiz)","title":"Folder Id"},"description":"ID da pasta (None ou vazio = raiz)"},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Buscar por nome","title":"Q"},"description":"Buscar por nome"},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por tags (separadas por vírgula)","title":"Tags"},"description":"Filtrar por tags (separadas por vírgula)"},{"name":"disciplina","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por disciplina (igualdade)","title":"Disciplina"},"description":"Filtrar por disciplina (igualdade)"},{"name":"fase","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por fase (igualdade)","title":"Fase"},"description":"Filtrar por fase (igualdade)"},{"name":"local","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por local (pertencimento à lista de locais do documento)","title":"Local"},"description":"Filtrar por local (pertencimento à lista de locais do documento)"},{"name":"titulo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por título (igualdade)","title":"Titulo"},"description":"Filtrar por título (igualdade)"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por status (igualdade)","title":"Status"},"description":"Filtrar por status (igualdade)"},{"name":"custom_property","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por custom properties: tokens 'chave:valor' separados por vírgula (semântica OR; máx. 30)","title":"Custom Property"},"description":"Filtrar por custom properties: tokens 'chave:valor' separados por vírgula (semântica OR; máx. 30)"},{"name":"created_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"RN-REC-01: lista apenas documentos cadastrados a partir desta data (ISO-8601). Quando informado, a ordenação passa a ser por data de cadastro, do mais recente para o mais antigo.","title":"Created From"},"description":"RN-REC-01: lista apenas documentos cadastrados a partir desta data (ISO-8601). Quando informado, a ordenação passa a ser por data de cadastro, do mais recente para o mais antigo."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"include_all_folders","in":"query","required":false,"schema":{"type":"boolean","description":"Quando verdadeiro, lista documentos do projeto inteiro sem restringir à pasta raiz.","default":false,"title":"Include All Folders"},"description":"Quando verdadeiro, lista documentos do projeto inteiro sem restringir à pasta raiz."},{"name":"include_deleted","in":"query","required":false,"schema":{"type":"boolean","description":"Quando verdadeiro, retorna apenas documentos removidos logicamente","default":false,"title":"Include Deleted"},"description":"Quando verdadeiro, retorna apenas documentos removidos logicamente"},{"name":"liberado_only","in":"query","required":false,"schema":{"type":"boolean","description":"DEFAULT true (RN-MB-LIB-09): quando o parâmetro NÃO é enviado, a listagem retorna apenas documentos liberados (RN-MB-LIB-05). Protege o app mobile atual de receber não liberados. Clientes que precisam ver TUDO (liberados e não liberados) devem enviar liberado_only=false explicitamente.","default":true,"title":"Liberado Only"},"description":"DEFAULT true (RN-MB-LIB-09): quando o parâmetro NÃO é enviado, a listagem retorna apenas documentos liberados (RN-MB-LIB-05). Protege o app mobile atual de receber não liberados. Clientes que precisam ver TUDO (liberados e não liberados) devem enviar liberado_only=false explicitamente."},{"name":"somente_liberados","in":"query","required":false,"schema":{"type":"boolean","description":"RN-LIB-01: recorta a listagem em `liberado == True` SEM o corte de extensão `.pdf` que acompanha `liberado_only` (modo mobile). É o parâmetro dos clientes web que exibem todos os tipos de arquivo e querem ver só o que está liberado. Combinável com `created_from`. É AUTOSSUFICIENTE: quando enviado como true, prevalece sobre o default `liberado_only=true` (RN-MB-LIB-09), de modo que o chamador não precisa enviar `liberado_only=false` junto para escapar do corte de extensão.","default":false,"title":"Somente Liberados"},"description":"RN-LIB-01: recorta a listagem em `liberado == True` SEM o corte de extensão `.pdf` que acompanha `liberado_only` (modo mobile). É o parâmetro dos clientes web que exibem todos os tipos de arquivo e querem ver só o que está liberado. Combinável com `created_from`. É AUTOSSUFICIENTE: quando enviado como true, prevalece sobre o default `liberado_only=true` (RN-MB-LIB-09), de modo que o chamador não precisa enviar `liberado_only=false` junto para escapar do corte de extensão."},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_PublicDocumentResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/documents/{document_id}":{"get":{"tags":["Documentos"],"summary":"Get Document","description":"Obtém detalhes de um documento.","operationId":"get_document_api_v1_projects__project_id__documents__document_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"include_deleted","in":"query","required":false,"schema":{"type":"boolean","description":"Permite recuperar documento removido logicamente","default":false,"title":"Include Deleted"},"description":"Permite recuperar documento removido logicamente"},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/documents/{document_id}/fields":{"post":{"tags":["Documentos"],"summary":"Save Document Fields","description":"Altera classificação do documento (título, disciplina, fase, local).\n\nVariante POST do PUT de metadados (RN-API-48/59): a API pública não admite\nPUT. Disciplina, fase e local têm de existir na taxonomia efetiva do\nprojeto (`GET .../config/catalog-taxonomy`); o service grava o rótulo, o\nmesmo valor que o app usa. O PUT interno continua no app web.","operationId":"save_document_fields_api_v1_projects__project_id__documents__document_id__fields_post","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentPublicClassificationUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/documents/{document_id}/versions":{"get":{"tags":["Documentos"],"summary":"List Document Versions","description":"Lista todas as versões de um documento, marcando as ocultas (RN-STA-16).\n\nRN-STA-16 entrou de forma ADITIVA: o corpo segue sendo um ARRAY CRU e cada\nitem ganhou `hidden`. Cliente antigo continua iterando no corpo como sempre.","operationId":"list_document_versions_api_v1_projects__project_id__documents__document_id__versions_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicDocumentVersionResponse"},"title":"Response List Document Versions Api V1 Projects  Project Id  Documents  Document Id  Versions Get Pub"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/projects/{project_id}/documents/{document_id}/download":{"get":{"tags":["Documentos"],"summary":"Generate Download Url","description":"Retorna URL assinada para download do documento.","operationId":"generate_download_url_api_v1_projects__project_id__documents__document_id__download_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"version_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Versão específica para download (None ou vazio = versão atual)","title":"Version Id"},"description":"Versão específica para download (None ou vazio = versão atual)"},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDocumentDownloadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/documents":{"get":{"tags":["Documentos"],"summary":"List Documents","description":"Lista documentos de um projeto.","operationId":"list_documents_api_v1_companies__company_id__projects__project_id__documents_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"folder_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"ID da pasta (None ou vazio = raiz)","title":"Folder Id"},"description":"ID da pasta (None ou vazio = raiz)"},{"name":"q","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Buscar por nome","title":"Q"},"description":"Buscar por nome"},{"name":"tags","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por tags (separadas por vírgula)","title":"Tags"},"description":"Filtrar por tags (separadas por vírgula)"},{"name":"disciplina","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por disciplina (igualdade)","title":"Disciplina"},"description":"Filtrar por disciplina (igualdade)"},{"name":"fase","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por fase (igualdade)","title":"Fase"},"description":"Filtrar por fase (igualdade)"},{"name":"local","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por local (pertencimento à lista de locais do documento)","title":"Local"},"description":"Filtrar por local (pertencimento à lista de locais do documento)"},{"name":"titulo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por título (igualdade)","title":"Titulo"},"description":"Filtrar por título (igualdade)"},{"name":"status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por status (igualdade)","title":"Status"},"description":"Filtrar por status (igualdade)"},{"name":"custom_property","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Filtrar por custom properties: tokens 'chave:valor' separados por vírgula (semântica OR; máx. 30)","title":"Custom Property"},"description":"Filtrar por custom properties: tokens 'chave:valor' separados por vírgula (semântica OR; máx. 30)"},{"name":"created_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"RN-REC-01: lista apenas documentos cadastrados a partir desta data (ISO-8601). Quando informado, a ordenação passa a ser por data de cadastro, do mais recente para o mais antigo.","title":"Created From"},"description":"RN-REC-01: lista apenas documentos cadastrados a partir desta data (ISO-8601). Quando informado, a ordenação passa a ser por data de cadastro, do mais recente para o mais antigo."},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"include_all_folders","in":"query","required":false,"schema":{"type":"boolean","description":"Quando verdadeiro, lista documentos do projeto inteiro sem restringir à pasta raiz.","default":false,"title":"Include All Folders"},"description":"Quando verdadeiro, lista documentos do projeto inteiro sem restringir à pasta raiz."},{"name":"include_deleted","in":"query","required":false,"schema":{"type":"boolean","description":"Quando verdadeiro, retorna apenas documentos removidos logicamente","default":false,"title":"Include Deleted"},"description":"Quando verdadeiro, retorna apenas documentos removidos logicamente"},{"name":"liberado_only","in":"query","required":false,"schema":{"type":"boolean","description":"DEFAULT true (RN-MB-LIB-09): quando o parâmetro NÃO é enviado, a listagem retorna apenas documentos liberados (RN-MB-LIB-05). Protege o app mobile atual de receber não liberados. Clientes que precisam ver TUDO (liberados e não liberados) devem enviar liberado_only=false explicitamente.","default":true,"title":"Liberado Only"},"description":"DEFAULT true (RN-MB-LIB-09): quando o parâmetro NÃO é enviado, a listagem retorna apenas documentos liberados (RN-MB-LIB-05). Protege o app mobile atual de receber não liberados. Clientes que precisam ver TUDO (liberados e não liberados) devem enviar liberado_only=false explicitamente."},{"name":"somente_liberados","in":"query","required":false,"schema":{"type":"boolean","description":"RN-LIB-01: recorta a listagem em `liberado == True` SEM o corte de extensão `.pdf` que acompanha `liberado_only` (modo mobile). É o parâmetro dos clientes web que exibem todos os tipos de arquivo e querem ver só o que está liberado. Combinável com `created_from`. É AUTOSSUFICIENTE: quando enviado como true, prevalece sobre o default `liberado_only=true` (RN-MB-LIB-09), de modo que o chamador não precisa enviar `liberado_only=false` junto para escapar do corte de extensão.","default":false,"title":"Somente Liberados"},"description":"RN-LIB-01: recorta a listagem em `liberado == True` SEM o corte de extensão `.pdf` que acompanha `liberado_only` (modo mobile). É o parâmetro dos clientes web que exibem todos os tipos de arquivo e querem ver só o que está liberado. Combinável com `created_from`. É AUTOSSUFICIENTE: quando enviado como true, prevalece sobre o default `liberado_only=true` (RN-MB-LIB-09), de modo que o chamador não precisa enviar `liberado_only=false` junto para escapar do corte de extensão."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PaginatedResponse_PublicDocumentResponse_"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/documents/{document_id}":{"get":{"tags":["Documentos"],"summary":"Get Document","description":"Obtém detalhes de um documento.","operationId":"get_document_api_v1_companies__company_id__projects__project_id__documents__document_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"include_deleted","in":"query","required":false,"schema":{"type":"boolean","description":"Permite recuperar documento removido logicamente","default":false,"title":"Include Deleted"},"description":"Permite recuperar documento removido logicamente"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/documents/{document_id}/fields":{"post":{"tags":["Documentos"],"summary":"Save Document Fields","description":"Altera classificação do documento (título, disciplina, fase, local).\n\nVariante POST do PUT de metadados (RN-API-48/59): a API pública não admite\nPUT. Disciplina, fase e local têm de existir na taxonomia efetiva do\nprojeto (`GET .../config/catalog-taxonomy`); o service grava o rótulo, o\nmesmo valor que o app usa. O PUT interno continua no app web.","operationId":"save_document_fields_api_v1_companies__company_id__projects__project_id__documents__document_id__fields_post","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DocumentPublicClassificationUpdate"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDocumentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/documents/{document_id}/versions":{"get":{"tags":["Documentos"],"summary":"List Document Versions","description":"Lista todas as versões de um documento, marcando as ocultas (RN-STA-16).\n\nRN-STA-16 entrou de forma ADITIVA: o corpo segue sendo um ARRAY CRU e cada\nitem ganhou `hidden`. Cliente antigo continua iterando no corpo como sempre.","operationId":"list_document_versions_api_v1_companies__company_id__projects__project_id__documents__document_id__versions_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicDocumentVersionResponse"},"title":"Response List Document Versions Api V1 Companies  Company Id  Projects  Project Id  Documents  Document Id  Versions Get Pub"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/documents/{document_id}/download":{"get":{"tags":["Documentos"],"summary":"Generate Download Url","description":"Retorna URL assinada para download do documento.","operationId":"generate_download_url_api_v1_companies__company_id__projects__project_id__documents__document_id__download_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"document_id","in":"path","required":true,"schema":{"type":"string","title":"Document Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"version_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Versão específica para download (None ou vazio = versão atual)","title":"Version Id"},"description":"Versão específica para download (None ou vazio = versão atual)"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicDocumentDownloadResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bcf/2.1/projects/{project_id}/topics":{"get":{"tags":["BCF 2.1 - Topics"],"summary":"List Topics","description":"Lista topicos BCF de um projeto com contrato paginado.","operationId":"list_topics_api_v1_bcf_2_1_projects__project_id__topics_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"topic_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topic Status"}},{"name":"topic_number","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topic Number"}},{"name":"assigned_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"}},{"name":"topic_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topic Type"}},{"name":"creation_author","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Creation Author"}},{"name":"priority","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority"}},{"name":"stage","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"}},{"name":"labels","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Labels"}},{"name":"related_assignees","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Related Assignees"}},{"name":"involving_user","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Involving User"}},{"name":"overdue","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Overdue"}},{"name":"unassigned","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Unassigned"}},{"name":"dimension","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/BcfTopicDimension"},{"type":"null"}],"title":"Dimension"}},{"name":"due_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date From"}},{"name":"due_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date To"}},{"name":"creation_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Creation Date From"}},{"name":"creation_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Creation Date To"}},{"name":"modified_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Modified Date From"}},{"name":"modified_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Modified Date To"}},{"name":"document_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Ids"}},{"name":"header_file_references","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Header File References"}},{"name":"extra_fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extra Fields"}},{"name":"extra_fields_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extra Fields From"}},{"name":"extra_fields_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extra Fields To"}},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/BcfTopicListSortOrder"},{"type":"null"}],"title":"Sort Order"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicBcfTopicListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bcf/2.1/projects/{project_id}/topics/{topic_id}":{"get":{"tags":["BCF 2.1 - Topics"],"summary":"Get Topic","description":"Obtém detalhes de um topico BCF.","operationId":"get_topic_api_v1_bcf_2_1_projects__project_id__topics__topic_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicBcfTopicResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bcf/2.1/projects/{project_id}/topics/{topic_id}/viewpoints":{"get":{"tags":["BCF 2.1 - Viewpoints"],"summary":"List Viewpoints","description":"Lista viewpoints de um topico BCF.","operationId":"list_viewpoints_api_v1_bcf_2_1_projects__project_id__topics__topic_id__viewpoints_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicBcfViewpointResponse"},"title":"Response List Viewpoints Api V1 Bcf 2 1 Projects  Project Id  Topics  Topic Id  Viewpoints Get Pub"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bcf/2.1/projects/{project_id}/topics/{topic_id}/viewpoints/{viewpoint_id}":{"get":{"tags":["BCF 2.1 - Viewpoints"],"summary":"Get Viewpoint","description":"Obtém um viewpoint BCF por ID.","operationId":"get_viewpoint_api_v1_bcf_2_1_projects__project_id__topics__topic_id__viewpoints__viewpoint_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}},{"name":"viewpoint_id","in":"path","required":true,"schema":{"type":"string","title":"Viewpoint Id"}},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicBcfViewpointResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bcf/2.1/projects/{project_id}/topics/{topic_id}/comments":{"get":{"tags":["BCF 2.1 - Comments"],"summary":"List Comments","description":"Lista comments de um topic BCF.\n\nPermissao: owner, editor, viewer, collaborator.","operationId":"list_comments_api_v1_bcf_2_1_projects__project_id__topics__topic_id__comments_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicBcfCommentResponse"},"title":"Response List Comments Api V1 Bcf 2 1 Projects  Project Id  Topics  Topic Id  Comments Get Pub"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bcf/2.1/projects/{project_id}/topics/{topic_id}/comments/{comment_id}":{"get":{"tags":["BCF 2.1 - Comments"],"summary":"Get Comment","description":"Obtem um comment BCF por ID.\n\nPermissao: owner, editor, viewer, collaborator.","operationId":"get_comment_api_v1_bcf_2_1_projects__project_id__topics__topic_id__comments__comment_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}},{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"company_id","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicBcfCommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bcf/2.1/companies/{company_id}/projects/{project_id}/topics":{"get":{"tags":["BCF 2.1 - Topics"],"summary":"List Topics","description":"Lista topicos BCF de um projeto com contrato paginado.","operationId":"list_topics_api_v1_bcf_2_1_companies__company_id__projects__project_id__topics_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"topic_status","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topic Status"}},{"name":"topic_number","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topic Number"}},{"name":"assigned_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"}},{"name":"topic_type","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topic Type"}},{"name":"creation_author","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Creation Author"}},{"name":"priority","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority"}},{"name":"stage","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"}},{"name":"labels","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Labels"}},{"name":"related_assignees","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Related Assignees"}},{"name":"involving_user","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Involving User"}},{"name":"overdue","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Overdue"}},{"name":"unassigned","in":"query","required":false,"schema":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Unassigned"}},{"name":"dimension","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/BcfTopicDimension"},{"type":"null"}],"title":"Dimension"}},{"name":"due_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date From"}},{"name":"due_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date To"}},{"name":"creation_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Creation Date From"}},{"name":"creation_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Creation Date To"}},{"name":"modified_date_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Modified Date From"}},{"name":"modified_date_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Modified Date To"}},{"name":"document_ids","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Document Ids"}},{"name":"header_file_references","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Header File References"}},{"name":"extra_fields","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extra Fields"}},{"name":"extra_fields_from","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extra Fields From"}},{"name":"extra_fields_to","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extra Fields To"}},{"name":"sort_by","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Sort By"}},{"name":"sort_order","in":"query","required":false,"schema":{"anyOf":[{"$ref":"#/components/schemas/BcfTopicListSortOrder"},{"type":"null"}],"title":"Sort Order"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":50,"title":"Limit"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicBcfTopicListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bcf/2.1/companies/{company_id}/projects/{project_id}/topics/{topic_id}":{"get":{"tags":["BCF 2.1 - Topics"],"summary":"Get Topic","description":"Obtém detalhes de um topico BCF.","operationId":"get_topic_api_v1_bcf_2_1_companies__company_id__projects__project_id__topics__topic_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicBcfTopicResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bcf/2.1/companies/{company_id}/projects/{project_id}/topics/{topic_id}/viewpoints":{"get":{"tags":["BCF 2.1 - Viewpoints"],"summary":"List Viewpoints","description":"Lista viewpoints de um topico BCF.","operationId":"list_viewpoints_api_v1_bcf_2_1_companies__company_id__projects__project_id__topics__topic_id__viewpoints_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicBcfViewpointResponse"},"title":"Response List Viewpoints Api V1 Bcf 2 1 Companies  Company Id  Projects  Project Id  Topics  Topic Id  Viewpoints Get Pub"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bcf/2.1/companies/{company_id}/projects/{project_id}/topics/{topic_id}/viewpoints/{viewpoint_id}":{"get":{"tags":["BCF 2.1 - Viewpoints"],"summary":"Get Viewpoint","description":"Obtém um viewpoint BCF por ID.","operationId":"get_viewpoint_api_v1_bcf_2_1_companies__company_id__projects__project_id__topics__topic_id__viewpoints__viewpoint_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}},{"name":"viewpoint_id","in":"path","required":true,"schema":{"type":"string","title":"Viewpoint Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicBcfViewpointResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bcf/2.1/companies/{company_id}/projects/{project_id}/topics/{topic_id}/comments":{"get":{"tags":["BCF 2.1 - Comments"],"summary":"List Comments","description":"Lista comments de um topic BCF.\n\nPermissao: owner, editor, viewer, collaborator.","operationId":"list_comments_api_v1_bcf_2_1_companies__company_id__projects__project_id__topics__topic_id__comments_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicBcfCommentResponse"},"title":"Response List Comments Api V1 Bcf 2 1 Companies  Company Id  Projects  Project Id  Topics  Topic Id  Comments Get Pub"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/bcf/2.1/companies/{company_id}/projects/{project_id}/topics/{topic_id}/comments/{comment_id}":{"get":{"tags":["BCF 2.1 - Comments"],"summary":"Get Comment","description":"Obtem um comment BCF por ID.\n\nPermissao: owner, editor, viewer, collaborator.","operationId":"get_comment_api_v1_bcf_2_1_companies__company_id__projects__project_id__topics__topic_id__comments__comment_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"topic_id","in":"path","required":true,"schema":{"type":"string","title":"Topic Id"}},{"name":"comment_id","in":"path","required":true,"schema":{"type":"string","title":"Comment Id"}},{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicBcfCommentResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/schedules":{"get":{"tags":["Cronograma"],"summary":"List Schedules","description":"Lista todos os schedules não deletados de um projeto.","operationId":"list_schedules_api_v1_companies__company_id__projects__project_id__schedules_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"include_templates","in":"query","required":false,"schema":{"type":"boolean","description":"Quando true, inclui cronogramas-template (is_template) na listagem. Usado pelo seletor de cronograma do vínculo de atividades/diretrizes (enviar para tarefas), que pode mirar templates. A lista principal de cronogramas do projeto mantém o default false (RN-CT-13).","default":false,"title":"Include Templates"},"description":"Quando true, inclui cronogramas-template (is_template) na listagem. Usado pelo seletor de cronograma do vínculo de atividades/diretrizes (enviar para tarefas), que pode mirar templates. A lista principal de cronogramas do projeto mantém o default false (RN-CT-13)."}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicScheduleSummary"},"title":"Response List Schedules Api V1 Companies  Company Id  Projects  Project Id  Schedules Get Pub"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/schedules/{schedule_id}":{"get":{"tags":["Cronograma"],"summary":"Get Schedule","description":"Retorna a hidratação completa do schedule (schedule + tasks + configs + lock + warnings).","operationId":"get_schedule_api_v1_companies__company_id__projects__project_id__schedules__schedule_id__get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicScheduleHydrationResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/schedules/{schedule_id}/tasks/filter":{"get":{"tags":["Cronograma — Tasks"],"summary":"Filter Tasks","description":"Filtra tasks do schedule por valor exato de uma coluna (Firestore).\n\nColunas canônicas → query nativa (`.where`/`array_contains`); customizadas →\n`column_values_flat`/`array_contains` (RN-B55). Requer leitura.","operationId":"filter_tasks_api_v1_companies__company_id__projects__project_id__schedules__schedule_id__tasks_filter_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"schedule_id","in":"path","required":true,"schema":{"type":"string","title":"Schedule Id"}},{"name":"column_id","in":"query","required":true,"schema":{"type":"string","maxLength":200,"description":"ID da coluna canônica (campo nativo) ou customizada (status/lista/pessoa)","title":"Column Id"},"description":"ID da coluna canônica (campo nativo) ou customizada (status/lista/pessoa)"},{"name":"value","in":"query","required":true,"schema":{"type":"string","maxLength":200,"description":"Valor exato a filtrar","title":"Value"},"description":"Valor exato a filtrar"}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"array","items":{"$ref":"#/components/schemas/PublicScheduleTaskResponse"},"title":"Response Filter Tasks Api V1 Companies  Company Id  Projects  Project Id  Schedules  Schedule Id  Tasks Filter Get Pub"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/technical-guidelines":{"get":{"tags":["Diretrizes Técnicas"],"summary":"Listar Diretrizes Do Projeto","description":"C8 — cópias do projeto com flag `desatualizada` (RN-DT-04/07), com\nfiltros nativos no Firestore (RN-DT-11): `search` = prefixo do número,\n`disciplina`/`fase`/`fluxo`/`atendimento` por igualdade e `tag` por\narray_contains.","operationId":"listar_diretrizes_do_projeto_api_v1_companies__company_id__projects__project_id__technical_guidelines_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}},{"name":"search","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Search"}},{"name":"disciplina","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disciplina"}},{"name":"fase","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fase"}},{"name":"fluxo","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fluxo"}},{"name":"atendimento","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Atendimento"}},{"name":"tag","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tag"}},{"name":"cursor","in":"query","required":false,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":500,"minimum":1,"default":200,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProjectGuidelineListResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}},"post":{"tags":["Diretrizes Técnicas"],"summary":"Criar Diretriz Local","description":"A3 — cria uma diretriz LOCAL do projeto (sem origem na empresa);\nowner/editor do projeto. Número sugerido LOC-NNN quando vazio.","operationId":"criar_diretriz_local_api_v1_companies__company_id__projects__project_id__technical_guidelines_post","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TechnicalGuidelineCreate"}}}},"responses":{"201":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProjectGuidelineResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/v1/companies/{company_id}/projects/{project_id}/config/catalog-taxonomy":{"get":{"tags":["Configurações — Catálogo"],"summary":"Obter Taxonomia Projeto","description":"RN-CFG-02: config efetiva do projeto (própria ou herdada da empresa).\n\nConta de serviço (RN19) lê sem papel de projeto, pelo mecanismo que o service\njá expõe. É indispensável para o fluxo GET→PUT da sincronização: o `if_match`\ndo PUT é o `updated_at` desta resposta, então barrar a leitura tornaria a\nescrita inalcançável. Um token da API pública NUNCA chega aqui como serviço —\n`public_auth` carimba `is_service=False` por construção.","operationId":"obter_taxonomia_projeto_api_v1_companies__company_id__projects__project_id__config_catalog_taxonomy_get","security":[{"ChaveDeApi":[]}],"parameters":[{"name":"company_id","in":"path","required":true,"schema":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Company Id"}},{"name":"project_id","in":"path","required":true,"schema":{"type":"string","title":"Project Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"$ref":"#/components/schemas/PublicProjectCatalogTaxonomyResponse"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"BcfTopicDimension":{"type":"string","enum":["2d","3d"],"title":"BcfTopicDimension","description":"Dimensao do topico do ponto de vista do arquivo vinculado (RN-BCF-147).\n\nRecorte dos chips \"2D\"/\"3D\" da listagem. O que decide e o ARQUIVO do\ncabecalho BCF: modelo 3D no MakePro e sempre IFC/IFCZIP. Topico SEM arquivo\nconta como 2D — decisao de produto, nao ha terceiro estado."},"BcfTopicListSortOrder":{"type":"string","enum":["asc","desc"],"title":"BcfTopicListSortOrder","description":"Direcoes permitidas para ordenacao da listagem de topicos."},"DocumentPublicClassificationUpdate":{"properties":{"titulo":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Titulo"},"disciplina":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Disciplina"},"fase":{"anyOf":[{"type":"string","maxLength":255},{"type":"null"}],"title":"Fase"},"local":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Local","description":"Lista de locais da taxonomia; None omite, lista substitui"}},"additionalProperties":false,"type":"object","title":"DocumentPublicClassificationUpdate","description":"Pedido público de classificação do GED (RN-API-59).\n\nSó os campos que o integrador/MCP podem gravar: título livre e\ndisciplina/fase/local tomados da taxonomia efetiva do projeto\n(`GET .../config/catalog-taxonomy`). `folder_id`, nome, status, travas e\nidentidade Monday ficam de fora — `extra='forbid'` recusa o resto."},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"MeetingAttachmentConfirmRequest":{"properties":{"storage_key":{"type":"string","minLength":1,"title":"Storage Key"},"filename":{"type":"string","maxLength":300,"minLength":1,"title":"Filename"},"content_type":{"type":"string","minLength":1,"title":"Content Type"},"size_bytes":{"type":"integer","minimum":0.0,"title":"Size Bytes"}},"additionalProperties":false,"type":"object","required":["storage_key","filename","content_type","size_bytes"],"title":"MeetingAttachmentConfirmRequest","description":"Confirmação de upload concluído de anexo (RN-REU-06/07)."},"MeetingAttachmentUploadRequest":{"properties":{"filename":{"type":"string","maxLength":300,"minLength":1,"title":"Filename"},"content_type":{"type":"string","minLength":1,"title":"Content Type"},"size_bytes":{"type":"integer","minimum":0.0,"title":"Size Bytes"}},"additionalProperties":false,"type":"object","required":["filename","content_type","size_bytes"],"title":"MeetingAttachmentUploadRequest","description":"Pedido de URL assinada para upload de anexo (RN-REU-06)."},"MeetingCreate":{"properties":{"assunto":{"type":"string","maxLength":300,"minLength":1,"title":"Assunto"},"data":{"type":"string","title":"Data","description":"Data da reunião (ISO date YYYY-MM-DD)"},"hora_inicio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hora Inicio","description":"HH:MM"},"hora_fim":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hora Fim","description":"HH:MM"},"local":{"anyOf":[{"type":"string","maxLength":500},{"type":"null"}],"title":"Local"},"guests":{"items":{"type":"string","format":"email"},"type":"array","title":"Guests"},"status":{"$ref":"#/components/schemas/MeetingStatus","default":"agendada"},"restricted":{"type":"boolean","title":"Restricted","default":false},"allowed_users":{"items":{"type":"string"},"type":"array","title":"Allowed Users"},"content_hidden":{"type":"boolean","title":"Content Hidden","default":false},"pendencies":{"items":{"$ref":"#/components/schemas/MeetingPendencyInput"},"type":"array","title":"Pendencies"}},"additionalProperties":false,"type":"object","required":["assunto","data"],"title":"MeetingCreate","description":"Schema de criação de reunião (RF-REU-01).\n\nFolha de escrita: herda `StrictModel` (forbid + strip) sobre `MeetingBase`\ntolerante, fechando mass-assignment no topo sem endurecer o read-path."},"MeetingNotesPayload":{"properties":{"html":{"type":"string","title":"Html","description":"Conteúdo HTML das anotações","default":""}},"additionalProperties":false,"type":"object","title":"MeetingNotesPayload","description":"Payload de gravação das anotações livres (RN-REU-05)."},"MeetingPendencyInput":{"properties":{"texto":{"type":"string","maxLength":2000,"minLength":1,"title":"Texto"},"responsavel_email":{"anyOf":[{"type":"string","format":"email"},{"type":"null"}],"title":"Responsavel Email"},"prazo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prazo","description":"Prazo ISO date YYYY-MM-DD"},"concluida":{"type":"boolean","title":"Concluida","default":false}},"type":"object","required":["texto"],"title":"MeetingPendencyInput","description":"Payload de criação/edição de uma pendência (RN-REU-08)."},"MeetingStatus":{"type":"string","enum":["agendada","realizada","com_pendencias","cancelada"],"title":"MeetingStatus","description":"Status canônico de uma reunião de projeto (RN-REU-03).\n\nValores permitidos e imutáveis do domínio Reuniões. O default na criação é\n``agendada``; o backend rejeita qualquer valor fora deste conjunto."},"PaginatedResponse_PublicCompanyResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PublicCompanyResponse"},"type":"array","title":"Items","description":"Lista de itens da página atual"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor","description":"Cursor para próxima página"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total de itens (se disponível)"}},"type":"object","required":["items"],"title":"PaginatedResponse[PublicCompanyResponse]","example":{"cursor":"eyJpZCI6ImRvY18xMjMifQ==","items":[],"total":150}},"PaginatedResponse_PublicDocumentResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PublicDocumentResponse"},"type":"array","title":"Items","description":"Lista de itens da página atual"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor","description":"Cursor para próxima página"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total de itens (se disponível)"}},"type":"object","required":["items"],"title":"PaginatedResponse[PublicDocumentResponse]","example":{"cursor":"eyJpZCI6ImRvY18xMjMifQ==","items":[],"total":150}},"PaginatedResponse_PublicFolderResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PublicFolderResponse"},"type":"array","title":"Items","description":"Lista de itens da página atual"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor","description":"Cursor para próxima página"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total de itens (se disponível)"}},"type":"object","required":["items"],"title":"PaginatedResponse[PublicFolderResponse]","example":{"cursor":"eyJpZCI6ImRvY18xMjMifQ==","items":[],"total":150}},"PaginatedResponse_PublicProjectResponse_":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PublicProjectResponse"},"type":"array","title":"Items","description":"Lista de itens da página atual"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor","description":"Cursor para próxima página"},"total":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Total","description":"Total de itens (se disponível)"}},"type":"object","required":["items"],"title":"PaginatedResponse[PublicProjectResponse]","example":{"cursor":"eyJpZCI6ImRvY18xMjMifQ==","items":[],"total":150}},"PublicBcfCommentResponse":{"properties":{"id":{"type":"string","title":"Id"},"topic_id":{"type":"string","title":"Topic Id"},"guid":{"type":"string","title":"Guid"},"date":{"type":"string","format":"date-time","title":"Date"},"author":{"type":"string","title":"Author"},"comment":{"type":"string","title":"Comment"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"viewpoint_guid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Viewpoint Guid"},"modified_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Modified Date"},"modified_author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modified Author"}},"type":"object","required":["id","topic_id","guid","date","author","comment"],"title":"PublicBcfCommentResponse","description":"Comentário BCF 2.1 em texto puro — sem `body_html` (rich text interno)."},"PublicBcfTopicListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PublicBcfTopicResponse"},"type":"array","title":"Items"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"},"total":{"type":"integer","minimum":0.0,"title":"Total"}},"type":"object","required":["items","total"],"title":"PublicBcfTopicListResponse","description":"Envelope paginado da listagem pública de tópicos (mesma raiz-objeto)."},"PublicBcfTopicResponse":{"properties":{"id":{"type":"string","title":"Id"},"project_id":{"type":"string","title":"Project Id"},"guid":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Guid"},"title":{"type":"string","title":"Title"},"topic_number":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topic Number"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"topic_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topic Type"},"topic_status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topic Status"},"priority":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Priority"},"index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Index"},"labels":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Labels"},"due_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Due Date"},"assigned_to":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Assigned To"},"related_assignees":{"anyOf":[{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Related Assignees"},"stage":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Stage"},"makepro_extra_fields":{"items":{"$ref":"#/components/schemas/PublicTopicExtraField"},"type":"array","title":"Makepro Extra Fields"},"header_file_reference_ids":{"items":{"type":"string"},"type":"array","title":"Header File Reference Ids"},"creation_author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Creation Author"},"creation_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Creation Date"},"modified_author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Modified Author"},"modified_date":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Modified Date"}},"type":"object","required":["id","project_id","title"],"title":"PublicBcfTopicResponse","description":"Tópico BCF 2.1 + identidade MakePro, sem sync Monday nem payload de UI."},"PublicBcfViewpointResponse":{"properties":{"id":{"type":"string","title":"Id"},"topic_id":{"type":"string","title":"Topic Id"},"guid":{"type":"string","title":"Guid"},"index":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Index"},"orthogonal_camera":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Orthogonal Camera"},"perspective_camera":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Perspective Camera"},"components":{"anyOf":[{"type":"object"},{"type":"null"}],"title":"Components"},"lines":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Lines"},"clipping_planes":{"anyOf":[{"items":{},"type":"array"},{"type":"null"}],"title":"Clipping Planes"},"snapshot_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Snapshot Url"}},"type":"object","required":["id","topic_id","guid"],"title":"PublicBcfViewpointResponse","description":"Viewpoint BCF: câmeras/componentes como dict opaco, sem snapshot bruto.\n\nCâmeras e visinfo ficam `Dict`/`Any` para não importar os schemas ricos de\nVisualizationInfo (G-API-PUB-01)."},"PublicColumnOption":{"properties":{"id":{"type":"string","title":"Id"},"label":{"type":"string","title":"Label"}},"type":"object","required":["id","label"],"title":"PublicColumnOption","description":"Opção de coluna de status/lista (`id` + `label`)."},"PublicCompanyResponse":{"properties":{"id":{"type":"string","title":"Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"created_at":{"type":"string","format":"date-time","title":"Created At"}},"type":"object","required":["id","name","created_at"],"title":"PublicCompanyResponse","description":"Empresa visível na descoberta pública (RN-API-44/46/47).\n\nSem `license`, `settings`, `owner_id`, concessão comercial, Monday nem\nlogo — dados de tenant/produto, não de integração."},"PublicDocumentDownloadResponse":{"properties":{"download_url":{"type":"string","title":"Download Url"},"expires_at":{"type":"string","format":"date-time","title":"Expires At"},"file_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"File Name"}},"type":"object","required":["download_url","expires_at"],"title":"PublicDocumentDownloadResponse","description":"Link assinado de download — só o que o integrador precisa para baixar.\n\nRN-API-47: `storage_key` (caminho GCS) não sai na API pública."},"PublicDocumentResponse":{"properties":{"id":{"type":"string","title":"Id"},"project_id":{"type":"string","title":"Project Id"},"name":{"type":"string","title":"Name"},"titulo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Titulo"},"disciplina":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disciplina"},"fase":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fase"},"local":{"items":{"type":"string"},"type":"array","title":"Local"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"folder_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Folder Id"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"author":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Author"},"revision":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Revision"},"status":{"type":"string","title":"Status"},"status_label":{"type":"string","title":"Status Label","default":""},"extensao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Extensao"},"current_version_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Current Version Id"},"version_count":{"type":"integer","title":"Version Count","default":0},"size":{"anyOf":[{"type":"integer"},{"type":"null"}],"title":"Size"},"has_newer_versions":{"anyOf":[{"type":"boolean"},{"type":"null"}],"title":"Has Newer Versions"},"custom_properties":{"type":"object","title":"Custom Properties"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","project_id","name","status","created_at","updated_at"],"title":"PublicDocumentResponse","description":"Documento do GED para classificação e identificação, sem vetores de storage."},"PublicDocumentStatusEntry":{"properties":{"value":{"type":"string","title":"Value"},"label":{"type":"string","title":"Label"},"color":{"type":"string","title":"Color"}},"type":"object","required":["value","label","color"],"title":"PublicDocumentStatusEntry","description":"Status de documento para o integrador: slug, rótulo e cor — sem RBAC."},"PublicDocumentVersionResponse":{"properties":{"id":{"type":"string","title":"Id"},"document_id":{"type":"string","title":"Document Id"},"number":{"type":"integer","title":"Number"},"file_name":{"type":"string","title":"File Name"},"mime":{"type":"string","title":"Mime"},"size":{"type":"integer","title":"Size"},"status":{"type":"string","title":"Status"},"status_label":{"type":"string","title":"Status Label","default":""},"notes":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Notes"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"hidden":{"type":"boolean","title":"Hidden","default":false}},"type":"object","required":["id","document_id","number","file_name","mime","size","status","created_at"],"title":"PublicDocumentVersionResponse","description":"Versão de arquivo sem `storage_key`/frag/sidecar (vetor de acesso ao GCS).\n\n`hidden` atravessa de propósito (RN-STA-16 / D-20260903-1626): a listagem\npública devolve a versão oculta no array cru, marcada, para o integrador\nnão tratá-la como corrente. O download dela continua 404 no service."},"PublicFolderResponse":{"properties":{"id":{"type":"string","title":"Id"},"project_id":{"type":"string","title":"Project Id"},"name":{"type":"string","title":"Name"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"path":{"type":"string","title":"Path"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"order":{"type":"integer","title":"Order","default":0},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","project_id","name","path","created_at","updated_at"],"title":"PublicFolderResponse","description":"Pasta da árvore do GED, sem ACL Monday/hidden/allowed_*."},"PublicMeetingAttachmentDownloadResponse":{"properties":{"download_url":{"type":"string","title":"Download Url"},"filename":{"type":"string","title":"Filename"},"expires_in_seconds":{"type":"integer","title":"Expires In Seconds"}},"type":"object","required":["download_url","filename","expires_in_seconds"],"title":"PublicMeetingAttachmentDownloadResponse","description":"Link assinado de download de ata/transcrição — sem `storage_key`."},"PublicMeetingAttachmentMeta":{"properties":{"filename":{"type":"string","title":"Filename"},"content_type":{"type":"string","title":"Content Type"},"size_bytes":{"type":"integer","title":"Size Bytes","default":0},"uploaded_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Uploaded At"}},"type":"object","required":["filename","content_type"],"title":"PublicMeetingAttachmentMeta","description":"Metadados de ata/transcrição — SEM `storage_key` (vetor de acesso ao GCS).\n\nRN-API-47 / RO-01: o caminho interno do GCS não é contrato de integração; o\ndownload é por endpoint dedicado (`.../attachments/{tipo}/download-url`)."},"PublicMeetingAttachmentUploadResponse":{"properties":{"upload_url":{"type":"string","title":"Upload Url"},"upload_headers":{"additionalProperties":{"type":"string"},"type":"object","title":"Upload Headers"},"storage_key":{"type":"string","title":"Storage Key"},"expires_in_seconds":{"type":"integer","title":"Expires In Seconds"}},"type":"object","required":["upload_url","upload_headers","storage_key","expires_in_seconds"],"title":"PublicMeetingAttachmentUploadResponse","description":"Link assinado de upload de ata/transcrição (passo 1 de 2 — RN-API-49).\n\nAqui o `storage_key` É publicado, ao contrário de todo o resto da API pública\n(RN-API-47): ele identifica o objeto que o PRÓPRIO chamador vai gravar e é\nentrada obrigatória do `/confirm` (que ainda valida o prefixo canônico,\nRN-REU-18 — o valor não vira acesso a nada que o chamador já não tenha\nacabado de enviar). Continua sem qualquer caminho de objeto de terceiros.\n\nRN-UP-05: `upload_headers` traz os cabeçalhos que a assinatura EXIGE no PUT.\nPublicá-los não amplia acesso — descreve o envio que o próprio chamador acabou\nde pedir. Sem eles o integrador não teria como reproduzir a assinatura e todo\nupload cairia em 403, que é o oposto de diagnosticável (RO-06/RO-07). É esta\npublicação que permite a ata ser create-only (RN-UP-04) na API pública, igual\nao app web."},"PublicMeetingNotesResponse":{"properties":{"html":{"type":"string","title":"Html","default":""},"notes_updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Notes Updated At"},"notes_size_bytes":{"type":"integer","title":"Notes Size Bytes","default":0}},"type":"object","title":"PublicMeetingNotesResponse","description":"Anotações livres da reunião — só o conteúdo e seus carimbos (RN-REU-05)."},"PublicMeetingPendency":{"properties":{"id":{"type":"string","title":"Id"},"texto":{"type":"string","title":"Texto"},"responsavel_email":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Responsavel Email"},"prazo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Prazo"},"concluida":{"type":"boolean","title":"Concluida","default":false},"linked_type":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linked Type"},"linked_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linked Id"},"linked_schedule_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Linked Schedule Id"}},"type":"object","required":["id","texto"],"title":"PublicMeetingPendency","description":"Pendência da reunião e o vínculo de conversão (tarefa/tópico)."},"PublicMeetingResponse":{"properties":{"id":{"type":"string","title":"Id"},"company_id":{"type":"string","title":"Company Id"},"project_id":{"type":"string","title":"Project Id"},"assunto":{"type":"string","title":"Assunto"},"data":{"type":"string","title":"Data"},"hora_inicio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hora Inicio"},"hora_fim":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Hora Fim"},"local":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Local"},"status":{"type":"string","title":"Status"},"organizer_email":{"type":"string","title":"Organizer Email"},"organizer_name":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Organizer Name"},"guests":{"items":{"type":"string"},"type":"array","title":"Guests"},"restricted":{"type":"boolean","title":"Restricted","default":false},"content_locked":{"type":"boolean","title":"Content Locked","default":false},"meeting_url":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Meeting Url"},"descricao_externa":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Descricao Externa"},"notes_updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Notes Updated At"},"notes_size_bytes":{"type":"integer","title":"Notes Size Bytes","default":0},"ata":{"anyOf":[{"$ref":"#/components/schemas/PublicMeetingAttachmentMeta"},{"type":"null"}]},"transcricao":{"anyOf":[{"$ref":"#/components/schemas/PublicMeetingAttachmentMeta"},{"type":"null"}]},"pendencies":{"items":{"$ref":"#/components/schemas/PublicMeetingPendency"},"type":"array","title":"Pendencies"},"created_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Created At"},"updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Updated At"}},"type":"object","required":["id","company_id","project_id","assunto","data","status","organizer_email"],"title":"PublicMeetingResponse","description":"Reunião para o integrador — a mesma visibilidade RBAC do app (RN-REU-22/24).\n\nA saída já vem filtrada pelo handler interno: reunião restrita inacessível é\n404 e, sob `content_locked` (RN-REU-11), o corpo (pendências/anexos/ponteiros\nde notas) é omitido antes de chegar aqui.\n\nNÃO expõe (decisão do usuário, RO-01): `organizer_id` (id interno; o e-mail e\no nome bastam), `allowed_users` (ids internos da visibilidade já aplicada no\nservidor), `content_hidden` (flag de configuração), `external_links` (links do\nprovedor externo), `notes_storage_key` e o `storage_key` dos anexos."},"PublicPredecessorLink":{"properties":{"predecessor_id":{"type":"string","title":"Predecessor Id"},"type":{"type":"string","title":"Type","default":"FS"},"lag":{"type":"integer","title":"Lag","default":0}},"type":"object","required":["predecessor_id"],"title":"PublicPredecessorLink","description":"Dependência tipada (FS/SS/FF/SF + lag) — ids e forma, sem validação de escrita."},"PublicProjectCatalogTaxonomyResponse":{"properties":{"disciplinas":{"items":{"type":"string"},"type":"array","title":"Disciplinas"},"fases":{"items":{"type":"string"},"type":"array","title":"Fases"},"locais":{"items":{"type":"string"},"type":"array","title":"Locais"},"fluxos":{"items":{"type":"string"},"type":"array","title":"Fluxos"},"grupos":{"items":{"type":"string"},"type":"array","title":"Grupos"},"niveis_informacao":{"items":{"type":"string"},"type":"array","title":"Niveis Informacao"},"disciplinas_entries":{"items":{"$ref":"#/components/schemas/PublicTaxonomyEntry"},"type":"array","title":"Disciplinas Entries"},"fases_entries":{"items":{"$ref":"#/components/schemas/PublicTaxonomyEntry"},"type":"array","title":"Fases Entries"},"locais_entries":{"items":{"$ref":"#/components/schemas/PublicTaxonomyEntry"},"type":"array","title":"Locais Entries"},"fluxos_entries":{"items":{"$ref":"#/components/schemas/PublicTaxonomyEntry"},"type":"array","title":"Fluxos Entries"},"grupos_entries":{"items":{"$ref":"#/components/schemas/PublicTaxonomyEntry"},"type":"array","title":"Grupos Entries"},"niveis_informacao_entries":{"items":{"$ref":"#/components/schemas/PublicTaxonomyEntry"},"type":"array","title":"Niveis Informacao Entries"},"status_documento":{"items":{"$ref":"#/components/schemas/PublicDocumentStatusEntry"},"type":"array","title":"Status Documento"}},"type":"object","title":"PublicProjectCatalogTaxonomyResponse","description":"Padrões de classificação do projeto, sem If-Match, herança nem fluxos de valor."},"PublicProjectGuidelineListResponse":{"properties":{"items":{"items":{"$ref":"#/components/schemas/PublicProjectGuidelineResponse"},"type":"array","title":"Items"},"cursor":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Cursor"},"total":{"type":"integer","minimum":0.0,"title":"Total"}},"type":"object","required":["items","total"],"title":"PublicProjectGuidelineListResponse","description":"Envelope paginado da listagem pública de diretrizes (mesma raiz-objeto)."},"PublicProjectGuidelineResponse":{"properties":{"id":{"type":"string","title":"Id"},"company_id":{"type":"string","title":"Company Id"},"project_id":{"type":"string","title":"Project Id"},"source_guideline_id":{"type":"string","title":"Source Guideline Id","default":""},"versao_origem":{"type":"integer","title":"Versao Origem","default":1},"numero":{"type":"string","title":"Numero"},"nome":{"type":"string","title":"Nome"},"descricao_html":{"type":"string","title":"Descricao Html","default":""},"disciplina":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disciplina"},"fase":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fase"},"fluxo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fluxo"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"recebida_em":{"type":"string","format":"date-time","title":"Recebida Em"},"atendimento":{"type":"string","title":"Atendimento"},"atendimento_updated_at":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Atendimento Updated At"},"topico_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Topico Id"},"local":{"type":"boolean","title":"Local","default":false},"desatualizada":{"type":"boolean","title":"Desatualizada","default":false}},"type":"object","required":["id","company_id","project_id","numero","nome","recebida_em","atendimento"],"title":"PublicProjectGuidelineResponse","description":"Diretriz do projeto (cópia do catálogo ou LOCAL) para o integrador.\n\nNÃO expõe (RO-01, D-20260908-1051): `atendimento_updated_by` (id interno de\nusuário), `referencias` (paths do bucket — a API pública não tem upload nem\ndownload de referência de diretriz) e os slugs `disciplina_value`/\n`fase_value`/`fluxo_value` (identidade interna da taxonomia)."},"PublicProjectResponse":{"properties":{"id":{"type":"string","title":"Id"},"company_id":{"type":"string","title":"Company Id"},"name":{"type":"string","title":"Name"},"description":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Description"},"tags":{"items":{"type":"string"},"type":"array","title":"Tags"},"location":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Location"},"start_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Start Date"},"end_date":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"End Date"},"status":{"type":"string","title":"Status","default":"ativo"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","company_id","name","created_at","updated_at"],"title":"PublicProjectResponse","description":"Projeto essencial para o integrador localizar e identificar a obra."},"PublicProjectStatsResponse":{"properties":{"documents_count":{"type":"integer","title":"Documents Count","default":0},"folders_count":{"type":"integer","title":"Folders Count","default":0},"storage_bytes":{"type":"integer","title":"Storage Bytes","default":0},"tasks_count":{"type":"integer","title":"Tasks Count","default":0},"topics_count":{"type":"integer","title":"Topics Count","default":0},"schedule_items_count":{"type":"integer","title":"Schedule Items Count","default":0},"last_activity":{"anyOf":[{"type":"string","format":"date-time"},{"type":"null"}],"title":"Last Activity"}},"type":"object","title":"PublicProjectStatsResponse","description":"Contagens documentadas de `get_project_stats` — sem totais internos extras."},"PublicScheduleHydrationResponse":{"properties":{"schedule":{"$ref":"#/components/schemas/PublicScheduleSummary"},"tasks":{"items":{"$ref":"#/components/schemas/PublicScheduleTaskResponse"},"type":"array","title":"Tasks"},"task_config":{"$ref":"#/components/schemas/PublicTaskConfig"}},"type":"object","required":["schedule","tasks"],"title":"PublicScheduleHydrationResponse","description":"Abertura pública de um cronograma: o cronograma, as tarefas e as colunas.\n\nSem barra lateral (`schedules`), calendário, permissões, lock, guias,\nwarnings nem principais hidratados — isso é editor web, não contrato\nde integração."},"PublicScheduleSummary":{"properties":{"id":{"type":"string","title":"Id"},"project_id":{"type":"string","title":"Project Id"},"name":{"type":"string","title":"Name"},"is_template":{"type":"boolean","title":"Is Template","default":false},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"},"task_count":{"type":"integer","title":"Task Count","default":0}},"type":"object","required":["id","project_id","name","created_at","updated_at"],"title":"PublicScheduleSummary","description":"Item da listagem de cronogramas — sem ACL, lock nem carimbos de polling."},"PublicScheduleTaskResponse":{"properties":{"id":{"type":"string","title":"Id"},"parent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Parent Id"},"order":{"type":"integer","title":"Order","default":0},"name":{"type":"string","title":"Name"},"is_milestone":{"type":"boolean","title":"Is Milestone","default":false},"progress":{"type":"integer","title":"Progress","default":0},"predecessors":{"items":{"type":"string"},"type":"array","title":"Predecessors"},"predecessor_links":{"items":{"$ref":"#/components/schemas/PublicPredecessorLink"},"type":"array","title":"Predecessor Links"},"column_values":{"items":{"$ref":"#/components/schemas/PublicTaskColumnValue"},"type":"array","title":"Column Values"},"status":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Status"},"data_inicio":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Inicio"},"data_fim":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Fim"},"data_inicio_real":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Inicio Real"},"data_termino_real":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Data Termino Real"},"responsavel":{"items":{"type":"string"},"type":"array","title":"Responsavel"},"fase":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fase"},"disciplina":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Disciplina"},"grupo":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Grupo"},"fluxo_operacional":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fluxo Operacional"},"nivel_informacao":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Nivel Informacao"},"pavimento":{"items":{"type":"string"},"type":"array","title":"Pavimento"},"created_at":{"type":"string","format":"date-time","title":"Created At"},"updated_at":{"type":"string","format":"date-time","title":"Updated At"}},"type":"object","required":["id","name","created_at","updated_at"],"title":"PublicScheduleTaskResponse","description":"Tarefa do cronograma: identidade, canônicos e colunas — sem resumos de UI."},"PublicTaskColumn":{"properties":{"id":{"type":"string","title":"Id"},"type":{"type":"string","title":"Type"},"label":{"type":"string","title":"Label"},"options":{"items":{"$ref":"#/components/schemas/PublicColumnOption"},"type":"array","title":"Options"}},"type":"object","required":["id","type","label"],"title":"PublicTaskColumn","description":"Definição de coluna visível ao integrador (sem settings/archived/pacote)."},"PublicTaskColumnValue":{"properties":{"column_id":{"type":"string","title":"Column Id"},"value":{"title":"Value"}},"type":"object","required":["column_id"],"title":"PublicTaskColumnValue","description":"Valor de coluna customizada (`column_id` + `value`)."},"PublicTaskConfig":{"properties":{"columns":{"items":{"$ref":"#/components/schemas/PublicTaskColumn"},"type":"array","title":"Columns"}},"type":"object","title":"PublicTaskConfig","description":"Schema de colunas do cronograma aberto."},"PublicTaxonomyEntry":{"properties":{"value":{"type":"string","title":"Value"},"label":{"type":"string","title":"Label"}},"type":"object","required":["value","label"],"title":"PublicTaxonomyEntry","description":"Identidade estável `value` + rótulo exibível (RN-CFG-04)."},"PublicTopicExtraField":{"properties":{"id":{"type":"string","title":"Id"},"value":{"anyOf":[{"type":"string"},{"items":{"type":"string"},"type":"array"},{"type":"null"}],"title":"Value"}},"type":"object","required":["id"],"title":"PublicTopicExtraField","description":"Valor de campo extra do tópico (`{id, value}`)."},"ReferenciaArquivo":{"properties":{"nome":{"type":"string","title":"Nome","description":"Nome original do arquivo"},"path":{"type":"string","title":"Path","description":"Caminho no bucket (Storage)"},"content_type":{"type":"string","title":"Content Type","description":"MIME type do arquivo"},"size":{"type":"integer","minimum":0.0,"title":"Size","description":"Tamanho em bytes"}},"type":"object","required":["nome","path","content_type","size"],"title":"ReferenciaArquivo","description":"RN-DT-09: referência upada (imagem ou anexo) no Firebase Storage."},"StatusCatalogoDiretriz":{"type":"string","enum":["vigente","obsoleta","nao_classificada"],"title":"StatusCatalogoDiretriz","description":"RN-DT-01: status de catálogo da diretriz na empresa."},"TechnicalGuidelineCreate":{"properties":{"numero":{"anyOf":[{"type":"string","maxLength":30},{"type":"null"}],"title":"Numero","description":"Número único na empresa; gerado sequencialmente se omitido"},"nome":{"type":"string","maxLength":300,"minLength":1,"title":"Nome"},"status":{"anyOf":[{"$ref":"#/components/schemas/StatusCatalogoDiretriz"},{"type":"null"}],"description":"Default aplicado no service: vigente (RN-DT-01)"},"disciplina":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Disciplina"},"fase":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Fase"},"fluxo":{"anyOf":[{"type":"string","maxLength":100},{"type":"null"}],"title":"Fluxo"},"tags":{"items":{"type":"string","maxLength":50},"type":"array","maxItems":30,"title":"Tags"},"descricao_html":{"type":"string","maxLength":50000,"title":"Descricao Html","default":""},"referencias":{"items":{"$ref":"#/components/schemas/ReferenciaArquivo"},"type":"array","maxItems":50,"title":"Referencias"}},"additionalProperties":false,"type":"object","required":["nome"],"title":"TechnicalGuidelineCreate","description":"C2 — criação de diretriz (RN-DT-01/02/09)."},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}},"securitySchemes":{"ChaveDeApi":{"type":"http","scheme":"bearer","description":"Chave de API da empresa (formato `mkp_...`), exibida uma única vez na emissão."}}},"security":[{"ChaveDeApi":[]}]}