Altera um contato (só os campos enviados)
Altera somente os campos enviados; os ausentes ficam como estão. Trocar tipo_pessoa
confere o documento gravado contra o tipo novo. Exige o papel Editor ou um papel com
permissão de editar Contatos.
accessTokenAuthorizationBearer <token>Access token (mda_…) obtido em POST /auth/token. Vale 1 hora.
id*integerapplication/json- body
nome?stringlength <= 200razao_social?|length <= 200tipo_pessoa?TipoPessoa"fisica""juridica"tipo_contato?TipoContato"cliente""fornecedor""ambos"categoria_id?|Categoria de contato do workspace; nulo remove. Inexistente responde 422.
documento?|CPF (pessoa física) ou CNPJ (jurídica, aceita o alfanumérico), com ou sem pontuação; validado.
email?|length <= 200telefones?array<>items <= 3endereco?|Os campos ausentes ficam vazios; nulo apaga o endereço.
status?StatusCadastroinactive: desativado no app, segue nos lançamentos antigos.
"active""inactive"O contato alterado.
application/json- response
id*integernome*stringrazao_social*string|nulltipo_pessoa*TipoPessoa"fisica""juridica"tipo_contato*TipoContato"cliente""fornecedor""ambos"status*StatusCadastroinactive: desativado no app, segue nos lançamentos antigos.
"active""inactive"categoria*|A categoria de contato (o agrupamento que a área define), não a de lançamento.
documento*|CPF ou CNPJ, só letras e números (o CNPJ pode ter letras desde 2026).
email*string|nulltelefones*array<string>Até três, como foram digitados.
endereco*|Nulo quando o contato não tem endereço nenhum.
curl -X PATCH "https://example.com/contatos/0" \ -H "Content-Type: application/json" \ -d '{}'{ "id": 9120, "nome": "Mercado Bom Preço", "razao_social": "Bom Preço Comércio de Alimentos Ltda", "tipo_pessoa": "fisica", "tipo_contato": "cliente", "status": "active", "categoria": { "id": 0, "nome": "Atacado" }, "documento": "12ABC34501DE35", "email": "string", "telefones": [ "(11) 3333-4444" ], "endereco": { "logradouro": "string", "numero": "string", "complemento": "string", "bairro": "string", "cidade": "string", "uf": "string", "cep": "string" }}Um contato GET
Contato de outro workspace, ou inexistente, responde 404.
Exclui um contato DELETE
Exclui o contato. `destino_id` leva para outro contato os lançamentos, agendas e regras que o usavam; sem destino, eles ficam sem contato. Contato com proposta comercial não é excluído (422). 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 Contatos. A exclusão é definitiva.