Stater Platform

Cadastrar pessoa física

POST /persons — cria PF no tenant, devolve JWT e onboardingLink para KYC.

Cadastrar pessoa física

Cria uma pessoa física no tenant, devolve um JWT pronto pra uso e um onboardingLink pra completar o KYC. A entidade começa com status=PENDING e só passa a operar Pix/TEF/Cobranças após concluir o cadastro no link.

POST/persons

Endpoint público — não requer Authorization, só X-Tenant-Id pra identificar a marca. document é o CPF (11 dígitos, apenas números). A resposta já traz um JWT válido (type=PERSON, expira em 1 hora) — você pode usar imediatamente, mas até o KYC concluir (status=PENDING, onboardingStep≠DONE) operações de Pix/TEF/Cobranças ficam bloqueadas. Sempre direcione a pessoa pra onboardingLink antes do primeiro uso real. Depois do KYC, o login posterior é feito por POST /authenticate.

Headers

  • AcceptObrigatório
    string
    application/json
  • Content-TypeObrigatório
    string
    application/json
  • X-Tenant-IdObrigatório
    string (UUID)
    Identificador do tenant que vai receber a nova pessoa.

Body

  • nameObrigatório
    string
    Nome completo da pessoa.
  • documentObrigatório
    string
    CPF (11 dígitos, apenas números).
  • emailObrigatório
    string
    E-mail de login da pessoa. Único dentro do tenant.
  • passwordObrigatório
    string
    Senha de acesso da pessoa — usada depois em /authenticate.

Exemplo de requisição

bash
curl -X POST https://baas.staterpay.io/persons \  -H "Accept: application/json" \  -H "Content-Type: application/json" \  -H "X-Tenant-Id: 00000000-0000-0000-0000-000000000000" \  -d '{    "name": "Fulano de Tal",    "document": "12345678900",    "email": "fulano@example.com",    "password": "12345678"  }'

Resposta

  • person
    object
    Dados da pessoa criada.
  • person.id
    string (UUID)
    ID interno da pessoa.
  • person.email
    string
    E-mail informado (eco).
  • person.emailConfirmation
    boolean
    Se o e-mail já foi confirmado. Inicialmente false.
  • person.phone
    string | null
    Telefone. null no cadastro inicial — definido durante o KYC.
  • person.phoneConfirmation
    boolean
    Se o telefone foi confirmado.
  • person.name
    string
    Nome informado (eco).
  • person.document
    string
    CPF informado (eco).
  • person.status
    "PENDING" | "ACTIVE" | "BLOCKED"
    Estado da pessoa. Sempre PENDING na criação.
  • person.onboardingStep
    "PENDING" | "IN_PROGRESS" | "DONE"
    Etapa atual do KYC. Inicialmente PENDING.
  • person.onboardingLink
    string (URL)
    URL para a pessoa completar o cadastro/KYC. Redirecione/envie pra ela.
  • person.onboardingRequisitionId
    number
    ID da requisição de onboarding no provider de KYC.
  • person.hasPin
    boolean
    Se a pessoa já definiu PIN operacional. Inicialmente false.
  • token
    string (JWT)
    JWT já pronto pra uso em chamadas autenticadas (Authorization: Bearer <token>). Payload tem type="PERSON" e expira em 1 hora.
json
{  "person": {    "id": "00000000-0000-0000-0000-0000000000a1",    "email": "fulano@example.com",    "emailConfirmation": false,    "phone": null,    "phoneConfirmation": false,    "name": "Fulano de Tal",    "document": "12345678900",    "status": "PENDING",    "onboardingStep": "PENDING",    "onboardingLink": "https://cadastro.example.com/00000000000000000000000000000000",    "onboardingRequisitionId": 0,    "hasPin": false  },  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.<payload>.<signature>"}
URL base:https://baas.staterpay.io

On this page