Solicita uma alteração para um membro titular já existente — troca de plano, troca da
empresa vinculada aos benefícios (CNPJ) e/ou correção de dados cadastrais, em uma única
requisição. A alteração vale para os benefícios titulares ativos do membro na empresa
de company-tax-id, e gera uma movimentação por benefício.
alteration-data é um mapa de campos livres: deve conter apenas chaves
conhecidas e pelo menos uma das seguintes indicações de mudança:
new-product-ids — lista dos produtos novos (troca de plano); ou o deprecated
new-product-id, com um único produto.
new-company-tax-id — troca do CNPJ vinculado aos benefícios.
um ou mais campos cadastrais (name, email, address-*, bank-*, etc.).
Casamento por tipo de benefício. Cada produto de new-product-ids substitui o
benefício do membro do mesmo tipo (health-insurance, dental-insurance,
life-insurance…). Benefício cujo tipo não aparece na lista segue com o mesmo
produto. Um produto igual ao que o benefício já tem também conta como “sem troca”.
Consulte o tipo de cada produto em product-type de GET /v1/products.
Com new-company-tax-id, todos os benefícios titulares ativos do membro na empresa vão
para o novo CNPJ. Benefício com produto do seu tipo na lista troca de plano para esse
produto. Benefício sem par continua o mesmo benefício, com o mesmo produto: só passa a ficar
vinculado ao novo CNPJ. Um new-company-tax-id igual ao company-tax-id não é troca de
CNPJ: a requisição segue as regras sem new-company-tax-id.
Na troca de CNPJ, a empresa de destino precisa oferecer o produto que cada benefício
terá lá: o da lista, para quem tem par, e o atual, para quem não tem. Se o novo CNPJ tiver
outro contrato (outros produtos), mande em new-product-ids o produto equivalente de cada
tipo de benefício. Senão, a requisição é recusada com 400 e nenhuma movimentação é gerada.
Sem new-company-tax-id, só os benefícios com par na lista trocam de plano. Os campos
cadastrais valem para todos os benefícios. Benefício sem par e sem campo cadastral não
gera movimentação; se nenhum benefício tiver o que mudar, a requisição é recusada (400).
Os campos comuns (requested-start-date, reason, documents e os campos cadastrais)
acompanham todas as movimentações.
Validações:
produto da lista que a empresa não oferece — o novo CNPJ, ou a empresa atual quando
não há troca de CNPJ (400);
na troca de CNPJ, produto atual de um benefício sem par que o novo CNPJ não oferece
(400, mesma resposta do item anterior);
dois produtos do mesmo tipo em new-product-ids (400);
produto de um tipo de que o membro não tem benefício titular ativo — isso seria uma
inclusão; use POST /v1/enrollment/inclusion/{member-tax-id} (400);
membro com mais de um benefício titular ativo do tipo de um produto da lista, sem como
saber qual trocar (409);
na troca de CNPJ, dois ou mais benefícios titulares ativos com o mesmo produto atual:
eles não podem ser transferidos na mesma requisição (409);
new-company-tax-id de empresa que você não tem permissão para movimentar (403).
new-product-id (um único produto) está deprecated: continua aceito e é tratado como
uma lista de um item. Enviar new-product-id e new-product-ids juntos dá 400.
Atenção: não repita chaves no mesmo objeto JSON. Com dois new-product-id no mesmo
alteration-data, o parser fica só com o último valor e o primeiro é descartado sem
erro. Para trocar mais de um produto, mande todos em new-product-ids.
POST
/
v1
/
enrollment
/
alteration
/
{member-tax-id}
curl --request POST \ --url https://api.pipo.health/v1/enrollment/alteration/{member-tax-id} \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "company-tax-id": "12345678000190", "alteration-data": { "new-company-tax-id": "44555666000199", "requested-start-date": "2026-12-01", "reason": "Transferência do colaborador para outra filial" }}'
Este endpoint está disponível, por enquanto, apenas no ambiente de homologação
(https://api.pipo.health). Ainda não deve ser utilizado em produção.
A alteração vale para os benefícios titulares ativos do membro na empresa de
company-tax-id e gera uma movimentação por benefício.
Troca de produtos: casamento por tipo de benefício
Envie os produtos novos em alteration-data.new-product-ids. Cada produto substitui o benefício
do membro do mesmo tipo (health-insurance, dental-insurance, life-insurance…). O tipo
de cada produto está em product-type, na listagem de produtos.
Benefício cujo tipo não aparece na lista segue com o mesmo produto.
Produto igual ao que o benefício já tem conta como “sem troca”.
No máximo um produto por tipo.
Só tipos de que o membro já tem benefício titular ativo. Para incluir um benefício de outro
tipo, use a inclusão de benefício.
O produto precisa ser oferecido pela empresa de destino: a de new-company-tax-id, ou a de
company-tax-id quando não há troca de CNPJ. Na troca de CNPJ, o produto atual dos benefícios
sem par também (veja abaixo).
Com e sem troca de CNPJ
Benefício com produto do seu tipo na lista
Benefício sem par na lista
Com new-company-tax-id
Vai para o novo CNPJ e troca de plano para o produto da lista
Vai para o novo CNPJ e continua o mesmo benefício, com o mesmo produto
Sem new-company-tax-id
Troca de plano para o produto da lista
Só muda se houver campo cadastral a corrigir
Um new-company-tax-id igual ao company-tax-id não é troca de CNPJ: vale a linha “sem
new-company-tax-id”.Os campos comuns (requested-start-date, reason, documents e os campos cadastrais)
acompanham todas as movimentações. Sem troca de CNPJ, se nenhum benefício tiver o que mudar, a
requisição é recusada com 400.
Troca de CNPJ: o novo CNPJ precisa oferecer o produto de cada benefício
Na troca de CNPJ, a empresa de destino precisa oferecer o produto que cada benefício terá lá:
o da lista, para quem tem par, e o atual, para quem não tem. Se o novo CNPJ tiver outro
contrato, com outros produtos, mande em new-product-ids o produto equivalente de cada tipo de
benefício (consulte os produtos de cada empresa na listagem de produtos).Se algum produto não for oferecido, a requisição é recusada com 400, product-ids lista os
produtos que faltam no novo CNPJ, e nenhuma movimentação é gerada.Exemplo: membro com saúde, odonto e vida, transferido de CNPJ trocando saúde e odonto.
Resultado: três movimentações, todas para o novo CNPJ. Saúde e odonto trocam de plano para os
produtos novos; vida continua o mesmo benefício, com o mesmo produto. Se o novo CNPJ não oferecer
o produto de vida atual, a requisição dá 400 com esse produto em product-ids; nesse caso, inclua
o produto de vida do novo CNPJ em new-product-ids.
new-product-id (deprecated)
new-product-id, com um único produto, continua aceito e é tratado como new-product-ids com um
item. Enviar new-product-id e new-product-ids juntos dá 400.
Não repita chaves no mesmo objeto JSON. Com dois new-product-id no mesmo alteration-data,
o parser fica só com o último valor e o primeiro é descartado sem erro: a alteração sai com
um único produto. Para trocar mais de um produto, mande todos em new-product-ids.
Erros de validação
Status
Quando
400
new-product-id e new-product-ids juntos
400
Troca de CNPJ: o novo CNPJ não oferece um produto da lista ou o produto atual de um benefício sem par (product-ids traz os produtos)
400
Sem troca de CNPJ: a empresa não oferece um produto da lista (product-ids traz os produtos)
400
Dois produtos do mesmo tipo em new-product-ids
400
Produto de um tipo de que o membro não tem benefício titular ativo (seria uma inclusão)
400
Nenhum benefício com o que mudar
403
Sem permissão na empresa de company-tax-id ou na de new-company-tax-id
409
Membro com mais de um benefício titular ativo do tipo de um produto da lista
409
Troca de CNPJ com dois ou mais benefícios titulares ativos no mesmo produto atual (não podem ser transferidos na mesma requisição)
Authorizations
Authorization
string
header
required
Token Bearer obtido em POST /v1/authenticate.
Path Parameters
member-tax-id
string
required
CPF do membro.
CPF (Cadastro de Pessoas Físicas). Aceita apenas dígitos ou formatado.
Examples:
"12345678900"
"123.456.789-00"
Body
application/json
alteration-data
object
required
Mapa de campos livres com a(s) mudança(s) solicitada(s). Deve conter apenas as chaves
abaixo, e ao menos uma de new-product-ids (ou o deprecated new-product-id, aceito
sozinho como lista de um item), new-company-tax-id ou um campo cadastral.
new-product-ids e new-product-id não podem ser enviados juntos.
Show child attributes
company-tax-id
string
CNPJ (Cadastro Nacional da Pessoa Jurídica). Aceita apenas dígitos ou formatado.
Examples:
"12345678000190"
"12.345.678/0001-90"
Response
Movimentação processada com sucesso.
request-id
string<uuid>
required
Identificador da requisição. Use em GET /v1/request/{request-id}.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Pipo Public API","colors":{"primary":"#DE785C","light":"#E7B194","dark":"#DE785C"},"logo":{"light":"https://mintcdn.com/pipo/y_y-v4rQYb_EIQhG/assets/logos/light.svg?fit=max\u0026auto=format\u0026n=y_y-v4rQYb_EIQhG\u0026q=85\u0026s=b7d7d62ec67777804c7b5f011e594e3a","dark":"https://mintcdn.com/pipo/y_y-v4rQYb_EIQhG/assets/logos/dark.svg?fit=max\u0026auto=format\u0026n=y_y-v4rQYb_EIQhG\u0026q=85\u0026s=483186098a9d78b5b194b91d23286cf8"},"favicon":"https://mintcdn.com/pipo/y_y-v4rQYb_EIQhG/favicon.svg?fit=max\u0026auto=format\u0026n=y_y-v4rQYb_EIQhG\u0026q=85\u0026s=8d3905af9098e6d36581f0be875e36c8","background":{"color":{"light":"#FFFFFF","dark":"#000000"}},"navbar":{"primary":{"type":"button","label":"Falar com a Pipo","href":"mailto:tiago.colin@piposaude.com.br"}},"footer":{"socials":{"website":"https://piposaude.com.br"}},"fonts":{"heading":{"family":"SeasonSerif","weight":500,"source":"fonts/SeasonSerif-Medium.woff2","format":"woff2"},"body":{"family":"Manrope"}},"icons":{"library":"lucide"},"styling":{"eyebrows":"breadcrumbs","latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"pipo","hasAudioNarration":false,"actualSubdomain":"pipo","customDomains":["docs.piposaude.com.br"],"gitSource":{"type":"github","owner":"piposaude","repo":"public-api-docs","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6af6faa99a8829f8111d9369","clientVersion":"0.0.4143","searchFilterCounts":[{"language":"default","tag":"MCP","count":44},{"language":"default","tag":"Endpoints API","count":24},{"language":"default","tag":"Movimentações","count":16},{"language":"default","tag":"Documentação API","count":11},{"language":"default","tag":"Empresas","count":8},{"language":"default","tag":"Membros","count":7},{"language":"default","tag":"Faturamento","count":6},{"language":"default","tag":"Saúde","count":6},{"language":"default","tag":"Sinistralidade","count":6},{"language":"default","tag":"Referência","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":true},"customCss":[],"page":{"pagePath":"api-reference/alteracao-membro","slug":"/api-reference/alteracao-membro","pageMetadata":{"title":"Alteração de membro","openapi":"openapi.yaml POST /v1/enrollment/alteration/{member-tax-id}","description":"Solicita uma alteração para um membro titular já existente — troca de plano, troca da\nempresa vinculada aos benefícios (CNPJ) e/ou correção de dados cadastrais, em uma única\nrequisição. A alteração vale para os **benefícios titulares ativos** do membro na empresa\nde `company-tax-id`, e gera **uma movimentação por benefício**.\n\n`alteration-data` é um mapa de campos livres: deve conter **apenas** chaves\nconhecidas e **pelo menos uma** das seguintes indicações de mudança:\n- `new-product-ids` — lista dos produtos novos (troca de plano); ou o deprecated\n `new-product-id`, com um único produto.\n- `new-company-tax-id` — troca do CNPJ vinculado aos benefícios.\n- um ou mais campos cadastrais (`name`, `email`, `address-*`, `bank-*`, etc.).\n\n**Casamento por tipo de benefício.** Cada produto de `new-product-ids` substitui o\nbenefício do membro do **mesmo tipo** (`health-insurance`, `dental-insurance`,\n`life-insurance`...). Benefício cujo tipo não aparece na lista **segue com o mesmo\nproduto**. Um produto igual ao que o benefício já tem também conta como \"sem troca\".\nConsulte o tipo de cada produto em `product-type` de `GET /v1/products`.\n\n**Com `new-company-tax-id`**, todos os benefícios titulares ativos do membro na empresa vão\npara o novo CNPJ. Benefício com produto do seu tipo na lista troca de plano para esse\nproduto. Benefício sem par continua o mesmo benefício, com o mesmo produto: só passa a ficar\nvinculado ao novo CNPJ. Um `new-company-tax-id` igual ao `company-tax-id` não é troca de\nCNPJ: a requisição segue as regras sem `new-company-tax-id`.\n\nNa troca de CNPJ, a empresa de destino precisa oferecer o produto que **cada** benefício\nterá lá: o da lista, para quem tem par, e o atual, para quem não tem. Se o novo CNPJ tiver\noutro contrato (outros produtos), mande em `new-product-ids` o produto equivalente de cada\ntipo de benefício. Senão, a requisição é recusada com `400` e nenhuma movimentação é gerada.\n\n**Sem `new-company-tax-id`**, só os benefícios com par na lista trocam de plano. Os campos\ncadastrais valem para todos os benefícios. Benefício sem par e sem campo cadastral não\ngera movimentação; se nenhum benefício tiver o que mudar, a requisição é recusada (`400`).\n\nOs campos comuns (`requested-start-date`, `reason`, `documents` e os campos cadastrais)\nacompanham todas as movimentações.\n\nValidações:\n- produto da lista que a empresa não oferece — o novo CNPJ, ou a empresa atual quando\n não há troca de CNPJ (`400`);\n- na troca de CNPJ, produto atual de um benefício sem par que o novo CNPJ não oferece\n (`400`, mesma resposta do item anterior);\n- dois produtos do mesmo tipo em `new-product-ids` (`400`);\n- produto de um tipo de que o membro não tem benefício titular ativo — isso seria uma\n inclusão; use `POST /v1/enrollment/inclusion/{member-tax-id}` (`400`);\n- membro com mais de um benefício titular ativo do tipo de um produto da lista, sem como\n saber qual trocar (`409`);\n- na troca de CNPJ, dois ou mais benefícios titulares ativos com o mesmo produto atual:\n eles não podem ser transferidos na mesma requisição (`409`);\n- `new-company-tax-id` de empresa que você não tem permissão para movimentar (`403`).\n\n`new-product-id` (um único produto) está **deprecated**: continua aceito e é tratado como\numa lista de um item. Enviar `new-product-id` e `new-product-ids` juntos dá `400`.\n\n> **Atenção:** não repita chaves no mesmo objeto JSON. Com dois `new-product-id` no mesmo\n> `alteration-data`, o parser fica só com o **último** valor e o primeiro é descartado sem\n> erro. Para trocar mais de um produto, mande todos em `new-product-ids`.\n","href":"/api-reference/alteracao-membro"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n blockquote: \"blockquote\",\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Solicita uma alteração para um membro titular já existente — troca de plano, troca da\\nempresa vinculada aos benefícios (CNPJ) e/ou correção de dados cadastrais, em uma única\\nrequisição. A alteração vale para os \", _jsx(_components.strong, {\n children: \"benefícios titulares ativos\"\n }), \" do membro na empresa\\nde \", _jsx(_components.code, {\n children: \"company-tax-id\"\n }), \", e gera \", _jsx(_components.strong, {\n children: \"uma movimentação por benefício\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"alteration-data\"\n }), \" é um mapa de campos livres: deve conter \", _jsx(_components.strong, {\n children: \"apenas\"\n }), \" chaves\\nconhecidas e \", _jsx(_components.strong, {\n children: \"pelo menos uma\"\n }), \" das seguintes indicações de mudança:\"]\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"new-product-ids\"\n }), \" — lista dos produtos novos (troca de plano); ou o deprecated\\n\", _jsx(_components.code, {\n children: \"new-product-id\"\n }), \", com um único produto.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"new-company-tax-id\"\n }), \" — troca do CNPJ vinculado aos benefícios.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"um ou mais campos cadastrais (\", _jsx(_components.code, {\n children: \"name\"\n }), \", \", _jsx(_components.code, {\n children: \"email\"\n }), \", \", _jsx(_components.code, {\n children: \"address-*\"\n }), \", \", _jsx(_components.code, {\n children: \"bank-*\"\n }), \", etc.).\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Casamento por tipo de benefício.\"\n }), \" Cada produto de \", _jsx(_components.code, {\n children: \"new-product-ids\"\n }), \" substitui o\\nbenefício do membro do \", _jsx(_components.strong, {\n children: \"mesmo tipo\"\n }), \" (\", _jsx(_components.code, {\n children: \"health-insurance\"\n }), \", \", _jsx(_components.code, {\n children: \"dental-insurance\"\n }), \",\\n\", _jsx(_components.code, {\n children: \"life-insurance\"\n }), \"…). Benefício cujo tipo não aparece na lista \", _jsx(_components.strong, {\n children: \"segue com o mesmo\\nproduto\"\n }), \". Um produto igual ao que o benefício já tem também conta como “sem troca”.\\nConsulte o tipo de cada produto em \", _jsx(_components.code, {\n children: \"product-type\"\n }), \" de \", _jsx(_components.code, {\n children: \"GET /v1/products\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [\"Com \", _jsx(_components.code, {\n children: \"new-company-tax-id\"\n })]\n }), \", todos os benefícios titulares ativos do membro na empresa vão\\npara o novo CNPJ. Benefício com produto do seu tipo na lista troca de plano para esse\\nproduto. Benefício sem par continua o mesmo benefício, com o mesmo produto: só passa a ficar\\nvinculado ao novo CNPJ. Um \", _jsx(_components.code, {\n children: \"new-company-tax-id\"\n }), \" igual ao \", _jsx(_components.code, {\n children: \"company-tax-id\"\n }), \" não é troca de\\nCNPJ: a requisição segue as regras sem \", _jsx(_components.code, {\n children: \"new-company-tax-id\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Na troca de CNPJ, a empresa de destino precisa oferecer o produto que \", _jsx(_components.strong, {\n children: \"cada\"\n }), \" benefício\\nterá lá: o da lista, para quem tem par, e o atual, para quem não tem. Se o novo CNPJ tiver\\noutro contrato (outros produtos), mande em \", _jsx(_components.code, {\n children: \"new-product-ids\"\n }), \" o produto equivalente de cada\\ntipo de benefício. Senão, a requisição é recusada com \", _jsx(_components.code, {\n children: \"400\"\n }), \" e nenhuma movimentação é gerada.\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsxs(_components.strong, {\n children: [\"Sem \", _jsx(_components.code, {\n children: \"new-company-tax-id\"\n })]\n }), \", só os benefícios com par na lista trocam de plano. Os campos\\ncadastrais valem para todos os benefícios. Benefício sem par e sem campo cadastral não\\ngera movimentação; se nenhum benefício tiver o que mudar, a requisição é recusada (\", _jsx(_components.code, {\n children: \"400\"\n }), \").\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Os campos comuns (\", _jsx(_components.code, {\n children: \"requested-start-date\"\n }), \", \", _jsx(_components.code, {\n children: \"reason\"\n }), \", \", _jsx(_components.code, {\n children: \"documents\"\n }), \" e os campos cadastrais)\\nacompanham todas as movimentações.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Validações:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [\"produto da lista que a empresa não oferece — o novo CNPJ, ou a empresa atual quando\\nnão há troca de CNPJ (\", _jsx(_components.code, {\n children: \"400\"\n }), \");\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"na troca de CNPJ, produto atual de um benefício sem par que o novo CNPJ não oferece\\n(\", _jsx(_components.code, {\n children: \"400\"\n }), \", mesma resposta do item anterior);\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"dois produtos do mesmo tipo em \", _jsx(_components.code, {\n children: \"new-product-ids\"\n }), \" (\", _jsx(_components.code, {\n children: \"400\"\n }), \");\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"produto de um tipo de que o membro não tem benefício titular ativo — isso seria uma\\ninclusão; use \", _jsx(_components.code, {\n children: \"POST /v1/enrollment/inclusion/{member-tax-id}\"\n }), \" (\", _jsx(_components.code, {\n children: \"400\"\n }), \");\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"membro com mais de um benefício titular ativo do tipo de um produto da lista, sem como\\nsaber qual trocar (\", _jsx(_components.code, {\n children: \"409\"\n }), \");\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [\"na troca de CNPJ, dois ou mais benefícios titulares ativos com o mesmo produto atual:\\neles não podem ser transferidos na mesma requisição (\", _jsx(_components.code, {\n children: \"409\"\n }), \");\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"new-company-tax-id\"\n }), \" de empresa que você não tem permissão para movimentar (\", _jsx(_components.code, {\n children: \"403\"\n }), \").\"]\n }), \"\\n\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.code, {\n children: \"new-product-id\"\n }), \" (um único produto) está \", _jsx(_components.strong, {\n children: \"deprecated\"\n }), \": continua aceito e é tratado como\\numa lista de um item. Enviar \", _jsx(_components.code, {\n children: \"new-product-id\"\n }), \" e \", _jsx(_components.code, {\n children: \"new-product-ids\"\n }), \" juntos dá \", _jsx(_components.code, {\n children: \"400\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.blockquote, {\n children: [\"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"Atenção:\"\n }), \" não repita chaves no mesmo objeto JSON. Com dois \", _jsx(_components.code, {\n children: \"new-product-id\"\n }), \" no mesmo\\n\", _jsx(_components.code, {\n children: \"alteration-data\"\n }), \", o parser fica só com o \", _jsx(_components.strong, {\n children: \"último\"\n }), \" valor e o primeiro é descartado sem\\nerro. Para trocar mais de um produto, mande todos em \", _jsx(_components.code, {\n children: \"new-product-ids\"\n }), \".\"]\n }), \"\\n\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsxs(_components.p,{children:[`Este endpoint está disponível, por enquanto, apenas no ambiente de homologação\n(`,_jsx(_components.code,{children:`https://api.pipo.health`}),`). Ainda não deve ser utilizado em produção.`]})}),`\n`,_jsxs(_components.p,{children:[`A alteração vale para os `,_jsx(_components.strong,{children:`benefícios titulares ativos`}),` do membro na empresa de\n`,_jsx(_components.code,{children:`company-tax-id`}),` e gera `,_jsx(_components.strong,{children:`uma movimentação por benefício`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`troca-de-produtos-casamento-por-tipo-de-benefício`,children:`Troca de produtos: casamento por tipo de benefício`}),`\n`,_jsxs(_components.p,{children:[`Envie os produtos novos em `,_jsx(_components.code,{children:`alteration-data.new-product-ids`}),`. Cada produto substitui o benefício\ndo membro do `,_jsx(_components.strong,{children:`mesmo tipo`}),` (`,_jsx(_components.code,{children:`health-insurance`}),`, `,_jsx(_components.code,{children:`dental-insurance`}),`, `,_jsx(_components.code,{children:`life-insurance`}),`…). O tipo\nde cada produto está em `,_jsx(_components.code,{children:`product-type`}),`, na `,_jsx(_components.a,{href:`/api-reference/listar-produtos`,children:`listagem de produtos`}),`.`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Benefício cujo tipo `,_jsx(_components.strong,{children:`não aparece`}),` na lista segue com o `,_jsx(_components.strong,{children:`mesmo produto`}),`.`]}),`\n`,_jsx(_components.li,{children:`Produto igual ao que o benefício já tem conta como “sem troca”.`}),`\n`,_jsx(_components.li,{children:`No máximo um produto por tipo.`}),`\n`,_jsxs(_components.li,{children:[`Só tipos de que o membro já tem benefício titular ativo. Para incluir um benefício de outro\ntipo, use a `,_jsx(_components.a,{href:`/api-reference/inclusao-beneficio`,children:`inclusão de benefício`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`O produto precisa ser oferecido pela empresa de destino: a de `,_jsx(_components.code,{children:`new-company-tax-id`}),`, ou a de\n`,_jsx(_components.code,{children:`company-tax-id`}),` quando não há troca de CNPJ. Na troca de CNPJ, o produto atual dos benefícios\nsem par também (veja abaixo).`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`com-e-sem-troca-de-cnpj`,children:`Com e sem troca de CNPJ`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{}),_jsx(_components.th,{children:`Benefício com produto do seu tipo na lista`}),_jsx(_components.th,{children:`Benefício sem par na lista`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsxs(_components.strong,{children:[`Com `,_jsx(_components.code,{children:`new-company-tax-id`})]})}),_jsx(_components.td,{children:`Vai para o novo CNPJ e troca de plano para o produto da lista`}),_jsx(_components.td,{children:`Vai para o novo CNPJ e continua o mesmo benefício, com o mesmo produto`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsxs(_components.strong,{children:[`Sem `,_jsx(_components.code,{children:`new-company-tax-id`})]})}),_jsx(_components.td,{children:`Troca de plano para o produto da lista`}),_jsx(_components.td,{children:`Só muda se houver campo cadastral a corrigir`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Um `,_jsx(_components.code,{children:`new-company-tax-id`}),` igual ao `,_jsx(_components.code,{children:`company-tax-id`}),` não é troca de CNPJ: vale a linha “sem\n`,_jsx(_components.code,{children:`new-company-tax-id`}),`”.`]}),`\n`,_jsxs(_components.p,{children:[`Os campos comuns (`,_jsx(_components.code,{children:`requested-start-date`}),`, `,_jsx(_components.code,{children:`reason`}),`, `,_jsx(_components.code,{children:`documents`}),` e os campos cadastrais)\nacompanham todas as movimentações. Sem troca de CNPJ, se nenhum benefício tiver o que mudar, a\nrequisição é recusada com `,_jsx(_components.code,{children:`400`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`troca-de-cnpj-o-novo-cnpj-precisa-oferecer-o-produto-de-cada-benefício`,children:`Troca de CNPJ: o novo CNPJ precisa oferecer o produto de cada benefício`}),`\n`,_jsxs(_components.p,{children:[`Na troca de CNPJ, a empresa de destino precisa oferecer o produto que `,_jsx(_components.strong,{children:`cada`}),` benefício terá lá:\no da lista, para quem tem par, e o `,_jsx(_components.strong,{children:`atual`}),`, para quem não tem. Se o novo CNPJ tiver outro\ncontrato, com outros produtos, mande em `,_jsx(_components.code,{children:`new-product-ids`}),` o produto equivalente de cada tipo de\nbenefício (consulte os produtos de cada empresa na `,_jsx(_components.a,{href:`/api-reference/listar-produtos`,children:`listagem de produtos`}),`).`]}),`\n`,_jsxs(_components.p,{children:[`Se algum produto não for oferecido, a requisição é recusada com `,_jsx(_components.code,{children:`400`}),`, `,_jsx(_components.code,{children:`product-ids`}),` lista os\nprodutos que faltam no novo CNPJ, e `,_jsx(_components.strong,{children:`nenhuma`}),` movimentação é gerada.`]}),`\n`,_jsx(_components.p,{children:`Exemplo: membro com saúde, odonto e vida, transferido de CNPJ trocando saúde e odonto.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`11`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`11`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"company-tax-id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"12345678000190\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"alteration-data\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"new-company-tax-id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"44555666000199\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"new-product-ids\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"7c3a91e2-5b4d-4f6a-9e8c-2d1b0a3f4e5d\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"9b2f6c1e-3d4a-4e8b-a7c5-1f0d2e3b4a5c\"`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"requested-start-date\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"2026-12-01\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Resultado: três movimentações, todas para o novo CNPJ. Saúde e odonto trocam de plano para os\nprodutos novos; vida continua o mesmo benefício, com o mesmo produto. Se o novo CNPJ não oferecer\no produto de vida atual, a requisição dá `,_jsx(_components.code,{children:`400`}),` com esse produto em `,_jsx(_components.code,{children:`product-ids`}),`; nesse caso, inclua\no produto de vida do novo CNPJ em `,_jsx(_components.code,{children:`new-product-ids`}),`.`]}),`\n`,_jsxs(Heading,{level:`2`,id:`new-product-id-deprecated`,children:[_jsx(_components.code,{children:`new-product-id`}),` (deprecated)`]}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`new-product-id`}),`, com um único produto, continua aceito e é tratado como `,_jsx(_components.code,{children:`new-product-ids`}),` com um\nitem. Enviar `,_jsx(_components.code,{children:`new-product-id`}),` e `,_jsx(_components.code,{children:`new-product-ids`}),` juntos dá `,_jsx(_components.code,{children:`400`}),`.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Não repita chaves no mesmo objeto JSON. Com dois `,_jsx(_components.code,{children:`new-product-id`}),` no mesmo `,_jsx(_components.code,{children:`alteration-data`}),`,\no parser fica só com o `,_jsx(_components.strong,{children:`último`}),` valor e o primeiro é descartado sem erro: a alteração sai com\num único produto. Para trocar mais de um produto, mande todos em `,_jsx(_components.code,{children:`new-product-ids`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`erros-de-validação`,children:`Erros de validação`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`Quando`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`new-product-id`}),` e `,_jsx(_components.code,{children:`new-product-ids`}),` juntos`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsxs(_components.td,{children:[`Troca de CNPJ: o novo CNPJ não oferece um produto da lista ou o produto atual de um benefício sem par (`,_jsx(_components.code,{children:`product-ids`}),` traz os produtos)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsxs(_components.td,{children:[`Sem troca de CNPJ: a empresa não oferece um produto da lista (`,_jsx(_components.code,{children:`product-ids`}),` traz os produtos)`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsxs(_components.td,{children:[`Dois produtos do mesmo tipo em `,_jsx(_components.code,{children:`new-product-ids`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:`Produto de um tipo de que o membro não tem benefício titular ativo (seria uma inclusão)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsx(_components.td,{children:`Nenhum benefício com o que mudar`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsxs(_components.td,{children:[`Sem permissão na empresa de `,_jsx(_components.code,{children:`company-tax-id`}),` ou na de `,_jsx(_components.code,{children:`new-company-tax-id`})]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`409`})}),_jsx(_components.td,{children:`Membro com mais de um benefício titular ativo do tipo de um produto da lista`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`409`})}),_jsx(_components.td,{children:`Troca de CNPJ com dois ou mais benefícios titulares ativos no mesmo produto atual (não podem ser transferidos na mesma requisição)`})]})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Alteração de membro","openapi":"openapi.yaml POST /v1/enrollment/alteration/{member-tax-id}","description":"Solicita uma alteração para um membro titular já existente — troca de plano, troca da\nempresa vinculada aos benefícios (CNPJ) e/ou correção de dados cadastrais, em uma única\nrequisição. A alteração vale para os **benefícios titulares ativos** do membro na empresa\nde `company-tax-id`, e gera **uma movimentação por benefício**.\n\n`alteration-data` é um mapa de campos livres: deve conter **apenas** chaves\nconhecidas e **pelo menos uma** das seguintes indicações de mudança:\n- `new-product-ids` — lista dos produtos novos (troca de plano); ou o deprecated\n `new-product-id`, com um único produto.\n- `new-company-tax-id` — troca do CNPJ vinculado aos benefícios.\n- um ou mais campos cadastrais (`name`, `email`, `address-*`, `bank-*`, etc.).\n\n**Casamento por tipo de benefício.** Cada produto de `new-product-ids` substitui o\nbenefício do membro do **mesmo tipo** (`health-insurance`, `dental-insurance`,\n`life-insurance`...). Benefício cujo tipo não aparece na lista **segue com o mesmo\nproduto**. Um produto igual ao que o benefício já tem também conta como \"sem troca\".\nConsulte o tipo de cada produto em `product-type` de `GET /v1/products`.\n\n**Com `new-company-tax-id`**, todos os benefícios titulares ativos do membro na empresa vão\npara o novo CNPJ. Benefício com produto do seu tipo na lista troca de plano para esse\nproduto. Benefício sem par continua o mesmo benefício, com o mesmo produto: só passa a ficar\nvinculado ao novo CNPJ. Um `new-company-tax-id` igual ao `company-tax-id` não é troca de\nCNPJ: a requisição segue as regras sem `new-company-tax-id`.\n\nNa troca de CNPJ, a empresa de destino precisa oferecer o produto que **cada** benefício\nterá lá: o da lista, para quem tem par, e o atual, para quem não tem. Se o novo CNPJ tiver\noutro contrato (outros produtos), mande em `new-product-ids` o produto equivalente de cada\ntipo de benefício. Senão, a requisição é recusada com `400` e nenhuma movimentação é gerada.\n\n**Sem `new-company-tax-id`**, só os benefícios com par na lista trocam de plano. Os campos\ncadastrais valem para todos os benefícios. Benefício sem par e sem campo cadastral não\ngera movimentação; se nenhum benefício tiver o que mudar, a requisição é recusada (`400`).\n\nOs campos comuns (`requested-start-date`, `reason`, `documents` e os campos cadastrais)\nacompanham todas as movimentações.\n\nValidações:\n- produto da lista que a empresa não oferece — o novo CNPJ, ou a empresa atual quando\n não há troca de CNPJ (`400`);\n- na troca de CNPJ, produto atual de um benefício sem par que o novo CNPJ não oferece\n (`400`, mesma resposta do item anterior);\n- dois produtos do mesmo tipo em `new-product-ids` (`400`);\n- produto de um tipo de que o membro não tem benefício titular ativo — isso seria uma\n inclusão; use `POST /v1/enrollment/inclusion/{member-tax-id}` (`400`);\n- membro com mais de um benefício titular ativo do tipo de um produto da lista, sem como\n saber qual trocar (`409`);\n- na troca de CNPJ, dois ou mais benefícios titulares ativos com o mesmo produto atual:\n eles não podem ser transferidos na mesma requisição (`409`);\n- `new-company-tax-id` de empresa que você não tem permissão para movimentar (`403`).\n\n`new-product-id` (um único produto) está **deprecated**: continua aceito e é tratado como\numa lista de um item. Enviar `new-product-id` e `new-product-ids` juntos dá `400`.\n\n> **Atenção:** não repita chaves no mesmo objeto JSON. Com dois `new-product-id` no mesmo\n> `alteration-data`, o parser fica só com o **último** valor e o primeiro é descartado sem\n> erro. Para trocar mais de um produto, mande todos em `new-product-ids`.\n","href":"/api-reference/alteracao-membro"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Troca de produtos: casamento por tipo de benefício","slug":"troca-de-produtos-casamento-por-tipo-de-benefício","depth":2,"children":[]},{"title":"Com e sem troca de CNPJ","slug":"com-e-sem-troca-de-cnpj","depth":2,"children":[{"title":"Troca de CNPJ: o novo CNPJ precisa oferecer o produto de cada benefício","slug":"troca-de-cnpj-o-novo-cnpj-precisa-oferecer-o-produto-de-cada-benefício","depth":3,"children":[]}]},{"title":"new-product-id (deprecated)","slug":"new-product-id-deprecated","depth":2,"children":[]},{"title":"Erros de validação","slug":"erros-de-validação","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Movimentações"],"summary":"Alteração de membro","description":"Solicita uma alteração para um membro titular já existente — troca de plano, troca da\nempresa vinculada aos benefícios (CNPJ) e/ou correção de dados cadastrais, em uma única\nrequisição. A alteração vale para os **benefícios titulares ativos** do membro na empresa\nde `company-tax-id`, e gera **uma movimentação por benefício**.\n\n`alteration-data` é um mapa de campos livres: deve conter **apenas** chaves\nconhecidas e **pelo menos uma** das seguintes indicações de mudança:\n- `new-product-ids` — lista dos produtos novos (troca de plano); ou o deprecated\n `new-product-id`, com um único produto.\n- `new-company-tax-id` — troca do CNPJ vinculado aos benefícios.\n- um ou mais campos cadastrais (`name`, `email`, `address-*`, `bank-*`, etc.).\n\n**Casamento por tipo de benefício.** Cada produto de `new-product-ids` substitui o\nbenefício do membro do **mesmo tipo** (`health-insurance`, `dental-insurance`,\n`life-insurance`...). Benefício cujo tipo não aparece na lista **segue com o mesmo\nproduto**. Um produto igual ao que o benefício já tem também conta como \"sem troca\".\nConsulte o tipo de cada produto em `product-type` de `GET /v1/products`.\n\n**Com `new-company-tax-id`**, todos os benefícios titulares ativos do membro na empresa vão\npara o novo CNPJ. Benefício com produto do seu tipo na lista troca de plano para esse\nproduto. Benefício sem par continua o mesmo benefício, com o mesmo produto: só passa a ficar\nvinculado ao novo CNPJ. Um `new-company-tax-id` igual ao `company-tax-id` não é troca de\nCNPJ: a requisição segue as regras sem `new-company-tax-id`.\n\nNa troca de CNPJ, a empresa de destino precisa oferecer o produto que **cada** benefício\nterá lá: o da lista, para quem tem par, e o atual, para quem não tem. Se o novo CNPJ tiver\noutro contrato (outros produtos), mande em `new-product-ids` o produto equivalente de cada\ntipo de benefício. Senão, a requisição é recusada com `400` e nenhuma movimentação é gerada.\n\n**Sem `new-company-tax-id`**, só os benefícios com par na lista trocam de plano. Os campos\ncadastrais valem para todos os benefícios. Benefício sem par e sem campo cadastral não\ngera movimentação; se nenhum benefício tiver o que mudar, a requisição é recusada (`400`).\n\nOs campos comuns (`requested-start-date`, `reason`, `documents` e os campos cadastrais)\nacompanham todas as movimentações.\n\nValidações:\n- produto da lista que a empresa não oferece — o novo CNPJ, ou a empresa atual quando\n não há troca de CNPJ (`400`);\n- na troca de CNPJ, produto atual de um benefício sem par que o novo CNPJ não oferece\n (`400`, mesma resposta do item anterior);\n- dois produtos do mesmo tipo em `new-product-ids` (`400`);\n- produto de um tipo de que o membro não tem benefício titular ativo — isso seria uma\n inclusão; use `POST /v1/enrollment/inclusion/{member-tax-id}` (`400`);\n- membro com mais de um benefício titular ativo do tipo de um produto da lista, sem como\n saber qual trocar (`409`);\n- na troca de CNPJ, dois ou mais benefícios titulares ativos com o mesmo produto atual:\n eles não podem ser transferidos na mesma requisição (`409`);\n- `new-company-tax-id` de empresa que você não tem permissão para movimentar (`403`).\n\n`new-product-id` (um único produto) está **deprecated**: continua aceito e é tratado como\numa lista de um item. Enviar `new-product-id` e `new-product-ids` juntos dá `400`.\n\n> **Atenção:** não repita chaves no mesmo objeto JSON. Com dois `new-product-id` no mesmo\n> `alteration-data`, o parser fica só com o **último** valor e o primeiro é descartado sem\n> erro. Para trocar mais de um produto, mande todos em `new-product-ids`.\n","parameters":["96da75fd-c9fe-4c05-a6a6-566e460b5760"],"requestBody":"f6909d69-23b8-4923-b60e-bea3e70ae431","responses":{"200":"29518762-5b60-4835-855c-17c8a5fcb81d","400":"a657e1b4-5bd9-493a-9d5b-a3b5bbe7b612","401":"e0d301c9-322a-45fe-bcd6-829098fa13af","403":"7c13bc42-30cc-4f66-b5f6-7bfd31b040ad","404":"a50c0510-40ef-443f-b287-d16eae20c529","409":"dbef709a-de1c-4435-940f-a5523f581bbc"},"method":"post","type":"path","servers":["fccef4d3-69e6-4c74-a002-ff2c80360240","4532c0f2-4cf5-46af-ab8c-fdacf1f6fb26"],"security":["02420963-07f7-4030-a6f8-50b8590c566a"],"path":"/v1/enrollment/alteration/{member-tax-id}","baseUrlOptions":["https://api.pipo.health","https://api.piposaude.com.br"],"title":"Alteração de membro","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"96da75fd-c9fe-4c05-a6a6-566e460b5760":{"name":"member-tax-id","in":"path","required":true,"schema":{"type":"string","description":"CPF do membro.\nCPF (Cadastro de Pessoas Físicas). Aceita apenas dígitos ou formatado.","examples":["12345678900","123.456.789-00"],"isRequired":true,"uniqueKey":"","typeLabel":"string"},"description":"CPF do membro."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["alteration-data"],"properties":{"alteration-data":{"type":"object","minProperties":1,"description":"Mapa de campos livres com a(s) mudança(s) solicitada(s). Deve conter apenas as chaves\nabaixo, e ao menos uma de `new-product-ids` (ou o deprecated `new-product-id`, aceito\nsozinho como lista de um item), `new-company-tax-id` ou um campo cadastral.\n`new-product-ids` e `new-product-id` não podem ser enviados juntos.\n","properties":{"new-product-ids":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"alteration-data.new-product-ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"IDs dos produtos novos. Cada produto substitui o benefício titular ativo do membro do\n**mesmo tipo de benefício** (`product-type` em `GET /v1/products`); benefício cujo tipo\nnão aparece na lista segue com o mesmo produto. No máximo um produto por tipo, e só\nde tipos de que o membro já tem benefício (para um tipo novo, use a inclusão). O\nproduto precisa ser oferecido pela empresa de destino: a de `new-company-tax-id`, ou a\nde `company-tax-id` quando não há troca de CNPJ. Na troca de CNPJ, inclua também o\nproduto equivalente de todo tipo de benefício cujo produto atual o novo CNPJ não oferece.\n","examples":[["7c3a91e2-5b4d-4f6a-9e8c-2d1b0a3f4e5d","9b2f6c1e-3d4a-4e8b-a7c5-1f0d2e3b4a5c"]],"uniqueKey":"alteration-data.new-product-ids","typeLabel":"string\u003cuuid>[]"},"new-product-id":{"type":"string","format":"uuid","deprecated":true,"description":"**Deprecated** — use `new-product-ids`. Um único produto novo, tratado como `new-product-ids` com um item. Não envie junto com `new-product-ids`, e não repita a chave para mandar mais de um produto: o parser JSON fica só com o último valor.","uniqueKey":"alteration-data.new-product-id","typeLabel":"string\u003cuuid>"},"new-company-tax-id":{"type":"string","description":"CNPJ para o qual vão todos os benefícios titulares ativos do membro na empresa de `company-tax-id`. Benefício com produto do seu tipo em `new-product-ids` troca de plano; benefício sem par continua o mesmo, com o mesmo produto. A empresa de destino precisa oferecer o produto que cada benefício terá lá (o da lista ou o atual); se ela tiver outro contrato, mande o produto equivalente de cada tipo em `new-product-ids`. Exige permissão de movimentação nessa empresa. Igual ao `company-tax-id`, é tratado como sem troca de CNPJ.","examples":["12345678000190","12.345.678/0001-90"],"uniqueKey":"alteration-data.new-company-tax-id","typeLabel":"string"},"requested-start-date":{"type":"string","format":"date","description":"Data em que a alteração deve entrar em vigor.","uniqueKey":"alteration-data.requested-start-date","typeLabel":"string\u003cdate>"},"reason":{"type":"string","description":"Justificativa livre para a alteração.","uniqueKey":"alteration-data.reason","typeLabel":"string"},"name":{"type":"string","description":"Nome do membro.","uniqueKey":"alteration-data.name","typeLabel":"string"},"preferred-name":{"type":"string","description":"Nome social/preferido.","uniqueKey":"alteration-data.preferred-name","typeLabel":"string"},"tax-id":{"type":"string","description":"CPF (Cadastro de Pessoas Físicas). Aceita apenas dígitos ou formatado.","examples":["12345678900","123.456.789-00"],"uniqueKey":"alteration-data.tax-id","typeLabel":"string"},"mothers-name":{"type":"string","description":"Nome da mãe do membro.","uniqueKey":"alteration-data.mothers-name","typeLabel":"string"},"date-of-birth":{"type":"string","format":"date","description":"Data de nascimento.","uniqueKey":"alteration-data.date-of-birth","typeLabel":"string\u003cdate>"},"gender":{"type":"string","description":"Sexo biológico do membro.","enum":["male","female"],"uniqueKey":"alteration-data.gender","typeLabel":"enum\u003cstring>"},"marital-status":{"type":"string","description":"Estado civil. single=Solteiro, married=Casado, divorced=Divorciado, widowed=Viúvo, others=Outros. `other` também é aceito como alias de `others` e é normalizado automaticamente pela API.","enum":["single","married","divorced","widowed","others","other"],"uniqueKey":"alteration-data.marital-status","typeLabel":"enum\u003cstring>"},"email":{"type":"string","format":"email","uniqueKey":"alteration-data.email","typeLabel":"string\u003cemail>"},"phone":{"type":"string","description":"Telefone com DDD (ex.: 11987654321).","uniqueKey":"alteration-data.phone","typeLabel":"string"},"address-postal-code":{"type":"string","description":"CEP.","uniqueKey":"alteration-data.address-postal-code","typeLabel":"string"},"address-street":{"type":"string","uniqueKey":"alteration-data.address-street","typeLabel":"string"},"address-number":{"type":"string","uniqueKey":"alteration-data.address-number","typeLabel":"string"},"address-neighborhood":{"type":"string","uniqueKey":"alteration-data.address-neighborhood","typeLabel":"string"},"address-complement":{"type":"string","uniqueKey":"alteration-data.address-complement","typeLabel":"string"},"address-city":{"type":"string","uniqueKey":"alteration-data.address-city","typeLabel":"string"},"address-state":{"type":"string","description":"UF (2 letras, ex.: SP).","uniqueKey":"alteration-data.address-state","typeLabel":"string"},"company-id":{"type":"string","format":"uuid","description":"ID interno da empresa vinculada ao membro (uso avançado).","uniqueKey":"alteration-data.company-id","typeLabel":"string\u003cuuid>"},"work-contract-type":{"type":"string","description":"Tipo de contrato de trabalho.","enum":["brazil-labor-law","services-contract","partner","intern","on-leave","other"],"uniqueKey":"alteration-data.work-contract-type","typeLabel":"enum\u003cstring>"},"monthly-salary":{"type":"integer","description":"Salário mensal, em centavos.","uniqueKey":"alteration-data.monthly-salary","typeLabel":"integer"},"employee-company-tax-id":{"type":"string","description":"CNPJ (Cadastro Nacional da Pessoa Jurídica). Aceita apenas dígitos ou formatado.","examples":["12345678000190","12.345.678/0001-90"],"uniqueKey":"alteration-data.employee-company-tax-id","typeLabel":"string"},"bank-number":{"type":"string","uniqueKey":"alteration-data.bank-number","typeLabel":"string"},"bank-branch-number":{"type":"string","uniqueKey":"alteration-data.bank-branch-number","typeLabel":"string"},"bank-account-number":{"type":"string","uniqueKey":"alteration-data.bank-account-number","typeLabel":"string"},"bank-account-owners-name":{"type":"string","uniqueKey":"alteration-data.bank-account-owners-name","typeLabel":"string"},"bank-account-owners-tax-id":{"type":"string","description":"CPF (Cadastro de Pessoas Físicas). Aceita apenas dígitos ou formatado.","examples":["12345678900","123.456.789-00"],"uniqueKey":"alteration-data.bank-account-owners-tax-id","typeLabel":"string"},"documents":{"type":"array","items":{"type":"object","required":["document-id","document-type"],"description":"Documento relacionado ao membro, previamente enviado via URL de upload.","properties":{"document-id":{"type":"string","description":"Identificador do documento, recebido ao solicitar a URL de upload.","isRequired":true,"uniqueKey":"alteration-data.documents.items.[INDEX].document-id","typeLabel":"string"},"document-type":{"type":"string","description":"Tipo do documento anexado à movimentação.","enum":["beneficiary-inclusion-form","birth-certificate-or-national-id","company-letter","company-linking-declaration","company-social-contract","document-proving-relationship","employee-social-contract","employee-tax-id-card","employment-contract","enrollment-request","exclusion-file","guardianship-certificate","identification-document-with-tax-id","invoice","marriage-certificate","proof-of-dependent-relationship","proof-of-employment","proof-of-promotion","proof-of-residency","rescission","same-sex-marriage-certificate","other"],"isRequired":true,"uniqueKey":"alteration-data.documents.items.[INDEX].document-type","typeLabel":"enum\u003cstring>"}},"uniqueKey":"alteration-data.documents.items.[INDEX]","typeLabel":"object"},"uniqueKey":"alteration-data.documents","typeLabel":"object[]"}},"isRequired":true,"uniqueKey":"alteration-data","typeLabel":"object"},"company-tax-id":{"type":"string","description":"CNPJ (Cadastro Nacional da Pessoa Jurídica). Aceita apenas dígitos ou formatado.","examples":["12345678000190","12.345.678/0001-90"],"uniqueKey":"company-tax-id","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"troca-de-cnpj-mantendo-produtos":{"title":"troca-de-cnpj-mantendo-produtos","summary":"Troca de CNPJ mantendo todos os produtos","description":"Todos os benefícios titulares ativos do membro na empresa 12345678000190 vão para o CNPJ 44555666000199 e continuam os mesmos benefícios, com os mesmos produtos. Exige que o novo CNPJ ofereça todos esses produtos.","value":{"company-tax-id":"12345678000190","alteration-data":{"new-company-tax-id":"44555666000199","requested-start-date":"2026-12-01","reason":"Transferência do colaborador para outra filial"}}},"troca-de-cnpj-trocando-saude-e-odonto":{"title":"troca-de-cnpj-trocando-saude-e-odonto","summary":"Troca de CNPJ trocando os planos de saúde e odonto","description":"O primeiro produto é de saúde e o segundo de odonto: os benefícios de saúde e de odonto do membro trocam de plano para eles. Os demais benefícios (ex.: vida) vão para o novo CNPJ como estão, com o mesmo produto, que o novo CNPJ precisa oferecer.","value":{"company-tax-id":"12345678000190","alteration-data":{"new-company-tax-id":"44555666000199","new-product-ids":["7c3a91e2-5b4d-4f6a-9e8c-2d1b0a3f4e5d","9b2f6c1e-3d4a-4e8b-a7c5-1f0d2e3b4a5c"],"requested-start-date":"2026-12-01","reason":"Transferência do colaborador para outra filial"}}},"troca-de-plano":{"title":"troca-de-plano","summary":"Troca de plano sem troca de CNPJ","description":"O produto (de saúde) substitui só o benefício de saúde do membro. Os demais benefícios não geram movimentação.","value":{"company-tax-id":"12345678000190","alteration-data":{"new-product-ids":["4de3d975-a4ed-47ab-aab9-d4a190fea06f"],"requested-start-date":"2026-10-01","reason":"Upgrade de plano solicitado pelo RH"}}},"correcao-cadastral":{"title":"correcao-cadastral","summary":"Correção cadastral com motivo e data de vigência","value":{"company-tax-id":"12345678000190","alteration-data":{"email":"novo@email.com","requested-start-date":"2026-10-01","reason":"Solicitação do RH"}}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"29518762-5b60-4835-855c-17c8a5fcb81d":{"description":"Movimentação processada com sucesso.","content":{"application/json":{"schema":{"type":"object","required":["request-id"],"properties":{"request-id":{"type":"string","format":"uuid","description":"Identificador da requisição. Use em `GET /v1/request/{request-id}`.","isRequired":true,"uniqueKey":"request-id","typeLabel":"string\u003cuuid>"}},"uniqueKey":"","typeLabel":"object"},"example":{"request-id":"aaa11111-e89b-12d3-a456-426614174006"},"examples":{"Example":{"title":"Example","value":{"request-id":"aaa11111-e89b-12d3-a456-426614174006"}}},"exampleType":"examples"}},"exampleType":"examples"},"a657e1b4-5bd9-493a-9d5b-a3b5bbe7b612":{"description":"Alteração não aceita. O corpo traz `error` e, quando o problema é com produtos,\n`product-ids` com os produtos que causaram o erro.\n","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Mensagem descritiva do erro.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"product-ids":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"product-ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Produtos que causaram o erro: os de `new-product-ids` (ou `new-product-id`) e, na troca de CNPJ, também o produto atual de um benefício sem par que o novo CNPJ não oferece. Presente só nos erros de produto.","uniqueKey":"product-ids","typeLabel":"string\u003cuuid>[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"alteration-data-invalido":{"title":"alteration-data-invalido","summary":"alteration-data vazio, com chave desconhecida ou com id de produto inválido","value":{"error":"Invalid alteration-data"}},"new-product-id-e-new-product-ids":{"title":"new-product-id-e-new-product-ids","summary":"new-product-id e new-product-ids enviados juntos","value":{"error":"Alteration not requested because new-product-ids and new-product-id cannot be sent together. Send only new-product-ids"}},"produto-nao-oferecido-no-destino":{"title":"produto-nao-oferecido-no-destino","summary":"Troca de CNPJ — a empresa de destino não oferece um produto","description":"O novo CNPJ não oferece um produto de `new-product-ids` ou o produto atual de um benefício sem par na lista. `product-ids` traz esses produtos: mande em `new-product-ids` um produto do mesmo tipo que o novo CNPJ oferece.","value":{"error":"Alteration not requested because the destination company does not offer some products. Send in new-product-ids a product of the same benefit type that it offers","product-ids":["9b2f6c1e-3d4a-4e8b-a7c5-1f0d2e3b4a5c"]}},"produto-nao-oferecido-na-empresa-atual":{"title":"produto-nao-oferecido-na-empresa-atual","summary":"Sem troca de CNPJ — a empresa não oferece um produto da lista","value":{"error":"Alteration not requested because the member's company does not offer some products","product-ids":["9b2f6c1e-3d4a-4e8b-a7c5-1f0d2e3b4a5c"]}},"tipo-repetido":{"title":"tipo-repetido","summary":"Dois produtos do mesmo tipo de benefício","value":{"error":"Alteration not requested because new-product-ids has more than one product of the same benefit type","product-ids":["7c3a91e2-5b4d-4f6a-9e8c-2d1b0a3f4e5d","4de3d975-a4ed-47ab-aab9-d4a190fea06f"]}},"sem-beneficio-do-tipo":{"title":"sem-beneficio-do-tipo","summary":"Membro sem benefício titular ativo do tipo do produto","description":"Para incluir um benefício de outro tipo, use a inclusão de benefício.","value":{"error":"Alteration not requested because the member has no active primary benefit of the same benefit type as some products. Use the inclusion endpoint to add a new benefit","product-ids":["9b2f6c1e-3d4a-4e8b-a7c5-1f0d2e3b4a5c"]}},"nada-a-alterar":{"title":"nada-a-alterar","summary":"Nenhum benefício com o que mudar","description":"Sem troca de CNPJ, os produtos da lista são os que o membro já tem e não há campo cadastral a corrigir.","value":{"error":"Alteration not requested because there is nothing to change"}}},"exampleType":"examples"}},"exampleType":"examples"},"e0d301c9-322a-45fe-bcd6-829098fa13af":{"description":"Token ausente ou inválido.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Mensagem descritiva do erro.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"example":{"error":"Invalid credentials"},"examples":{"Example":{"title":"Example","value":{"error":"Invalid credentials"}}},"exampleType":"examples"}},"exampleType":"examples"},"7c13bc42-30cc-4f66-b5f6-7bfd31b040ad":{"description":"Não autorizado a alterar membros da empresa de `company-tax-id`, ou da empresa de destino (`new-company-tax-id`). Um `new-company-tax-id` que não corresponde a nenhuma empresa também recebe `403`.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Mensagem descritiva do erro.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"empresa-de-origem":{"title":"empresa-de-origem","summary":"Sem permissão na empresa de origem","value":{"error":"You are not authorized to alter members in this company."}},"empresa-de-destino":{"title":"empresa-de-destino","summary":"Sem permissão na empresa de destino","value":{"error":"You are not authorized to alter members in the destination company."}}},"exampleType":"examples"}},"exampleType":"examples"},"a50c0510-40ef-443f-b287-d16eae20c529":{"description":"Membro não encontrado, ou nenhum benefício primário ativo encontrado no membro.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Mensagem descritiva do erro.","isRequired":true,"uniqueKey":"error","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"membro-nao-encontrado":{"title":"membro-nao-encontrado","summary":"Membro não encontrado","value":{"error":"Member not found"}},"sem-beneficio-ativo":{"title":"sem-beneficio-ativo","summary":"Sem benefício primário ativo","value":{"error":"No active primary benefit found in member"}}},"exampleType":"examples"}},"exampleType":"examples"},"dbef709a-de1c-4435-940f-a5523f581bbc":{"description":"Conflito com os benefícios do membro: não dá para saber qual benefício trocar, ou, na troca de CNPJ, dois benefícios têm o mesmo produto atual. `product-ids` traz os produtos envolvidos.","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"string","description":"Mensagem descritiva do erro.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"product-ids":{"type":"array","items":{"type":"string","format":"uuid","uniqueKey":"product-ids.items.[INDEX]","typeLabel":"string\u003cuuid>"},"description":"Produtos que causaram o erro: os de `new-product-ids` (ou `new-product-id`) e, na troca de CNPJ, também o produto atual de um benefício sem par que o novo CNPJ não oferece. Presente só nos erros de produto.","uniqueKey":"product-ids","typeLabel":"string\u003cuuid>[]"}},"uniqueKey":"","typeLabel":"object"},"examples":{"beneficio-ambiguo":{"title":"beneficio-ambiguo","summary":"Mais de um benefício do tipo de um produto da lista","value":{"error":"Alteration not requested because the member has more than one active primary benefit of the same benefit type as some products","product-ids":["7c3a91e2-5b4d-4f6a-9e8c-2d1b0a3f4e5d"]}},"mesmo-produto-atual":{"title":"mesmo-produto-atual","summary":"Troca de CNPJ com dois benefícios no mesmo produto atual","description":"Na troca de CNPJ, o membro tem dois ou mais benefícios titulares ativos com o mesmo produto atual. Eles não podem ser transferidos na mesma requisição, e nenhuma movimentação é gerada.","value":{"error":"Alteration not requested because more than one benefit of the member would move to the same product","product-ids":["4de3d975-a4ed-47ab-aab9-d4a190fea06f"]}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"02420963-07f7-4030-a6f8-50b8590c566a":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Token Bearer obtido em `POST /v1/authenticate`.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"fccef4d3-69e6-4c74-a002-ff2c80360240":{"url":"https://api.pipo.health","description":"Homologação (staging)"},"4532c0f2-4cf5-46af-ab8c-fdacf1f6fb26":{"url":"https://api.piposaude.com.br","description":"Produção"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Token Bearer obtido em `POST /v1/authenticate`.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Token Bearer obtido em `POST /v1/authenticate`.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"openapi.yaml"},"subdomain":"pipo","siteName":"Pipo Public API","title":"Alteração de membro - Pipo Public API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-13T11:55:26.312Z","originalFileLocation":"api-reference/alteracao-membro.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Solicita uma alteração para um membro titular já existente — troca de plano, troca da empresa vinculada aos benefícios (CNPJ) e/ou correção de dados cadastrais, em uma única requisição. A alteração vale para os benefícios titulares ativos do membro na empresa de company-tax-id, e gera uma movimentação por benefício. alteration-data é um mapa de campos livres: deve conter apenas chaves conhecidas e pelo menos uma das seguintes indicações de mudança: - new-product-ids — lista dos produtos novos (troca de plano); ou o deprecated new-product-id, com um único produto. - new-company-tax-id — troca do CNPJ vinculado aos benefícios. - um ou mais campos cadastrais (name, email, address-, bank-, etc.). Casamento por tipo de benefício. Cada produto de new-product-ids substitui o benefício do membro do mesmo tipo (health-insurance, dental-insurance, life-insurance...). Benefício cujo tipo não aparece na lista segue com o mesmo produto. Um produto igual ao que o benefício já tem também conta como \u0026quot;sem troca\u0026quot;. Consulte o tipo de cada produto em product-type de GET /v1/products. Com new-company-tax-id, todos os benefícios titulares ativos do membro na empresa vão para o novo CNPJ. Benefício com produto do seu tipo na lista troca de plano para esse produto. Benefício sem par continua o mesmo benefício, com o mesmo produto: só passa a ficar vinculado ao novo CNPJ. Um new-company-tax-id igual ao company-tax-id não é troca de CNPJ: a requisição segue as regras sem new-company-tax-id. Na troca de CNPJ, a empresa de destino precisa oferecer o produto que cada benefício terá lá: o da lista, para quem tem par, e o atual, para quem não tem. Se o novo CNPJ tiver outro contrato (outros produtos), mande em new-product-ids o produto equivalente de cada tipo de benefício. Senão, a requisição é recusada com 400 e nenhuma movimentação é gerada. Sem new-company-tax-id, só os benefícios com par na lista trocam de plano. Os campos cadastrais valem para todos os benefícios. Benefício sem par e sem campo cadastral não gera movimentação; se nenhum benefício tiver o que mudar, a requisição é recusada (400). Os campos comuns (requested-start-date, reason, documents e os campos cadastrais) acompanham todas as movimentações. Validações: - produto da lista que a empresa não oferece — o novo CNPJ, ou a empresa atual quando não há troca de CNPJ (400); - na troca de CNPJ, produto atual de um benefício sem par que o novo CNPJ não oferece (400, mesma resposta do item anterior); - dois produtos do mesmo tipo em new-product-ids (400); - produto de um tipo de que o membro não tem benefício titular ativo — isso seria uma inclusão; use POST /v1/enrollment/inclusion/{member-tax-id} (400); - membro com mais de um benefício titular ativo do tipo de um produto da lista, sem como saber qual trocar (409); - na troca de CNPJ, dois ou mais benefícios titulares ativos com o mesmo produto atual: eles não podem ser transferidos na mesma requisição (409); - new-company-tax-id de empresa que você não tem permissão para movimentar (403). new-product-id (um único produto) está deprecated: continua aceito e é tratado como uma lista de um item. Enviar new-product-id e new-product-ids juntos dá 400. \u0026gt; Atenção: não repita chaves no mesmo objeto JSON. Com dois new-product-id no mesmo \u0026gt; alteration-data, o parser fica só com o último valor e o primeiro é descartado sem \u0026gt; erro. Para trocar mais de um produto, mande todos em new-product-ids.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Pipo Public API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pipo/IA_gVhzdDScpt3NR/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/pipo/IA_gVhzdDScpt3NR/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pipo/IA_gVhzdDScpt3NR/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pipo/IA_gVhzdDScpt3NR/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pipo/IA_gVhzdDScpt3NR/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/pipo/IA_gVhzdDScpt3NR/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/pipo/IA_gVhzdDScpt3NR/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/pipo/IA_gVhzdDScpt3NR/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/pipo/IA_gVhzdDScpt3NR/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Alteração de membro - Pipo Public API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Solicita uma alteração para um membro titular já existente — troca de plano, troca da empresa vinculada aos benefícios (CNPJ) e/ou correção de dados cadastrais, em uma única requisição. A alteração vale para os benefícios titulares ativos do membro na empresa de company-tax-id, e gera uma movimentação por benefício. alteration-data é um mapa de campos livres: deve conter apenas chaves conhecidas e pelo menos uma das seguintes indicações de mudança: - new-product-ids — lista dos produtos novos (troca de plano); ou o deprecated new-product-id, com um único produto. - new-company-tax-id — troca do CNPJ vinculado aos benefícios. - um ou mais campos cadastrais (name, email, address-, bank-, etc.). Casamento por tipo de benefício. Cada produto de new-product-ids substitui o benefício do membro do mesmo tipo (health-insurance, dental-insurance, life-insurance...). Benefício cujo tipo não aparece na lista segue com o mesmo produto. Um produto igual ao que o benefício já tem também conta como \u0026quot;sem troca\u0026quot;. Consulte o tipo de cada produto em product-type de GET /v1/products. Com new-company-tax-id, todos os benefícios titulares ativos do membro na empresa vão para o novo CNPJ. Benefício com produto do seu tipo na lista troca de plano para esse produto. Benefício sem par continua o mesmo benefício, com o mesmo produto: só passa a ficar vinculado ao novo CNPJ. Um new-company-tax-id igual ao company-tax-id não é troca de CNPJ: a requisição segue as regras sem new-company-tax-id. Na troca de CNPJ, a empresa de destino precisa oferecer o produto que cada benefício terá lá: o da lista, para quem tem par, e o atual, para quem não tem. Se o novo CNPJ tiver outro contrato (outros produtos), mande em new-product-ids o produto equivalente de cada tipo de benefício. Senão, a requisição é recusada com 400 e nenhuma movimentação é gerada. Sem new-company-tax-id, só os benefícios com par na lista trocam de plano. Os campos cadastrais valem para todos os benefícios. Benefício sem par e sem campo cadastral não gera movimentação; se nenhum benefício tiver o que mudar, a requisição é recusada (400). Os campos comuns (requested-start-date, reason, documents e os campos cadastrais) acompanham todas as movimentações. Validações: - produto da lista que a empresa não oferece — o novo CNPJ, ou a empresa atual quando não há troca de CNPJ (400); - na troca de CNPJ, produto atual de um benefício sem par que o novo CNPJ não oferece (400, mesma resposta do item anterior); - dois produtos do mesmo tipo em new-product-ids (400); - produto de um tipo de que o membro não tem benefício titular ativo — isso seria uma inclusão; use POST /v1/enrollment/inclusion/{member-tax-id} (400); - membro com mais de um benefício titular ativo do tipo de um produto da lista, sem como saber qual trocar (409); - na troca de CNPJ, dois ou mais benefícios titulares ativos com o mesmo produto atual: eles não podem ser transferidos na mesma requisição (409); - new-company-tax-id de empresa que você não tem permissão para movimentar (403). new-product-id (um único produto) está deprecated: continua aceito e é tratado como uma lista de um item. Enviar new-product-id e new-product-ids juntos dá 400. \u0026gt; Atenção: não repita chaves no mesmo objeto JSON. Com dois new-product-id no mesmo \u0026gt; alteration-data, o parser fica só com o último valor e o primeiro é descartado sem \u0026gt; erro. Para trocar mais de um produto, mande todos em new-product-ids.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Pipo Public API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.piposaude.com.br/api-reference/alteracao-membro\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://pipo.mintlify.site/_mintlify/api/og/v2?division=Movimenta%C3%A7%C3%B5es\u0026amp;title=Altera%C3%A7%C3%A3o+de+membro\u0026amp;description=Solicita+uma+altera%C3%A7%C3%A3o+para+um+membro+titular+j%C3%A1+existente+%E2%80%94+troca+de+plano%2C+troca+da%0Aempresa+vinculada+aos+benef%C3%ADcios+%28CNPJ%29+e%2Fou+corre%C3%A7%C3%A3o+de+dados+cadastrais%2C\u0026amp;theme=a4acaca632e51c712959e88d\u0026amp;signature=d461904a96e30036a494876b1e94bdcadc66b5850c3279a300a26dfb5b5d8dae\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Alteração de membro - Pipo Public API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Solicita uma alteração para um membro titular já existente — troca de plano, troca da empresa vinculada aos benefícios (CNPJ) e/ou correção de dados cadastrais, em uma única requisição. A alteração vale para os benefícios titulares ativos do membro na empresa de company-tax-id, e gera uma movimentação por benefício. alteration-data é um mapa de campos livres: deve conter apenas chaves conhecidas e pelo menos uma das seguintes indicações de mudança: - new-product-ids — lista dos produtos novos (troca de plano); ou o deprecated new-product-id, com um único produto. - new-company-tax-id — troca do CNPJ vinculado aos benefícios. - um ou mais campos cadastrais (name, email, address-, bank-, etc.). Casamento por tipo de benefício. Cada produto de new-product-ids substitui o benefício do membro do mesmo tipo (health-insurance, dental-insurance, life-insurance...). Benefício cujo tipo não aparece na lista segue com o mesmo produto. Um produto igual ao que o benefício já tem também conta como \u0026quot;sem troca\u0026quot;. Consulte o tipo de cada produto em product-type de GET /v1/products. Com new-company-tax-id, todos os benefícios titulares ativos do membro na empresa vão para o novo CNPJ. Benefício com produto do seu tipo na lista troca de plano para esse produto. Benefício sem par continua o mesmo benefício, com o mesmo produto: só passa a ficar vinculado ao novo CNPJ. Um new-company-tax-id igual ao company-tax-id não é troca de CNPJ: a requisição segue as regras sem new-company-tax-id. Na troca de CNPJ, a empresa de destino precisa oferecer o produto que cada benefício terá lá: o da lista, para quem tem par, e o atual, para quem não tem. Se o novo CNPJ tiver outro contrato (outros produtos), mande em new-product-ids o produto equivalente de cada tipo de benefício. Senão, a requisição é recusada com 400 e nenhuma movimentação é gerada. Sem new-company-tax-id, só os benefícios com par na lista trocam de plano. Os campos cadastrais valem para todos os benefícios. Benefício sem par e sem campo cadastral não gera movimentação; se nenhum benefício tiver o que mudar, a requisição é recusada (400). Os campos comuns (requested-start-date, reason, documents e os campos cadastrais) acompanham todas as movimentações. Validações: - produto da lista que a empresa não oferece — o novo CNPJ, ou a empresa atual quando não há troca de CNPJ (400); - na troca de CNPJ, produto atual de um benefício sem par que o novo CNPJ não oferece (400, mesma resposta do item anterior); - dois produtos do mesmo tipo em new-product-ids (400); - produto de um tipo de que o membro não tem benefício titular ativo — isso seria uma inclusão; use POST /v1/enrollment/inclusion/{member-tax-id} (400); - membro com mais de um benefício titular ativo do tipo de um produto da lista, sem como saber qual trocar (409); - na troca de CNPJ, dois ou mais benefícios titulares ativos com o mesmo produto atual: eles não podem ser transferidos na mesma requisição (409); - new-company-tax-id de empresa que você não tem permissão para movimentar (403). new-product-id (um único produto) está deprecated: continua aceito e é tratado como uma lista de um item. Enviar new-product-id e new-product-ids juntos dá 400. \u0026gt; Atenção: não repita chaves no mesmo objeto JSON. Com dois new-product-id no mesmo \u0026gt; alteration-data, o parser fica só com o último valor e o primeiro é descartado sem \u0026gt; erro. Para trocar mais de um produto, mande todos em new-product-ids.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://pipo.mintlify.site/_mintlify/api/og/v2?division=Movimenta%C3%A7%C3%B5es\u0026amp;title=Altera%C3%A7%C3%A3o+de+membro\u0026amp;description=Solicita+uma+altera%C3%A7%C3%A3o+para+um+membro+titular+j%C3%A1+existente+%E2%80%94+troca+de+plano%2C+troca+da%0Aempresa+vinculada+aos+benef%C3%ADcios+%28CNPJ%29+e%2Fou+corre%C3%A7%C3%A3o+de+dados+cadastrais%2C\u0026amp;theme=a4acaca632e51c712959e88d\u0026amp;signature=d461904a96e30036a494876b1e94bdcadc66b5850c3279a300a26dfb5b5d8dae\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/pipo/IA_gVhzdDScpt3NR/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Pipo Public API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#DE785C\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.piposaude.com.br/api-reference/alteracao-membro\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/alteracao-membro.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.piposaude.com.br/#organization\",\"name\":\"Pipo Public API\",\"url\":\"https://docs.piposaude.com.br\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/pipo/y_y-v4rQYb_EIQhG/assets/logos/light.svg?fit=max\u0026auto=format\u0026n=y_y-v4rQYb_EIQhG\u0026q=85\u0026s=b7d7d62ec67777804c7b5f011e594e3a\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.piposaude.com.br#website\",\"name\":\"Pipo Public API\",\"url\":\"https://docs.piposaude.com.br\",\"publisher\":{\"@id\":\"https://docs.piposaude.com.br/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.piposaude.com.br/api-reference/alteracao-membro#webpage\",\"url\":\"https://docs.piposaude.com.br/api-reference/alteracao-membro\",\"name\":\"Alteração de membro\",\"description\":\"Solicita uma alteração para um membro titular já existente — troca de plano, troca da empresa vinculada aos benefícios (CNPJ) e/ou correção de dados cadastrais, em uma única requisição. A alteração vale para os benefícios titulares ativos do membro na empresa de company-tax-id, e gera uma movimentação por benefício. alteration-data é um mapa de campos livres: deve conter apenas chaves conhecidas e pelo menos uma das seguintes indicações de mudança: - new-product-ids — lista dos produtos novos (troca de plano); ou o deprecated new-product-id, com um único produto. - new-company-tax-id — troca do CNPJ vinculado aos benefícios. - um ou mais campos cadastrais (name, email, address-, bank-, etc.). Casamento por tipo de benefício. Cada produto de new-product-ids substitui o benefício do membro do mesmo tipo (health-insurance, dental-insurance, life-insurance...). Benefício cujo tipo não aparece na lista segue com o mesmo produto. Um produto igual ao que o benefício já tem também conta como \\\"sem troca\\\". Consulte o tipo de cada produto em product-type de GET /v1/products. Com new-company-tax-id, todos os benefícios titulares ativos do membro na empresa vão para o novo CNPJ. Benefício com produto do seu tipo na lista troca de plano para esse produto. Benefício sem par continua o mesmo benefício, com o mesmo produto: só passa a ficar vinculado ao novo CNPJ. Um new-company-tax-id igual ao company-tax-id não é troca de CNPJ: a requisição segue as regras sem new-company-tax-id. Na troca de CNPJ, a empresa de destino precisa oferecer o produto que cada benefício terá lá: o da lista, para quem tem par, e o atual, para quem não tem. Se o novo CNPJ tiver outro contrato (outros produtos), mande em new-product-ids o produto equivalente de cada tipo de benefício. Senão, a requisição é recusada com 400 e nenhuma movimentação é gerada. Sem new-company-tax-id, só os benefícios com par na lista trocam de plano. Os campos cadastrais valem para todos os benefícios. Benefício sem par e sem campo cadastral não gera movimentação; se nenhum benefício tiver o que mudar, a requisição é recusada (400). Os campos comuns (requested-start-date, reason, documents e os campos cadastrais) acompanham todas as movimentações. Validações: - produto da lista que a empresa não oferece — o novo CNPJ, ou a empresa atual quando não há troca de CNPJ (400); - na troca de CNPJ, produto atual de um benefício sem par que o novo CNPJ não oferece (400, mesma resposta do item anterior); - dois produtos do mesmo tipo em new-product-ids (400); - produto de um tipo de que o membro não tem benefício titular ativo — isso seria uma inclusão; use POST /v1/enrollment/inclusion/{member-tax-id} (400); - membro com mais de um benefício titular ativo do tipo de um produto da lista, sem como saber qual trocar (409); - na troca de CNPJ, dois ou mais benefícios titulares ativos com o mesmo produto atual: eles não podem ser transferidos na mesma requisição (409); - new-company-tax-id de empresa que você não tem permissão para movimentar (403). new-product-id (um único produto) está deprecated: continua aceito e é tratado como uma lista de um item. Enviar new-product-id e new-product-ids juntos dá 400. > Atenção: não repita chaves no mesmo objeto JSON. Com dois new-product-id no mesmo > alteration-data, o parser fica só com o último valor e o primeiro é descartado sem > erro. Para trocar mais de um produto, mande todos em new-product-ids.\",\"dateModified\":\"2026-11-13T11:55:26.312Z\",\"isPartOf\":{\"@id\":\"https://docs.piposaude.com.br#website\"},\"breadcrumb\":{\"@id\":\"https://docs.piposaude.com.br/api-reference/alteracao-membro#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.piposaude.com.br/api-reference/alteracao-membro#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Movimentações\",\"item\":\"https://docs.piposaude.com.br/api-reference/historico\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Alteração de membro\",\"item\":\"https://docs.piposaude.com.br/api-reference/alteracao-membro\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.piposaude.com.br/api-reference/alteracao-membro#apireference\",\"headline\":\"Alteração de membro\",\"name\":\"Alteração de membro\",\"description\":\"Solicita uma alteração para um membro titular já existente — troca de plano, troca da empresa vinculada aos benefícios (CNPJ) e/ou correção de dados cadastrais, em uma única requisição. A alteração vale para os benefícios titulares ativos do membro na empresa de company-tax-id, e gera uma movimentação por benefício. alteration-data é um mapa de campos livres: deve conter apenas chaves conhecidas e pelo menos uma das seguintes indicações de mudança: - new-product-ids — lista dos produtos novos (troca de plano); ou o deprecated new-product-id, com um único produto. - new-company-tax-id — troca do CNPJ vinculado aos benefícios. - um ou mais campos cadastrais (name, email, address-, bank-, etc.). Casamento por tipo de benefício. Cada produto de new-product-ids substitui o benefício do membro do mesmo tipo (health-insurance, dental-insurance, life-insurance...). Benefício cujo tipo não aparece na lista segue com o mesmo produto. Um produto igual ao que o benefício já tem também conta como \\\"sem troca\\\". Consulte o tipo de cada produto em product-type de GET /v1/products. Com new-company-tax-id, todos os benefícios titulares ativos do membro na empresa vão para o novo CNPJ. Benefício com produto do seu tipo na lista troca de plano para esse produto. Benefício sem par continua o mesmo benefício, com o mesmo produto: só passa a ficar vinculado ao novo CNPJ. Um new-company-tax-id igual ao company-tax-id não é troca de CNPJ: a requisição segue as regras sem new-company-tax-id. Na troca de CNPJ, a empresa de destino precisa oferecer o produto que cada benefício terá lá: o da lista, para quem tem par, e o atual, para quem não tem. Se o novo CNPJ tiver outro contrato (outros produtos), mande em new-product-ids o produto equivalente de cada tipo de benefício. Senão, a requisição é recusada com 400 e nenhuma movimentação é gerada. Sem new-company-tax-id, só os benefícios com par na lista trocam de plano. Os campos cadastrais valem para todos os benefícios. Benefício sem par e sem campo cadastral não gera movimentação; se nenhum benefício tiver o que mudar, a requisição é recusada (400). Os campos comuns (requested-start-date, reason, documents e os campos cadastrais) acompanham todas as movimentações. Validações: - produto da lista que a empresa não oferece — o novo CNPJ, ou a empresa atual quando não há troca de CNPJ (400); - na troca de CNPJ, produto atual de um benefício sem par que o novo CNPJ não oferece (400, mesma resposta do item anterior); - dois produtos do mesmo tipo em new-product-ids (400); - produto de um tipo de que o membro não tem benefício titular ativo — isso seria uma inclusão; use POST /v1/enrollment/inclusion/{member-tax-id} (400); - membro com mais de um benefício titular ativo do tipo de um produto da lista, sem como saber qual trocar (409); - na troca de CNPJ, dois ou mais benefícios titulares ativos com o mesmo produto atual: eles não podem ser transferidos na mesma requisição (409); - new-company-tax-id de empresa que você não tem permissão para movimentar (403). new-product-id (um único produto) está deprecated: continua aceito e é tratado como uma lista de um item. Enviar new-product-id e new-product-ids juntos dá 400. > Atenção: não repita chaves no mesmo objeto JSON. Com dois new-product-id no mesmo > alteration-data, o parser fica só com o último valor e o primeiro é descartado sem > erro. Para trocar mais de um produto, mande todos em new-product-ids.\",\"url\":\"https://docs.piposaude.com.br/api-reference/alteracao-membro\",\"mainEntityOfPage\":{\"@id\":\"https://docs.piposaude.com.br/api-reference/alteracao-membro#webpage\"},\"dateModified\":\"2026-11-13T11:55:26.312Z\",\"publisher\":{\"@id\":\"https://docs.piposaude.com.br/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.piposaude.com.br#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Pipo Public API\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Pipo Public API\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/alteracao-membro.md","siteName":"Pipo Public API","nav":{"global":null,"tabs":[{"tab":"Documentação API","pages":[{"title":"Documentação API","href":"/docs/comecar/introducao"}]},{"tab":"Endpoints API","groups":[{"group":"Autenticação","pages":[{"title":"Autenticar","openapi":"openapi.yaml POST /v1/authenticate","href":"/api-reference/autenticar"}]},{"group":"Empresas","pages":[{"title":"Listar empresas","openapi":"openapi.yaml GET /v1/company","href":"/api-reference/listar-empresas"},{"title":"Obter empresa","openapi":"openapi.yaml GET /v1/company/{company-tax-id}","href":"/api-reference/obter-empresa"},{"title":"Histórico de movimentações da empresa","openapi":"openapi.yaml GET /v1/company/{company-tax-id}/enrollment-history","href":"/api-reference/historico-empresa"},{"title":"Listar membros da empresa","openapi":"openapi.yaml GET /v1/company/{company-tax-id}/members","href":"/api-reference/membros-empresa"}]},{"group":"Benefícios","pages":[{"title":"Listar produtos","openapi":"openapi.yaml GET /v1/products","href":"/api-reference/listar-produtos"}]},{"group":"Faturas","pages":[{"title":"Listar faturas","openapi":"openapi.yaml GET /v1/invoices","href":"/api-reference/listar-faturas"},{"title":"Faturas pendentes e vencidas","openapi":"openapi.yaml GET /v1/invoices/pending-payment","href":"/api-reference/faturas-pendentes"},{"title":"Baixar arquivo da fatura","openapi":"openapi.yaml GET /v1/invoices/{invoice-id}/download","href":"/api-reference/baixar-fatura"}]},{"group":"Movimentações","pages":[{"title":"Histórico completo de movimentações","openapi":"openapi.yaml GET /v1/enrollment/history","href":"/api-reference/historico"},{"title":"Movimentações em andamento","openapi":"openapi.yaml GET /v1/enrollment/ongoing","href":"/api-reference/em-andamento"},{"title":"Detalhe de uma movimentação","openapi":"openapi.yaml GET /v1/enrollment/detail/{enrollment-id}","href":"/api-reference/detalhe"},{"title":"Inclusão em lote","openapi":"openapi.yaml POST /v1/enrollment/inclusion","href":"/api-reference/inclusao-em-lote"},{"title":"Inclusão de benefício em membro existente","openapi":"openapi.yaml POST /v1/enrollment/inclusion/{member-tax-id}","description":"Inclui um novo benefício para um membro já existente.","href":"/api-reference/inclusao-beneficio"},{"title":"Alteração de membro","openapi":"openapi.yaml POST /v1/enrollment/alteration/{member-tax-id}","href":"/api-reference/alteracao-membro"},{"title":"Exclusão de benefícios primários","openapi":"openapi.yaml POST /v1/enrollment/exclusion/{member-tax-id}","description":"Exclui todos os benefícios primários de um membro na empresa-alvo.","href":"/api-reference/exclusao-primarios"},{"title":"Exclusão de benefícios de dependente","openapi":"openapi.yaml POST /v1/enrollment/exclusion/{member-tax-id}/dependent-of/{primary-member-tax-id}","href":"/api-reference/exclusao-dependente"},{"title":"Exclusão de um benefício específico","openapi":"openapi.yaml POST /v1/enrollment/exclusion/{member-tax-id}/benefit/{benefit-id}","href":"/api-reference/exclusao-beneficio"},{"title":"Exclusão de benefício por produto","openapi":"openapi.yaml POST /v1/enrollment/exclusion/{member-tax-id}/product/{product-id}","href":"/api-reference/exclusao-produto"},{"title":"Gerar URL de upload de documento","openapi":"openapi.yaml POST /v1/enrollment/document-upload-url","href":"/api-reference/upload-url"}]},{"group":"Membros","pages":[{"title":"Listar todos os membros","openapi":"openapi.yaml GET /v1/member","href":"/api-reference/listar-membros"},{"title":"Obter membro","openapi":"openapi.yaml GET /v1/member/{member-id}","href":"/api-reference/obter-membro"}]},{"group":"Utilitários","pages":[{"title":"Health check","openapi":"openapi.yaml GET /v1/health-check","href":"/api-reference/health-check"},{"title":"Consultar status de requisição","openapi":"openapi.yaml GET /v1/request/{request-id}","href":"/api-reference/consultar-requisicao"}]}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/introducao"}]}]},"basePath":"","title":"Alteração de membro - Pipo Public API","buildId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","deploymentId":"dpl_Fyv1NbzwP68g2bEH2Roy98uY1zmE","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DdEMm2kG.js","utils-BMo572L7.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-C-4m9KAx.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DPLK2Oq9.js","snippetPresets-BKjfJMC9.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-DTsgtCEj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-C8vmhyQM.js","shallow-r9w8LQGS.js","getApiPlaygroundDisplay-DjPI64HQ.js","CodeSnippet-C8Bvhl16.js","CodeSnippets-BtWUwcMy.js","Page-BIYvYBgk.js","getPastedJson-Dcm_3Pgl.js","icon-BXwrTpjc.js","MethodPill-CcjfVmmy.js","DuplicateIcon-BuKIbXAQ.js","createIcon-DaL9yXsO.js","DynamicMarkdown-Co5nikxh.js","SectionHeading-P4UNTsMZ.js","axios-vUo_bRtp.js","Markdown-CEfymfIH.js","clsx-Dq9TQuNi.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-D2J8knkn.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-BgZ2ThuU.js"]}