Stater Platform

Cadastrar pessoa jurídica

POST /companies — cria PJ no tenant, devolve JWT e onboardingLink para KYC empresarial.

Cadastrar pessoa jurídica

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

POST/companies

Endpoint público — não requer Authorization, só X-Tenant-Id pra identificar a marca. document é o CNPJ (14 dígitos, apenas números). A resposta já traz um JWT válido (type=COMPANY, 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. O onboarding de PJ inclui dados dos sócios e pode levar mais tempo que o de PF. 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 empresa.

Body

  • nameObrigatório
    string
    Razão social da empresa.
  • documentObrigatório
    string
    CNPJ (14 dígitos, apenas números).
  • emailObrigatório
    string
    E-mail de login da empresa. Único dentro do tenant.
  • passwordObrigatório
    string
    Senha de acesso da empresa — usada depois em /authenticate.

Exemplo de requisição

bash
curl -X POST https://baas.staterpay.io/companies \  -H "Accept: application/json" \  -H "Content-Type: application/json" \  -H "X-Tenant-Id: 00000000-0000-0000-0000-000000000000" \  -d '{    "name": "NOME EMPRESA LTDA",    "document": "12345678000190",    "email": "contato@exemplo.com.br",    "password": "12345678"  }'

Resposta

  • company
    object
    Dados da empresa criada.
  • company.id
    string (UUID)
    ID interno da empresa.
  • company.email
    string
    E-mail informado (eco).
  • company.emailConfirmation
    boolean
    Se o e-mail já foi confirmado. Inicialmente false.
  • company.phone
    string | null
    Telefone. null no cadastro inicial — definido durante o KYC.
  • company.phoneConfirmation
    boolean
    Se o telefone foi confirmado.
  • company.name
    string
    Razão social informada (eco).
  • company.document
    string
    CNPJ informado (eco).
  • company.status
    "PENDING" | "ACTIVE" | "BLOCKED"
    Estado da empresa. Sempre PENDING na criação.
  • company.onboardingStep
    "PENDING" | "IN_PROGRESS" | "DONE"
    Etapa atual do KYC. Inicialmente PENDING.
  • company.onboardingLink
    string (URL)
    URL para a empresa completar o cadastro/KYC empresarial (incluindo sócios). Redirecione/envie pra ela.
  • company.onboardingRequisitionId
    number
    ID da requisição de onboarding no provider de KYC.
  • company.hasPin
    boolean
    Se a empresa já definiu PIN operacional. Inicialmente false.
  • token
    string (JWT)
    JWT já pronto pra uso em chamadas autenticadas (Authorization: Bearer <token>). Payload tem type="COMPANY" e expira em 1 hora.
json
{  "company": {    "id": "00000000-0000-0000-0000-0000000000a2",    "email": "contato@exemplo.com.br",    "emailConfirmation": false,    "phone": null,    "phoneConfirmation": false,    "name": "NOME EMPRESA LTDA",    "document": "12345678000190",    "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