Business Accounts

Ciclo de Vida

Fluxo com KYC Aprovado

Fluxo com KYC Rejeitado

Status

Status
Descrição

PENDING

KYC em processamento

KYC_APPROVED

KYC aprovado, aguardando ativação

KYC_REPROVED

KYC rejeitado, necessário corrigir dados

ACTIVE

Conta ativa e operacional

BLOCKED

Conta bloqueada temporariamente

CLOSED

Conta encerrada permanentemente


POST /v1/accounts/business

Cria uma nova conta bancária PJ. O processo de KYC é iniciado automaticamente.

Headers adicionais:

Header
Obrigatório
Descrição

X-Seller-Id

Sim

ID do seller na Barte

Request:

Campos — Business

Campo
Tipo
Obrigatório
Validação

externalId

String

Não

Máximo 36 caracteres

document

String

Sim

CNPJ: exatamente 14 dígitos numéricos. Ex: 12345678000199

legalName

String

Sim

Não pode estar vazio

tradingName

String

Não

-

email

String

Sim

Email válido (RFC 5322). Ex: [email protected]

phoneNumber

String

Sim

Formato: 55 + DDD (2 dígitos) + número (8-9 dígitos). Total: 12-13 dígitos. Ex: 5511999999999 (celular) ou 551133334444 (fixo)

foundingDate

String

Sim

Data ISO 8601: YYYY-MM-DD. Ex: 2020-01-15

businessType

String

Sim

Enum: MEI, EI, EIRELI, LTDA, SS, SA, NON_PROFIT

mainActivity

String

Não

CNAE: 7 dígitos. Ex: 4712100

address

Object

Sim

Objeto de endereço (ver tabela abaixo)

shareholders

Array

Sim

Lista de sócios. Mínimo: 1

Campos — Address

Campo
Tipo
Obrigatório
Validação

street

String

Sim

Apenas letras e espaços (sem números). Ex: Avenida Paulista, Rua das Flores

number

String

Sim

Número do endereço. Pode conter letras. Ex: 1000, 123A

complement

String

Não

Complemento. Ex: Sala 101, Bloco B

neighborhood

String

Sim

Bairro. Não pode estar vazio

postalCode

String

Sim

CEP: exatamente 8 dígitos numéricos, sem hífen. Ex: 01310100

city

String

Sim

Cidade. Não pode estar vazio

state

String

Sim

UF: 2 letras maiúsculas. Ex: SP, RJ, MG

country

String

Não

Código do país (ISO 3166-1 alpha-3). Default: BRA

Campos — Shareholder

Campo
Tipo
Obrigatório
Validação

document

String

Sim

CPF (11 dígitos) ou CNPJ (14 dígitos), apenas números. Ex: 12345678900 (CPF), 12345678000199 (CNPJ)

firstName

String

Sim

Primeiro nome (pessoa física). Não pode estar vazio

lastName

String

Sim

Sobrenome (pessoa física). Não pode estar vazio

birthDate

String

Sim

Data ISO 8601: YYYY-MM-DD. Ex: 1990-05-20

legalName

String

Não

Nome completo ou razão social

email

String

Não

Email válido (RFC 5322), se informado

phoneNumber

String

Não

Formato: 55 + DDD + número. Total: 12-13 dígitos, se informado. Ex: 5511988888888

type

String

Sim

Enum: PARTNER, PROXYHOLDER, LEGAL_REPRESENTATIVE, OTHER

address

Object

Sim

Objeto de endereço (mesma estrutura acima)

Tipos de Shareholder

Tipo
Descrição

PARTNER

Sócio

PROXYHOLDER

Procurador

LEGAL_REPRESENTATIVE

Representante legal

OTHER

Outro

Response — 202 Accepted:

Response — 400 Bad Request (validação):

Response — 409 Conflict (CNPJ duplicado):

Response — 409 Conflict (externalId duplicado):

Status Codes:

Status
Descrição

202 Accepted

Conta criada, KYC em processamento

400 Bad Request

Dados inválidos ou campos obrigatórios ausentes

401 Unauthorized

Token inválido ou expirado

403 Forbidden

Certificado mTLS inválido

409 Conflict

CNPJ ou externalId já cadastrado


GET /v1/accounts/business

Busca contas por filtros. Pelo menos um filtro é obrigatório.

Query Parameters:

Parâmetro
Tipo
Obrigatório
Descrição

externalId

String

Não*

ID de referência do parceiro

document

String

Não*

CNPJ da empresa (14 dígitos)

*Pelo menos um dos filtros é obrigatório.

Request:

Response — 200 OK:

Retorna o objeto BusinessAccountResponse (mesmo formato do POST).

Response — 400 Bad Request (filtro ausente):

Response — 403 Forbidden (conta de outra instituição):

Response — 404 Not Found:

Status Codes:

Status
Descrição

200 OK

Sucesso

400 Bad Request

Nenhum filtro informado

401 Unauthorized

Token inválido ou expirado

403 Forbidden

Conta pertence a outra instituição

404 Not Found

Conta não encontrada


GET /v1/accounts/business/{businessId}

Consulta os dados de uma conta por ID.

Path Parameters:

Parâmetro
Tipo
Descrição

businessId

UUID

ID da conta (UUID v4)

Request:

Response — 200 OK:

Campos — kycDetails

Campo
Tipo
Descrição

status

String

PENDING, KYC_APPROVED ou KYC_REPROVED

reviewedAt

String

Data/hora da análise (ISO 8601)

reasons

Array

Motivos da rejeição (se aplicável)

Status Codes:

Status
Descrição

200 OK

Sucesso

401 Unauthorized

Token inválido ou expirado

403 Forbidden

Conta não pertence ao parceiro

404 Not Found

Conta não encontrada


PUT /v1/accounts/business/{businessId}

Atualiza os dados de uma conta. Dispara novo ciclo de KYC.

Não permitido quando status é PENDING. Aguarde o resultado do KYC atual.

Path Parameters:

Parâmetro
Tipo
Descrição

businessId

UUID

ID da conta (UUID v4)

Request:

Nota: O document (CNPJ) é imutável. A conta é identificada pelo businessId na URL.

Response — 200 OK:

Retorna o objeto completo da conta com status: "PENDING".

Response — 409 Conflict (KYC em andamento):

Status Codes:

Status
Descrição

200 OK

Dados atualizados, novo KYC iniciado

400 Bad Request

Dados inválidos

401 Unauthorized

Token inválido

403 Forbidden

Conta não pertence ao parceiro

404 Not Found

Conta não encontrada

409 Conflict

KYC em andamento, aguarde resultado


POST /v1/accounts/business/{businessId}/activate

Ativa uma conta após aprovação do KYC.

Pré-requisito: Status deve ser KYC_APPROVED.

Path Parameters:

Parâmetro
Tipo
Descrição

businessId

UUID

ID da conta (UUID v4)

Request:

Response — 200 OK:

Response — 409 Conflict (KYC não aprovado):

Response — 409 Conflict (conta já ativa):

Status Codes:

Status
Descrição

200 OK

Conta ativada com sucesso

401 Unauthorized

Token inválido

403 Forbidden

Conta não pertence ao parceiro

404 Not Found

Conta não encontrada

409 Conflict

KYC não aprovado ou conta já ativa

Last updated

Was this helpful?