> ## Documentation Index
> Fetch the complete documentation index at: https://docs.z2pay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Atualizar recebedor

> Corrige os dados cadastrais de um recebedor que você cadastrou.

`PATCH /recipients/:id`

Faz parte do recurso [Recebedores](/pt-BR/recipients) — os estados do vínculo, o ciclo de aprovação
e o catálogo de pendências estão lá.

Atualização parcial: envie só os campos que quer alterar. É por aqui que se corrige o que a análise
apontou em `pendencies`.

<Warning>
  **O cadastro tem um dono.** O mesmo recebedor pode receber de várias contas — o vínculo é por
  documento —, mas os dados cadastrais pertencem à conta que o criou. Se o cadastro foi criado por
  outra conta e você apenas o tem vinculado, a alteração responde `403`.
</Warning>

<Warning>
  **`document` e `kind` não são alteráveis.** O documento é o que identifica o recebedor na
  plataforma inteira — trocá-lo seria outra pessoa. Se o documento está errado, o caminho é
  [cadastrar de novo](/pt-BR/recipients/create) com o correto e
  [desvincular](/pt-BR/recipients/delete) o antigo.
</Warning>

<Note>
  **Corrigir os dados não reabre a análise sozinho.** A atualização grava o cadastro; a nova rodada
  acontece quando o conjunto volta a estar completo. Acompanhe por
  [`GET /recipients/{id}`](/pt-BR/recipients/get) ou pelos webhooks `recipient.*` — ver
  [Ciclo de aprovação](/pt-BR/recipients#ciclo-de-aprovação-kyc).
</Note>

<Note>
  **O titular da conta bancária tem de ser o próprio recebedor.** A exceção é o MEI, em que também
  vale o CPF do representante legal. Qualquer outro titular é recusado.
</Note>

## Exemplo

```bash theme={null}
curl -X PATCH https://api.sandbox.z2pay.com/v1/recipients/rec_v57bi6ruyolouw3cpaq2ofy1k \
  -H "x-api-key: SUA_CHAVE_DE_SANDBOX" \
  -H "Content-Type: application/json" \
  -d '{
    "phone": "+5511912345678",
    "website": "https://lojadojoao.com.br"
  }'
```

```json Resposta 200 theme={null}
{
  "id": "rec_v57bi6ruyolouw3cpaq2ofy1k",
  "name": "Loja do João ME",
  "document": "12345678000190",
  "email": "financeiro@lojadojoao.com.br",
  "phone": "+5511912345678",
  "website": "https://lojadojoao.com.br",
  "role": "seller",
  "status": "pending"
}
```

<Note>
  O exemplo está abreviado — o playground ao lado mostra o corpo inteiro.
</Note>


## OpenAPI

````yaml openapi/psp.json PATCH /recipients/{id}
openapi: 3.0.3
info:
  title: Z2Pay PSP API
  version: 1.0.0
  description: API pública do PSP — autenticação via API Key (Credential)
servers:
  - url: https://api.sandbox.z2pay.com/v1
    description: Sandbox
  - url: https://api.z2pay.com/v1
    description: Produção
security: []
tags:
  - name: Cards
    description: Cartões salvos de um cliente
  - name: Chargebacks
    description: Gerenciamento de chargebacks
  - name: Customers
    description: Gerenciamento de clientes (compradores)
  - name: Fees
    description: Tabela de taxas da conta (pix, boleto, cartão, saque, refund, chargeback)
  - name: Recipients
    description: Gerenciamento de recebedores (sellers/merchants que recebem repasses)
  - name: Refunds
    description: Gerenciamento de reembolsos e estornos
  - name: Splits
    description: Regras de divisão do valor de uma venda entre recebedores
  - name: Transactions
    description: Gerenciamento de transações e payments
  - name: Wallets
    description: Saldo, extrato e resumo da carteira de um recebedor, agrupados por moeda
  - name: Webhooks
    description: Configuração, gerenciamento e histórico de entregas de webhooks
  - name: Withdrawals
    description: Solicitação e acompanhamento de saques (payouts) por recipient
paths:
  /recipients/{id}:
    patch:
      tags:
        - Recipients
      summary: Atualizar recebedor
      description: >-
        Só quem cadastrou o recebedor pode alterá-lo. `document` e `kind` não
        são alteráveis — trocar o documento exige um cadastro novo.
      operationId: RecipientController_update
      parameters:
        - name: id
          in: path
          required: true
          description: ID do recebedor
          schema:
            type: string
        - name: Idempotency-Key
          in: header
          required: false
          description: Chave única para garantir idempotência da requisição
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  minLength: 2
                email:
                  type: string
                  format: email
                phone:
                  type: string
                  nullable: true
                type:
                  type: string
                  enum:
                    - individual
                    - company
                companyType:
                  type: string
                  nullable: true
                companyLegalName:
                  type: string
                  nullable: true
                companyFoundingDate:
                  type: string
                  nullable: true
                annualRevenue:
                  type: integer
                  minimum: 0
                  maximum: 100000000000000
                corporationType:
                  type: string
                  nullable: true
                birthDate:
                  type: string
                  nullable: true
                motherName:
                  type: string
                  nullable: true
                profession:
                  type: string
                  nullable: true
                monthlyIncome:
                  type: integer
                  minimum: 0
                  maximum: 100000000000000
                  nullable: true
                legalRepresentativeInfo:
                  type: object
                  properties:
                    name:
                      type: string
                    email:
                      type: string
                      format: email
                    document:
                      type: string
                    motherName:
                      type: string
                      nullable: true
                    birthdate:
                      type: string
                      nullable: true
                    monthlyIncome:
                      type: integer
                      minimum: 0
                      maximum: 100000000000000
                    profession:
                      type: string
                      nullable: true
                    phone:
                      type: string
                      nullable: true
                    selfDeclaredRepresentative:
                      type: boolean
                  required:
                    - name
                    - document
                  nullable: true
                pixKeyType:
                  type: string
                  nullable: true
                pixKey:
                  type: string
                  nullable: true
                website:
                  type: string
                  nullable: true
                address:
                  type: object
                  properties:
                    address:
                      type: string
                      nullable: true
                    number:
                      type: string
                      nullable: true
                      description: Número do endereço.
                    complement:
                      type: string
                      nullable: true
                      description: Complemento do endereço (apartamento, bloco, sala).
                    neighborhood:
                      type: string
                      nullable: true
                      description: Bairro.
                    city:
                      type: string
                      nullable: true
                      description: Cidade.
                    state:
                      type: string
                      maxLength: 2
                      nullable: true
                      description: 'Estado ou UF (ex.: SP).'
                    postalCode:
                      type: string
                      nullable: true
                      description: CEP / código postal (somente dígitos).
                    referencePoint:
                      type: string
                      nullable: true
                bankAccount:
                  type: object
                  properties:
                    bankHolderName:
                      type: string
                      minLength: 2
                    bankHolderDocument:
                      type: string
                      minLength: 11
                    bankHolderType:
                      type: string
                      nullable: true
                    bankCode:
                      type: string
                      minLength: 1
                    bankName:
                      type: string
                      nullable: true
                    bankAgency:
                      type: string
                      minLength: 1
                    bankAccount:
                      type: string
                      minLength: 1
                    bankAccountDigit:
                      type: string
                      nullable: true
                    bankAccountType:
                      type: string
                      nullable: true
                  required:
                    - bankHolderName
                    - bankHolderDocument
                    - bankCode
                    - bankAgency
                    - bankAccount
                files:
                  type: object
                  properties:
                    identificationDocument:
                      type: string
                    selfie:
                      type: string
                    socialContract:
                      type: string
      responses:
        '200':
          description: Recebedor atualizado
          content:
            application/json:
              schema:
                type: object
                properties:
                  id:
                    type: string
                    description: Identificador único do registro.
                  accountName:
                    type: string
                    nullable: true
                    description: Nome da conta do recebedor.
                  name:
                    type: string
                    description: Nome do registro.
                  email:
                    type: string
                    description: E-mail de contato.
                  phone:
                    type: string
                    nullable: true
                    description: Telefone de contato.
                  document:
                    type: string
                    description: Documento (CPF ou CNPJ) do titular.
                  type:
                    type: string
                    description: >-
                      Tipo do recebedor: `individual` (pessoa física) ou
                      `company` (pessoa jurídica).
                  companyType:
                    type: string
                    nullable: true
                    description: Tipo ou natureza jurídica da empresa.
                  companyLegalName:
                    type: string
                    nullable: true
                    description: Razão social da empresa.
                  companyFoundingDate:
                    type: string
                    format: date-time
                    nullable: true
                    description: Data de fundação da empresa (ISO 8601).
                  annualRevenue:
                    type: integer
                    nullable: true
                    description: Faturamento anual do recebedor, em centavos.
                  corporationType:
                    type: string
                    nullable: true
                    description: Tipo societário da empresa.
                  birthDate:
                    type: string
                    format: date-time
                    nullable: true
                    description: Data de nascimento do recebedor (ISO 8601).
                  motherName:
                    type: string
                    nullable: true
                    description: Nome da mãe do recebedor.
                  profession:
                    type: string
                    nullable: true
                    description: Profissão do recebedor.
                  monthlyIncome:
                    type: integer
                    nullable: true
                    description: Renda mensal do recebedor, em centavos.
                  legalRepresentativeInfo:
                    type: object
                    nullable: true
                    description: Dados do representante legal da empresa.
                  pixKeyType:
                    type: string
                    nullable: true
                    description: 'Tipo da chave PIX (ex.: email, cpf, cnpj, phone, random).'
                  pixKey:
                    type: string
                    nullable: true
                    description: Chave PIX do recebedor.
                  website:
                    type: string
                    nullable: true
                    description: Site do recebedor.
                  mainAddress:
                    type: object
                    nullable: true
                    description: Endereço principal do recebedor.
                  defaultBankAccount:
                    type: object
                    nullable: true
                    description: Conta bancária padrão do recebedor.
                  documents:
                    type: array
                    items:
                      type: object
                    nullable: true
                    description: Documentos enviados para verificação (KYC) do recebedor.
                  role:
                    type: string
                    description: 'Papel do recebedor no split (ex.: seller).'
                  status:
                    type: string
                    description: >-
                      Situação da conta bancária. Valores: `active`, `inactive`,
                      `pending`.
                  splitValue:
                    type: number
                    nullable: true
                    description: >-
                      Valor do split do recebedor (percentual ou fixo, conforme
                      splitType).
                  splitType:
                    type: string
                    nullable: true
                    description: >-
                      Tipo do valor de split do recebedor (ex.: percentage,
                      fixed).
                  pixAntecipationDays:
                    type: integer
                    nullable: true
                    description: Prazo de antecipação para PIX, em dias.
                  bankSlipAntecipationDays:
                    type: integer
                    nullable: true
                    description: Prazo de antecipação para boleto, em dias.
                  creditCardAntecipationDays:
                    type: integer
                    nullable: true
                    description: Prazo de antecipação para cartão de crédito, em dias.
                  approvedAt:
                    type: string
                    format: date-time
                    nullable: true
                    description: Data e hora em que o recebedor foi aprovado (ISO 8601).
                  refusedAt:
                    type: string
                    format: date-time
                    nullable: true
                    description: Data e hora em que o recebedor foi recusado (ISO 8601).
                  analysisComplete:
                    type: boolean
                    description: >-
                      Indica se a análise cadastral terminou. `false` enquanto
                      houver rodada de análise aberta para este recebedor na sua
                      conta.
                  pendencies:
                    type: array
                    items:
                      type: object
                    description: >-
                      Pendências apontadas pela análise. Cada item traz `code`
                      (estável, para automação), `field`, `severity` (`blocking`
                      ou `warning`), `status` (`open` ou `resolved`), `message`
                      e `action` (texto traduzido) e as datas do grupo.
                  pendenciesSummary:
                    type: object
                    description: >-
                      Contagem das pendências abertas: `open` (total),
                      `blocking` e `warning`.
                  createdAt:
                    type: string
                    format: date-time
                    description: Data e hora de criação do registro (ISO 8601).
                  updatedAt:
                    type: string
                    format: date-time
                    description: Data e hora da última atualização do registro (ISO 8601).
              example:
                id: rec_gk1o75xv3ioi4eoqosorz9s62
                accountName: Loja do Joao
                name: Joao da Silva
                email: joao.silva@example.com
                phone: '+5511987654321'
                document: '12345678901'
                type: individual
                companyType: null
                companyLegalName: null
                companyFoundingDate: null
                annualRevenue: null
                corporationType: null
                birthDate: '1990-04-12T00:00:00.000Z'
                motherName: Maria da Silva
                profession: Comerciante
                monthlyIncome: 850000
                legalRepresentativeInfo: null
                pixKeyType: email
                pixKey: joao.silva@example.com
                website: https://lojadojoao.com.br
                mainAddress:
                  id: radr_n5t8wqz2mxk9rpf4hc7ydv3bj
                  recipientId: rec_gk1o75xv3ioi4eoqosorz9s62
                  address: Rua das Flores
                  number: '123'
                  complement: Apto 45
                  neighborhood: Centro
                  city: Sao Paulo
                  state: SP
                  postalCode: '01001000'
                  referencePoint: null
                  isMain: true
                  isActive: true
                defaultBankAccount:
                  id: rba_bg9eddocogegc2pbjyexzd104
                  recipientId: rec_gk1o75xv3ioi4eoqosorz9s62
                  status: active
                  bankHolderName: Joao da Silva
                  bankHolderDocument: '12345678901'
                  bankHolderType: individual
                  bankCode: '341'
                  bankName: Itau Unibanco
                  bankAgency: '1234'
                  bankAccount: '567890'
                  bankAccountDigit: '1'
                  bankAccountType: checking
                documents: []
                role: seller
                status: active
                splitValue: 10
                splitType: percentage
                pixAntecipationDays: null
                bankSlipAntecipationDays: null
                creditCardAntecipationDays: null
                approvedAt: '2025-06-20T14:30:00.000Z'
                refusedAt: null
                analysisComplete: true
                pendencies: []
                pendenciesSummary:
                  open: 0
                  blocking: 0
                  warning: 0
                createdAt: '2025-06-18T09:15:00.000Z'
                updatedAt: '2025-06-20T14:30:00.000Z'
        '400':
          description: >-
            Requisição inválida — algum parâmetro ou campo do corpo não passou
            na validação
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: >-
                          Identificador estável do erro. É por ele que você deve
                          ramificar, não pela mensagem.
                      message:
                        type: string
                        description: >-
                          Descrição legível. Pode mudar sem aviso e não deve ser
                          usada em condicional.
                      issues:
                        type: array
                        description: >-
                          Um item por campo rejeitado. Nunca vem vazio: se há
                          400 de validação, há pelo menos um.
                        items:
                          type: object
                          properties:
                            path:
                              type: string
                              description: >-
                                Campo que falhou. Vem vazio quando o erro é do
                                corpo como um todo.
                            message:
                              type: string
                              description: O que há de errado com esse campo.
              example:
                error:
                  code: VALIDATION_ERROR
                  message: Validation failed
                  issues:
                    - path: status
                      message: >-
                        Status inválido. Valores aceitos: pending,
                        waiting_payment, paid, refused, canceled, refunded
                    - path: startDate
                      message: >-
                        Data deve ser ISO 8601 com timezone (ex.:
                        2026-06-24T00:00:00Z)
        '401':
          description: Chave de API ausente, malformada ou inválida
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      code:
                        type: string
                        description: >-
                          Identificador estável do erro. É por ele que você deve
                          ramificar, não pela mensagem.
                      message:
                        type: string
                        description: >-
                          Descrição legível. Pode mudar sem aviso e não deve ser
                          usada em condicional.
              example:
                error:
                  code: UNAUTHORIZED
                  message: Invalid API key
        '409':
          description: >-
            Já existe uma requisição em andamento com esta Idempotency-Key. A
            API aguarda a primeira concluir por até 5 segundos antes de
            responder assim
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: >-
                      Mensagem do conflito de idempotência. Aqui `error` é
                      texto, não objeto — ramifique pelo status HTTP.
              example:
                error: A request with this idempotency key is already being processed
        '422':
          description: >-
            Idempotency-Key já usada com um corpo diferente. Use uma chave nova
            para uma operação diferente
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    description: >-
                      Mensagem do conflito de idempotência. Aqui `error` é
                      texto, não objeto — ramifique pelo status HTTP.
              example:
                error: Idempotency key already used with a different request body
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: x-api-key
      description: API Key da Credential (gerada no Backoffice)

````