POST/api/v2/baas/onboardings/{proposalId}/natural-persons

Cadastrar

Produto BaaS (parceiro). Requer Bearer JWT e assinatura HMAC obrigatória. Scope: baas.onboarding-natural-persons.write. Guia: documentação técnica.

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

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

Corpo (POST)

CampoObrigatórioDescrição
documentSimCPF, 11 dígitos sem máscara
device.os_version_nameSimSO do dispositivo
birth_date, phone, full_name, social_name, emailNãoRepassados quando enviados

Resposta (200)

Objeto da PF com id (personId), status, journey e demais campos do cadastro. Endereço, files e conta aparecem após o PATCH.

Erros comuns

  • 404 Customer not found: proposta sem titular criado
  • 400: document ou device inválidos

Notas

curl --request POST \
  --url 'https://api-h.nuvende.com.br/api/v2/baas/onboardings/352/natural-persons' \
  --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 '{"document":"11144477735","device":{"os_version_name":"Android 14"}}'
const axios = require("axios");

const data = {
  "document": "11144477735",
  "device": {
    "os_version_name": "Android 14"
  }
};

axios({
  method: "post",
  url: "https://api-h.nuvende.com.br/api/v2/baas/onboardings/352/natural-persons",
  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"
payload = {
        "document": "11144477735",
        "device": {
            "os_version_name": "Android 14"
        }
    }
headers = {
    "Content-Type": "application/json",
    "Accept": "application/json",
    "Authorization": "Bearer {{access_token}}",
    "X-Timestamp": "{{timestamp}}",
    "X-Nonce": "{{nonce}}",
    "X-Signature": "{{signature}}",
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
print(response.text)
<?php
$curl = curl_init();
$opts = [
  CURLOPT_URL => 'https://api-h.nuvende.com.br/api/v2/baas/onboardings/352/natural-persons',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_CUSTOMREQUEST => 'POST',
  CURLOPT_POSTFIELDS => '{"document":"11144477735","device":{"os_version_name":"Android 14"}}',
  CURLOPT_HTTPHEADER => [
    'Content-Type: application/json',
    'Accept: application/json',
    'Authorization: Bearer {{access_token}}',
    'X-Timestamp: {{timestamp}}',
    'X-Nonce: {{nonce}}',
    'X-Signature: {{signature}}',
  ],
];
curl_setopt_array($curl, $opts);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
{
  "id": "268",
  "document": "111***77735",
  "status": "pending"
}