Appearance
Conta e acesso — /access (descontinuado)
WARNING
Prefira a API v1: /v1/auth/* (autenticação), /v1/users (usuários), /v1/organizations.
Envelope padrão salvo onde indicado. Endpoints 🔒 exigem Authorization: Bearer <token>.
Cadastro (onboarding)
POST /access/register 🌐
Abre uma solicitação de conta e envia código de validação de e-mail (4 letras).
Entrada (corpo JSON):
| Campo | Tipo | Regras |
|---|---|---|
name | string | obrigatório, máx. 255 |
email | string | obrigatório, e-mail, único no sistema |
address | string | obrigatório, máx. 255 |
document | string | obrigatório, 11 (CPF) ou 14 (CNPJ) dígitos, válido, único no sistema |
Saída: 200, envelope com data = registro criado, message: "Abertura de Conta Realizada". 422 em validação; 200 com message de erro se o documento não tiver 11/14 dígitos.
POST /access/register-full 🌐
Cria a conta e o usuário de uma vez e retorna um token de acesso.
Entrada (corpo JSON):
| Campo | Tipo | Regras |
|---|---|---|
name | string | obrigatório |
email | string | obrigatório, e-mail, único |
document | string | obrigatório, 11 ou 14 dígitos, único |
password | string | obrigatório, mín. 5 |
phone | string | opcional |
account_type | mixed | opcional (derivado do documento) |
bank_id | int | opcional (default: banco ativo) |
Saída: 201, data: { token, time, account, user, roles }, message: "Cadastrado com sucesso". 422 em documento inválido / validação.
GET /access/register/status 🌐
Entrada (query): document (obrigatório, 11–14). Saída: 200, data: { document, id, email, name, account_type, account_status }. 404 se não houver registro.
POST /access/register/email 🌐
Reenvia o código de validação de e-mail (bloqueado por 2 min entre envios). Entrada (corpo): document (obrigatório, 11–14), register_id (obrigatório). Saída: 200, data = registro, message: "Email Enviado". 400 se enviado há menos de 2 min.
POST /access/register/images 🌐
Envia os 2 documentos com foto do cadastro (multipart/form-data). Entrada: image01, image02 (arquivo, jpeg/png/jpg, ≤ 2 MB), document (11–14), register_id. Saída: 200, data = registro, message: "Imagens Enviadas".
POST /access/account/get-token 🌐
Emite um JWT de curta duração (10 min) a partir do e-mail e da chave de API da conta. Entrada (corpo): email (obrigatório, e-mail), token (obrigatório — a chave de API da conta). Saída: 200, data: { token, token_type: "Bearer", expires_at (ISO-8601), permissions[] }. 401 se e-mail/token/vínculo forem inválidos.
Autenticação — /access/auth
POST /access/auth/login 🌐
Entrada (corpo JSON):
| Campo | Tipo | Regras |
|---|---|---|
email | string | obrigatório |
password | string | obrigatório |
device_name | string | opcional (default dashboard; dashboard_sass muda o formato da resposta) |
Saída (device_name padrão): 200 (sem envelope):
json
{ "token": "<jwt>", "session_duration": 24, "expires_at": "2026-09-09 12:00:00", "session_id": 10 }Saída (device_name = dashboard_sass): { token, session_duration, expires_at, user, roles }. 401 { "error": "..." } em credenciais inválidas ou usuário sem vínculo de conta.
GET /access/auth/me 🔒
Entrada: header Authorization. Saída: 200 (sem envelope): { account, user, permissions[], role, accounts[] }.
POST /access/auth/logout 🔒
Entrada: header Authorization. Saída: 200 { "message": "Successfully logged out" }.
PUT /access/auth/refresh 🔒
Entrada: header Authorization. Saída: 200 { token, session_duration, expires_at, session_id }. 401 se não puder renovar.
PUT /access/auth/edit 🔒
Edita o próprio usuário; exige a senha atual. Entrada (corpo JSON): current_password (obrigatório), new_password (opcional), além name, email, document, phone. Saída: 200, chave user, message: "Usuário atualizado com sucesso". 401 se current_password estiver errada.
POST /access/auth/forgot 🌐
Entrada (corpo JSON): document (obrigatório), email (obrigatório, e-mail, existente), url (obrigatório, URL — base do link enviado no e-mail). Saída: 201, mensagem de confirmação. Envia um código por e-mail.
POST /access/auth/reset 🌐
Entrada (corpo JSON): token (obrigatório — o código recebido por e-mail), password (obrigatório, mín. 6, confirme a senha em password_confirmation). Saída: 200 { "message": "Senha foi redefinida com sucesso" }. 422 se o código expirou (> 1 h).
POST /access/auth/send-verification-code 🔒
Entrada (corpo JSON): email (obrigatório, existente e igual ao do usuário autenticado). Saída: 200, message: "Código de verificação enviado com sucesso" (código de 6 dígitos por e-mail).
POST /access/auth/verify-email 🔒
Entrada (corpo JSON): email (obrigatório, e-mail), verification_code (obrigatório, string). Saída: 200 { "message": "E-mail verificado com sucesso!" }. 400 se o código for inválido.
Conta — /access
GET /access/accounts 🔒
Entrada: header Authorization. Saída: 200, chave accounts — array de contas do usuário. Cada conta: { id, code_account, client_id, name, email, document, agency, account, token, status: {code,title}, webhook_url, path_logo, bank, bank_id, address:{...}, smtp, notification_rules, boleto_configs, taxes:{pix_in,pix_out,boleto_in,boleto,bolepix,fee}, limits:{...}, has_pin, created_at, updated_at }.
GET /access/account 🔒
Entrada: header Authorization (usa a conta ativa). Saída: 200, chave account — objeto de conta (mesmo formato acima), message: "Conta obtida com sucesso."
PUT /access/account · PUT /access/accounts 🔒
Atualiza a conta ativa. Autorização extra: exige pin correto no corpo.
Entrada (corpo JSON — todos opcionais salvo pin):
| Campo | Tipo | Regras |
|---|---|---|
pin | string | obrigatório, numérico, 6 dígitos (PIN atual) |
new_pin | string | numérico, 6 dígitos, não sequencial/repetido |
name | string | máx. 100 |
email | string | e-mail, máx. 100 |
document | string | máx. 20 |
webhook_url | string | URL |
address | object | street, number, city, state (2), zip_code |
smtp | object | host, port, user, password, encryption (tls/ssl), from_name, from_address |
notification_rules | object | chaves on_creation, on_payment, before_due, after_due, on_due, on_update, on_delete; cada uma com enabled (bool), message (≤500), channels[] (email/whatsapp/sms), e days nas de vencimento |
boleto_configs | object | rate, discount (numéricos), type_rate, type_discount (PERCENTAGE/ABSOLUTE) |
logo | file|string | arquivo ou string base64 data:image/... |
Saída: 200, chave account, message: "Conta atualizada com sucesso."403 se pin estiver ausente/incorreto; 422 em validação.
POST /access/account/pin 🔒
Define o PIN transacional pela primeira vez. Entrada (corpo JSON): pin (obrigatório, 6 caracteres), confirm_pin (obrigatório, igual a pin). Saída: 200, chave account, message: "Pin definido com sucesso." 400 se já havia PIN definido.
Usuários da conta — /access/manager/users
Recurso REST. usuário: { id, user_id, account_id, user:{id,name,email,phone,document,status}, role:{id,name}, created_at, updated_at }.
GET /access/manager/users 🔒
Entrada (query): page (default 1), per_page (default 100), search (nome/e-mail/documento), status, role. Saída: 200 { data: [usuários], meta: {total,page,limit,total_pages,has_next_page,has_prev_page}, message }. Exclui o próprio usuário e os usuários com role API.
POST /access/manager/users 🔒
Entrada (corpo JSON):
| Campo | Tipo | Regras |
|---|---|---|
name | string | obrigatório, máx. 30 |
email | string | obrigatório, e-mail, único |
document | string | obrigatório, único |
role | int | obrigatório, id existente |
password | string | mín. 5; obrigatório se a role ≠ API |
phone | string | opcional |
Saída: 201, usuário, message: "Usuário criado com sucesso!"
GET /access/manager/users/{id} 🔒
Entrada: path id (é o id do vínculo user_account, da conta ativa). Saída: 200, usuário. 404 se não pertencer à conta.
PUT/PATCH /access/manager/users/{id} 🔒
Entrada (corpo JSON, opcionais): name (máx. 30), email (único, ignora id), document (único), phone, password (mín. 6), role (id existente), status (0/1). Saída: 200, usuário, message: "Usuário atualizado com sucesso!"
DELETE /access/manager/users/{id} 🔒
Entrada: path id. Saída: 200, usuário, message: "Usuário removido com sucesso!"422 se tentar remover a si mesmo.
Tokens de API — /access/manager/api-tokens
Recurso REST. Mesma estrutura de usuário (usuários com role API).
GET /access/manager/api-tokens 🔒
Entrada (query): page, per_page (default 100), search. Saída: 200 { data: [usuários], message }.
POST /access/manager/api-tokens 🔒
Entrada (corpo JSON): name (obrigatório, máx. 30), email (obrigatório, e-mail, único), document (obrigatório, único), phone (opcional). Saída: 201, usuário, message: "Usuário API criado com sucesso!" (cria o usuário e atribui a role API).
GET /access/manager/api-tokens/{id} 🔒
Entrada: path id. Saída: 200, usuário, message: "Usuário API recuperado com sucesso!"
PUT/PATCH /access/manager/api-tokens/{id} 🔒
Entrada (corpo JSON): name (obrigatório, máx. 30), email (obrigatório, único, ignora o próprio), document (obrigatório, único), phone (opcional). Saída: 200, usuário, message: "Usuário API atualizado com sucesso!"
DELETE /access/manager/api-tokens/{id} 🔒
Entrada: path id. Saída: 200, usuário, message: "Usuário API removido com sucesso!" (remove o vínculo e o usuário se não tiver outras contas).
GET /access/manager/guard/roles 🔒
Entrada: header Authorization. Saída: 200 — lista paginada de papéis (guard_name = api, com permissions), excluindo papéis administrativos e API.
Notificações — /access/auth/notifications
Cada notificação: { id, type, notifiable_type, notifiable_id, data: {...}, read_at, created_at, updated_at }.
GET /access/auth/notifications 🔒
Entrada (query): per_page (default 15), unread_only (bool, default false). Saída: 200 { data: [notificações], meta: {...}, unread_count }.
GET /access/auth/notifications/unread 🔒
Entrada (query): per_page (default 15). Saída: 200 { data: [notificações], meta: {...} }.
GET /access/auth/notifications/unread-count 🔒
Entrada: header Authorization. Saída: 200 { "unread_count": 3 }.
PUT /access/auth/notifications/{id}/read 🔒
Entrada: path id. Saída: 200 { "message": "Notificação marcada como lida", "notification": {...} }. 404 se não existir.
PUT /access/auth/notifications/mark-all-read 🔒
Entrada: header Authorization. Saída: 200 { "message": "Todas as notificações foram marcadas como lidas", "unread_count": 0 }.
DELETE /access/auth/notifications/{id} 🔒
Entrada: path id. Saída: 200 { "message": "Notificação deletada com sucesso" }.
DELETE /access/auth/notifications/read/all 🔒
Entrada: header Authorization. Saída: 200 { "message": "Notificações lidas deletadas com sucesso", "deleted_count": 12 }.
Entregas de webhook — /access/webhook-notifications
GET /access/webhook-notifications 🔒
Entrada (query): filtros de paginação/período (page, per_page, start_date, end_date), quando aplicável. Saída: 200 — lista paginada das tentativas de entrega de webhook da conta (evento, status, tentativas, timestamps).
GET /access/webhook-notifications/{id} 🔒
Entrada: path id. Saída: 200 — detalhe de uma entrega: payload enviado, resposta recebida, status. 404 se não existir.