PATCH/api/v2/baas/onboardings/{proposalId}/natural-persons/{personId}

Atualizar

Produto BaaS (parceiro). Scope: baas.onboarding-natural-persons.write. Campos obrigatorios do schema para concluir KYC e abertura de conta PF. Guia: documentacao tecnica.

Parâmetros

AcceptObrigatório
header
Tipo:string
X-SignatureObrigatório
header

Assinatura HMAC-SHA256 da requisição (hex).

Tipo:string
X-TimestampObrigatório
header

Timestamp Unix (segundos, UTC) usado na assinatura.

Tipo:string
X-NonceObrigatório
header

Nonce único por requisição (anti-replay).

Tipo:string
proposalIdObrigatório
path
Tipo:string
personIdObrigatório
path
Tipo:string

Autenticação e headers

Requer Bearer token e assinatura HMAC obrigatórios. Scope: baas.onboarding-natural-persons.write.

HeaderObrigatórioDescrição
AuthorizationSimBearer {{access_token}}
AcceptSimapplication/json
X-SignatureSimAssinatura HMAC
X-TimestampSimTimestamp da assinatura
X-NonceSimNonce único por requisição

Path

ParâmetroDescrição
proposalIdID da proposta concluída
personIdID da PF retornado no POST

Corpo (PATCH)

Todos os campos abaixo são obrigatórios para enviar o cadastro à análise KYC e abertura de conta.

CampoObrigatórioDescrição
full_nameSimmáx. 255
social_nameSimmáx. 255
emailSimE-mail válido
phoneSim8 a 11 dígitos
birth_dateSimY-m-d
accepted_terms_atSimY-m-d H:i:s (termos da conta PF)
device.os_version_nameSimSO do dispositivo
email_verification_codeSimOTP do GET imediato
address.zip_codeSimCEP, 8 dígitos
address.streetSimmáx. 255
address.numberSimmáx. 255
address.citySimCidade
address.neighborhoodSimBairro
address.stateSimUF, 2 letras
address.complementNãoComplemento
filesSimMín. 3: identidade frente/verso (ou CNH) e selfie
files[].sideCondicionalfront ou back quando type é document ou drivers_license
monthly_gross_incomeSimRenda bruta mensal
is_political_exposedSimPEP (boolean)
device.os_name, device.os_version, device.ip_address, device.ip_address_local, device.engine_name, device.engine_version, device.platform_model, device.platform_vendor, device.firebase_token, device.latitude, device.longitudeSimObjeto device completo (recomendado; HTTP exige só os_version_name)

Tipos de files[].type: document, drivers_license, digital_drivers_license, selfie.

Erros comuns

CódigoCorpoCausa
404Customer not foundProposta sem PATCH cadastral completo
422{campo}Campo obrigatório ausente ou files incompleto

Notas

  • Técnica: Pessoa física.
  • Corpo JSON com base64 deve ser idêntico ao usado na assinatura HMAC.
curl --request PATCH \
  --url 'https://api-h.nuvende.com.br/api/v2/baas/onboardings/352/natural-persons/268' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'X-Timestamp: {{timestamp}}' \
  --header 'X-Nonce: {{nonce}}' \
  --header 'X-Signature: {{signature}}' \
  --data '{"birth_date":"1990-05-20","phone":"11987654321","full_name":"Maria Pagadora Exemplo","social_name":"Maria Exemplo","email":"[email protected]","accepted_terms_at":"2025-01-15 10:30:00","password":"SenhaExemplo123","password_confirmation":"SenhaExemplo123","notifications_enabled":false,"document":"11144477735","monthly_gross_income":5000,"is_political_exposed":false,"email_verification_code":"123456","device":{"os_version_name":"Android 14","os_name":"Android","os_version":"14.0.0","ip_address":"203.0.113.10","ip_address_local":"192.168.1.5","engine_name":"Exemplo Smartphone","engine_version":"exemplo-device-id-001","platform_model":"SM-S911B","platform_vendor":"Samsung","firebase_token":"exemplo-firebase-token","latitude":-23.5505,"longitude":-46.6333},"address":{"zip_code":"01310100","street":"Avenida Exemplo","number":"1000","complement":"Sala 1","city":"Sao Paulo","neighborhood":"Bela Vista","state":"SP"},"files":[{"type":"document","path":"data:image/jpeg;base64,exemplo-ficticio","side":"front"},{"type":"document","path":"data:image/jpeg;base64,exemplo-ficticio","side":"back"},{"type":"selfie","path":"data:image/jpeg;base64,exemplo-ficticio"}]}'
