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

Cadastrar

Produto BaaS (parceiro). Requer Bearer JWT e assinatura HMAC obrigatória. Scope: baas.onboarding-legal-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-legal-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
documentSimCNPJ, 14 dígitos sem máscara
device.os_version_nameSimSO do dispositivo

Demais campos societários podem ser enviados e são repassados.

Resposta (200)

Objeto da PJ com id (personId), journey, owners[], company e demais campos quando presentes.

Erros comuns

  • 404 Customer not found: proposta sem titular
  • 400: validação de document ou device

Notas

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

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

axios({
  method: "post",
  url: "https://api-h.nuvende.com.br/api/v2/baas/onboardings/352/legal-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/legal-persons"
payload = {
        "document": "43587980000107",
        "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();
curl_setopt_array($curl, [
  CURLOPT_URL => 'https://api-h.nuvende.com.br/api/v2/baas/onboardings/352/legal-persons',
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_POST => true,
  CURLOPT_POSTFIELDS => '{"document":"43587980000107","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}}',
  ],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
{
  "id": "269",
  "document": "43587980000107",
  "status": "pending"
}