Altera um projeto (só os campos enviados)
Altera somente os campos enviados; os ausentes ficam como estão, e nulo em inicio, fim
ou nas metas remove o valor. Exige o papel Editor ou um papel com permissão de editar
Projetos.
accessTokenAuthorizationBearer <token>Access token (mda_…) obtido em POST /auth/token. Vale 1 hora.
id*integerapplication/json- body
nome?stringlength <= 200cor?stringHexadecimal #RRGGBB.
^#[0-9A-Fa-f]{6}$inicio?|Entre 1900 e 2100.
datefim?|Não pode ser antes do início (422).
datemeta_receita?|0 ou nulo remove a meta.
0 <= valuemeta_despesa?|Positiva; 0 ou nulo remove a meta.
0 <= valuestatus?StatusCadastroinactive: desativado no app, segue nos lançamentos antigos.
"active""inactive"O projeto alterado.
application/json- response
id*integernome*stringcor*|Hexadecimal #RRGGBB.
status*StatusCadastroinactive: desativado no app, segue nos lançamentos antigos.
"active""inactive"inicio*|datefim*|datemeta_receita*|Receita prevista para o projeto inteiro; nula quando não há meta.
meta_despesa*|Despesa prevista, positiva. O resultado previsto é meta_receita - meta_despesa.
curl -X PATCH "https://example.com/projetos/0" \ -H "Content-Type: application/json" \ -d '{}'{ "id": 512, "nome": "Obra Centro", "cor": "#A4C2F4", "status": "active", "inicio": "2026-01-15", "fim": "2026-06-30", "meta_receita": 120000, "meta_despesa": 85000.5}Um projeto GET
Projeto de outro workspace, ou inexistente, responde 404.
Exclui um projeto DELETE
Exclui o projeto. `destino_id` leva para outro projeto os lançamentos, agendas e regras que o usavam; sem destino, eles ficam sem projeto. As metas por categoria do projeto são apagadas nos dois casos. O destino deve pertencer ao mesmo workspace e ser diferente do excluído. Exige o papel **Editor** ou um papel com permissão de excluir Projetos. A exclusão é definitiva.