const axios = require("axios");

const data = {
  "birth_date": "1990-05-20",
  "phone": "11987654321",
  "full_name": "Maria Pagadora Exemplo",
  "social_name": "Maria Exemplo",
  "email": "[email protected]",
  "accepted_terms_at": "2025-01-15 10:30:00",
  "password": "SenhaExemplo123",
  "password_confirmation": "SenhaExemplo123",
  "notifications_enabled": false,
  "document": "11144477735",
  "monthly_gross_income": 5000,
  "is_political_exposed": false,
  "email_verification_code": "123456",
  "device": {
    "os_version_name": "Android 14",
    "os_name": "Android",
    "os_version": "14.0.0",
    "ip_address": "203.0.113.10",
    "ip_address_local": "192.168.1.5",
    "engine_name": "Exemplo Smartphone",
    "engine_version": "exemplo-device-id-001",
    "platform_model": "SM-S911B",
    "platform_vendor": "Samsung",
    "firebase_token": "exemplo-firebase-token",
    "latitude": -23.5505,
    "longitude": -46.6333
  },
  "address": {
    "zip_code": "01310100",
    "street": "Avenida Exemplo",
    "number": "1000",
    "complement": "Sala 1",
    "city": "Sao Paulo",
    "neighborhood": "Bela Vista",
    "state": "SP"
  },
  "files": [
    {
      "type": "document",
      "path": "data:image/jpeg;base64,exemplo-ficticio",
      "side": "front"
    },
    {
      "type": "document",
      "path": "data:image/jpeg;base64,exemplo-ficticio",
      "side": "back"
    },
    {
      "type": "selfie",
      "path": "data:image/jpeg;base64,exemplo-ficticio"
    }
  ]
};

axios({
  method: "patch",
  url: "https://api-h.nuvende.com.br/api/v2/baas/onboardings/352/natural-persons/268",
  headers: {
    "Content-Type": "application/json",
    Accept: "application/json",
    Authorization: "Bearer {{access_token}}",
    "X-Timestamp": "{{timestamp}}",
    "X-Nonce": "{{nonce}}",
    "X-Signature": "{{signature}}",
  },
  data,
})
  .then((response) => console.log(JSON.stringify(response.data)))
  .catch((error) => console.log(error.response?.data || error.message));
import json
import requests

url = "https://api-h.nuvende.com.br/api/v2/baas/onboardings/352/natural-persons/268"
payload = {
        "birth_date": "1990-05-20",
        "phone": "11987654321",
        "full_name": "Maria Pagadora Exemplo",
        "social_name": "Maria Exemplo",
        "email": "[email protected]",
        "accepted_terms_at": "2025-01-15 10:30:00",
        "password": "SenhaExemplo123",
        "password_confirmation": "SenhaExemplo123",
        "notifications_enabled": False,
        "document": "11144477735",
        "monthly_gross_income": 5000,
        "is_political_exposed": False,
        "email_verification_code": "123456",
        "device": {
            "os_version_name": "Android 14",
            "os_name": "Android",
            "os_version": "14.0.0",
            "ip_address": "203.0.113.10",
            "ip_address_local": "192.168.1.5",
            "engine_name": "Exemplo Smartphone",
            "engine_version": "exemplo-device-id-001",
            "platform_model": "SM-S911B",
            "platform_vendor": "Samsung",
            "firebase_token": "exemplo-firebase-token",
            "latitude": -23.5505,
            "longitude": -46.6333
        },
        "address": {
            "zip_code": "01310100",
            "street": "Avenida Exemplo",
            "number": "1000",
            "complement": "Sala 1",
            "city": "Sao Paulo",
            "neighborhood": "Bela Vista",
            "state": "SP"
        },
        "files": [
            {
                "type": "document",
                "path": "data:image/jpeg;base64,exemplo-ficticio",
                "side": "front"
            },
            {
                "type": "document",
                "path": "data:image/jpeg;base64,exemplo-ficticio",
                "side": "back"
            },
            {
                "type": "selfie",
                "path": "data:image/jpeg;base64,exemplo-ficticio"
            }
        ]
    }
headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {{access_token}}",
    "X-Timestamp": "{{timestamp}}",
    "X-Nonce": "{{nonce}}",
    "X-Signature": "{{signature}}",
}
response = requests.patch(url, headers=headers, data=json.dumps(payload))
print(response.text)
<?php
$curl = curl_init();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api-h.nuvende.com.br/api/v2/baas/onboardings/352/natural-persons/268',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => 'PATCH',
  CURLOPT_POSTFIELDS => '{"birth_date":"1990-05-20","phone":"11987654321","full_name":"Maria Pagadora Exemplo","social_name":"Maria Exemplo","email":"[email protected]","accepted_terms_at":"2025-01-15 10:30:00","password":"SenhaExemplo123","password_confirmation":"SenhaExemplo123","notifications_enabled":false,"document":"11144477735","monthly_gross_income":5000,"is_political_exposed":false,"email_verification_code":"123456","device":{"os_version_name":"Android 14","os_name":"Android","os_version":"14.0.0","ip_address":"203.0.113.10","ip_address_local":"192.168.1.5","engine_name":"Exemplo Smartphone","engine_version":"exemplo-device-id-001","platform_model":"SM-S911B","platform_vendor":"Samsung","firebase_token":"exemplo-firebase-token","latitude":-23.5505,"longitude":-46.6333},"address":{"zip_code":"01310100","street":"Avenida Exemplo","number":"1000","complement":"Sala 1","city":"Sao Paulo","neighborhood":"Bela Vista","state":"SP"},"files":[{"type":"document","path":"data:image/jpeg;base64,exemplo-ficticio","side":"front"},{"type":"document","path":"data:image/jpeg;base64,exemplo-ficticio","side":"back"},{"type":"selfie","path":"data:image/jpeg;base64,exemplo-ficticio"}]}',
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Accept: application/json',
    'Authorization: Bearer {{access_token}}',
    'X-Timestamp: {{timestamp}}',
    'X-Nonce: {{nonce}}',
    'X-Signature: {{signature}}',
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
{
  "id": "268",
  "document": "111***77735",
  "status": "completed",
  "full_name": "Maria Pagadora Exemplo",
  "social_name": "Maria Exemplo",
  "email": "[email protected]",
  "phone": "11987654321",
  "birth_date": "1990-05-20",
  "accepted_terms_at": "2025-01-15 10:30:00",
  "notifications_enabled": false,
  "updated_at": "2025-01-15T12:15:00Z"
}
curl --request PATCH \
  --url 'https://api-h.nuvende.com.br/api/v2/baas/onboardings/352/natural-persons/268' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'X-Timestamp: {{timestamp}}' \
  --header 'X-Nonce: {{nonce}}' \
  --header 'X-Signature: {{signature}}' \
  --data '{"birth_date":"1990-05-20","phone":"11987654321","full_name":"Maria Pagadora Exemplo","social_name":"Maria Exemplo","email":"[email protected]","accepted_terms_at":"2025-01-15 10:30:00","device":{"os_version_name":"Android 14"},"address":{"zip_code":"01310100","street":"Avenida Exemplo","number":"1000"},"files":[{"type":"drivers_license","path":"data:image/jpeg;base64,exemplo-ficticio","side":"front"},{"type":"drivers_license","path":"data:image/jpeg;base64,exemplo-ficticio","side":"back"},{"type":"selfie","path":"data:image/jpeg;base64,exemplo-ficticio"}]}'
curl --request PATCH \
  --url 'https://api-h.nuvende.com.br/api/v2/baas/onboardings/352/natural-persons/268' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json' \
  --header 'Authorization: Bearer {{access_token}}' \
  --header 'X-Timestamp: {{timestamp}}' \
  --header 'X-Nonce: {{nonce}}' \
  --header 'X-Signature: {{signature}}' \
  --data '{"birth_date":"1990-05-20","phone":"11987654321","full_name":"Maria Pagadora Exemplo","social_name":"Maria Exemplo","email":"[email protected]","accepted_terms_at":"2025-01-15 10:30:00","device":{"os_version_name":"Android 14"},"address":{"zip_code":"01310100","street":"Avenida Exemplo","number":"1000"},"files":[{"type":"digital_drivers_license","path":"data:application/pdf;base64,exemplo-ficticio"},{"type":"selfie","path":"data:image/jpeg;base64,exemplo-ficticio"}]}'
{
  "message": "The files field is required.",
  "errors": {
    "files": ["The files field is required."]
  }
}
{
  "message": "Customer not found"
}