# Estudo De Paridade Total - Coreproviders Para Monetarie

Gerado em 2026-06-24 21:38:53 .

## Conclusao executiva

O escopo dos tres fronts foi mapeado de forma estatica e reproduzivel. As rotas e menus coreproviders relevantes agora estao cobertos ou explicitamente adaptados; os itens restantes sao gaps de backend/API/RBAC ou handoffs documentados. Cabines PIX, SPB e STA ficaram fora da validacao executada nesta rodada, conforme escopo atual.

## Resumo geral

| Frente | Arquivos CP | Arquivos Monetarie | Mesmo caminho | Adaptados caminho | Faltas caminho | Rotas faltantes | Menus faltantes | APIs locais sem rota estatica | Gaps RBAC | RBAC invalido |
| --- | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: | ---: |
| ib-front / banking | 137 | 193 | 125 | 12 | 0 | 0 | 0 | 0 | 0 | 0 |
| merchant-front / merchant | 120 | 139 | 114 | 6 | 0 | 0 | 0 | 0 | 0 | 0 |
| coreadmin-front / admin | 186 | 521 | 186 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |

## Validacao local

- `git diff --check`: codigo `0`
- `admin pnpm build`: codigo `0`
  ```text
Executado manualmente nesta rodada: pnpm --filter @monetarie/admin build.
  ```
- `banking pnpm build`: codigo `na`
  ```text
Nao reexecutado nesta continuacao; usuario pediu continuidade em merchant-front e coreadmin-front.
  ```
- `merchant pnpm build`: codigo `0`
  ```text
Executado manualmente nesta rodada: pnpm --filter @monetarie/merchant-portal build.
  ```
- `backend mix compile`: codigo `0`
  ```text
Executado manualmente nesta rodada: mix compile.
  ```

## ib-front / banking

Port funcional do banking coreproviders para o banking Monetarie, preservando identidade visual e fluxos locais.

- Arquivos coreproviders: 137
- Arquivos Monetarie: 193
- Arquivos no mesmo caminho: 125
- Arquivos adaptados em caminho/fluxo local: 12
- Arquivos faltando no mesmo caminho: 0
- Rotas faltantes por name: 0
- Rotas equivalentes com nome/path local diferente: 2
- Menus faltantes por path normalizado: 0
- APIs locais sem rota Phoenix detectada estaticamente: 0
- Gaps RBAC: 0
- RBAC invalido contra seed local: 0

### Rotas faltantes por name

- Nenhuma.

### Rotas equivalentes com nome/path local diferente

- CP `business-onboarding` `/business-onboarding` -> local `business-onboarding-cnpj` `/business-onboarding` (`src/views/nextcode-onboarding/NextCodeOnboardingView.vue`)
- CP `inTransit` `in-transit` -> local `in-transit` `in-transit` (`src/views/in-transit/InTransitView.vue`)

### Menus faltantes por path normalizado

- Nenhum.

### Arquivos adaptados em caminho/fluxo local

- `src/shared/api/index.ts`: Adaptado para src/http/api.ts e src/lib/api.ts locais.
- `src/shared/components/FlxBottomNav.vue`: Design system consumido via pacote @monetarie/shared/components.
- `src/shared/components/FlxDrawer.vue`: Design system consumido via pacote @monetarie/shared/components.
- `src/shared/components/FlxFinancialCard.vue`: Design system consumido via pacote @monetarie/shared/components.
- `src/shared/components/FlxHeader.vue`: Design system consumido via pacote @monetarie/shared/components.
- `src/shared/components/FlxQuickAction.vue`: Design system consumido via pacote @monetarie/shared/components.
- `src/shared/components/FlxSidebar.vue`: Design system consumido via pacote @monetarie/shared/components.
- `src/shared/components/index.ts`: Design system consumido via pacote @monetarie/shared/components.
- `src/shared/i18n/index.ts`: I18n local fica nos arquivos src/i18n/*.
- `src/shared/theme/index.ts`: Tema consumido via pacote @monetarie/shared/theme.
- `src/shared/theme/useTheme.ts`: Tema consumido via pacote @monetarie/shared/theme.
- `src/views/settings/ChangePasswordView.vue`: Fluxo local mantido em src/views/auth/ChangePasswordView.vue.

### APIs coreproviders ausentes no mesmo contrato frontend local

- `POST /onboarding/register` em `src/composables/useNextCodeOnboarding.ts:27`
- `POST /onboarding/resend-otp` em `src/composables/useNextCodeOnboarding.ts:51`
- `POST /onboarding/verify-otp` em `src/composables/useNextCodeOnboarding.ts:69`
- `GET /onboarding/status/:var` em `src/composables/useNextCodeOnboarding.ts:102`
- `POST /onboarding/register` em `src/composables/useBusinessOnboarding.ts:25`
- `POST /onboarding/verify-otp` em `src/composables/useBusinessOnboarding.ts:35`
- `POST /onboarding/resend-otp` em `src/composables/useBusinessOnboarding.ts:45`
- `POST /accounts/:var/transfers` em `src/composables/useTransfer.ts:70`
- `GET /transfers/favorites` em `src/composables/useTransfer.ts:84`
- `POST /transfers/favorites` em `src/composables/useTransfer.ts:98`
- `DELETE /transfers/favorites/:var` em `src/composables/useTransfer.ts:112`
- `GET /transfers/lookup-account` em `src/composables/useTransfer.ts:125`
- `POST /accounts/:var/transfers/ted` em `src/composables/useTransfer.ts:141`
- `GET /banks` em `src/composables/useTransfer.ts:155`
- `GET /accounts` em `src/stores/account.ts:35`
- `GET /accounts/:var/balance` em `src/stores/account.ts:63`
- `POST /auth/logout` em `src/http/api.ts:79`
- `POST /auth/verify-email` em `src/http/api.ts:86`
- `POST /auth/resend-verification` em `src/http/api.ts:88`
- `POST /auth/change-password` em `src/http/api.ts:97`
- `GET /merchants` em `src/http/api.ts:102`
- `GET /merchants/:var` em `src/http/api.ts:103`
- `PUT /merchants/:var` em `src/http/api.ts:105`
- `POST /merchants/accept-invitation` em `src/http/api.ts:107`
- `GET /accounts` em `src/http/api.ts:113`
- `GET /accounts/:var` em `src/http/api.ts:114`
- `POST /accounts` em `src/http/api.ts:116`
- `PUT /accounts/:var` em `src/http/api.ts:118`
- `DELETE /accounts/:var` em `src/http/api.ts:119`
- `POST /transactions/:var/retry-payout` em `src/http/api.ts:142`
- `POST /pix/dict-lookup` em `src/http/api.ts:156`
- `POST /pix/charges` em `src/http/api.ts:158`
- `GET /webhooks` em `src/http/api.ts:185`
- `GET /webhooks/:var` em `src/http/api.ts:186`
- `POST /webhooks` em `src/http/api.ts:188`
- `PUT /webhooks/:var` em `src/http/api.ts:190`
- `DELETE /webhooks/:var` em `src/http/api.ts:191`
- `GET /webhooks/:var/events` em `src/http/api.ts:193`
- `GET /api-keys` em `src/http/api.ts:199`
- `POST /api-keys` em `src/http/api.ts:201`
- `DELETE /api-keys/:var` em `src/http/api.ts:202`
- `POST /accounts/:var/transfers/between-accounts` em `src/http/api.ts:218`
- `GET /fees` em `src/http/api.ts:224`
- `GET /limits` em `src/http/api.ts:229`
- `GET /meds` em `src/http/api.ts:234`
- `GET /meds/:var` em `src/http/api.ts:235`
- `GET /med-cautelar-blocks` em `src/http/api.ts:241`
- `GET /med-cautelar-blocks/:var` em `src/http/api.ts:242`
- `GET /med-cautelar-blocks/:var/refunds` em `src/http/api.ts:243`
- `POST /med-cautelar-blocks/:var/defense` em `src/http/api.ts:245`
- `GET /webhooks/events` em `src/http/api.ts:251`
- `GET /transactions/search` em `src/views/TransactionSearchView.vue:42`
- `GET /analytics/dashboard` em `src/views/DashboardAnalyticsView.vue:60`
- `POST /auth/check-cnpj` em `src/views/LoginView.vue:85`
- `GET /analytics/dashboard` em `src/views/DashboardView.vue:230`
- `GET /limits` em `src/views/LimitsView.vue:107`
- `GET /fees` em `src/views/FeesView.vue:130`
- `GET /transactions/:var/receipt` em `src/views/receipts/ReceiptView.vue:175`
- `POST /auth/change-password` em `src/views/settings/ChangePasswordView.vue:79`
- `GET /auth/sessions` em `src/views/security/SecurityView.vue:271`
- `GET /accounts` em `src/views/security/GrantAccessView.vue:227`
- `POST /auth/change-password` em `src/views/auth/FirstAccessView.vue:60`
- `POST /auth/verify-sms/send` em `src/views/auth/FirstAccessView.vue:84`
- `POST /auth/verify-sms/check` em `src/views/auth/FirstAccessView.vue:100`
- `POST /auth/verify-email/send` em `src/views/business-onboarding/Step2EmailView.vue:80`
- `POST /auth/verify-email/check` em `src/views/business-onboarding/Step2EmailView.vue:132`
- `GET /accounts` em `src/views/transfer/TransferScheduledView.vue:72`
- `GET /accounts` em `src/views/transfer/TransferHistoryView.vue:63`
- `GET /transfers/favorites` em `src/views/transfer/TransferSendView.vue:50`
- `POST /transfers` em `src/views/transfer/TransferSendConfirmView.vue:182`
- `GET /transactions/search` em `src/views/statement/StatementView.vue:130`
- `GET /accounts/:var/statement/export` em `src/views/statement/StatementView.vue:257`
- `GET /webhooks` em `src/views/api-keys/ApiKeysWebhooksView.vue:134`
- `GET /webhooks/events` em `src/views/api-keys/ApiKeysWebhooksView.vue:135`
- `POST /webhooks` em `src/views/api-keys/ApiKeysWebhooksView.vue:256`
- `PATCH /webhooks/:var/toggle` em `src/views/api-keys/ApiKeysWebhooksView.vue:304`
- `POST /webhooks/:var/test` em `src/views/api-keys/ApiKeysWebhooksView.vue:321`
- `DELETE /webhooks/:var` em `src/views/api-keys/ApiKeysWebhooksView.vue:334`
- `GET /api-keys/:var` em `src/views/api-keys/ApiKeysDetailView.vue:83`
- `PATCH /api-keys/:var/status` em `src/views/api-keys/ApiKeysDetailView.vue:188`
- `PATCH /api-keys/:var/permissions` em `src/views/api-keys/ApiKeysDetailView.vue:217`
- `PATCH /api-keys/:var/ip-whitelist` em `src/views/api-keys/ApiKeysDetailView.vue:243`
- `PATCH /api-keys/:var/status` em `src/views/api-keys/ApiKeysDetailView.vue:296`
- `DELETE /api-keys/:var` em `src/views/api-keys/ApiKeysDetailView.vue:301`
- `POST /api-keys` em `src/views/api-keys/ApiKeysDetailView.vue:302`
- `POST /api-keys` em `src/views/api-keys/ApiKeysCreateView.vue:255`
- `GET /api-keys` em `src/views/api-keys/ApiKeysView.vue:58`
- `PATCH /api-keys/:var/status` em `src/views/api-keys/ApiKeysView.vue:98`
- `PATCH /api-keys/:var/status` em `src/views/api-keys/ApiKeysView.vue:111`
- `GET /med-cautelar-blocks` em `src/views/compliance/ComplianceView.vue:66`
- `GET /dict/infractions` em `src/views/compliance/ComplianceView.vue:231`
- `GET /transactions/:var` em `src/views/transactions/TransactionDetailView.vue:51`
- `POST /pix/return` em `src/views/pix/PixRefundView.vue:178`
- `GET /pix/scheduled` em `src/views/pix/PixScheduledView.vue:63`
- `POST /pix/scheduled/:var/cancel` em `src/views/pix/PixScheduledView.vue:106`
- `POST /pix/qrcode/consult` em `src/views/pix/PixCopyPasteView.vue:55`
- `GET /product` em `src/views/pix/PixLimitsView.vue:74`
- `DELETE /pix/favorites/:var` em `src/views/pix/PixFavoritesView.vue:124`
- `POST /auth/verify-email/send` em `src/views/onboarding/EmailView.vue:88`
- `POST /auth/verify-email/check` em `src/views/onboarding/EmailView.vue:142`

### APIs locais sem rota Phoenix detectada estaticamente

- Nenhuma.

### Arquivos faltantes agrupados

- Nenhum.

## merchant-front / merchant

Port funcional do merchant coreproviders para o merchant Monetarie, com adaptacoes de layout/paths locais.

- Arquivos coreproviders: 120
- Arquivos Monetarie: 139
- Arquivos no mesmo caminho: 114
- Arquivos adaptados em caminho/fluxo local: 6
- Arquivos faltando no mesmo caminho: 0
- Rotas faltantes por name: 0
- Rotas equivalentes com nome/path local diferente: 17
- Menus faltantes por path normalizado: 0
- APIs locais sem rota Phoenix detectada estaticamente: 0
- Gaps RBAC: 0
- RBAC invalido contra seed local: 0

### Rotas faltantes por name

- Nenhuma.

### Rotas equivalentes com nome/path local diferente

- CP `api-keys-create` `api-keys/create` -> local `merchant-api-keys-create` `api-keys/create` (`src/views/api-keys/ApiKeysCreateView.vue`)
- CP `api-keys-detail` `api-keys/:id` -> local `merchant-api-keys-detail` `api-keys/:id` (`src/views/api-keys/ApiKeysDetailView.vue`)
- CP `api-keys-webhooks` `api-keys/:id/webhooks` -> local `merchant-api-keys-webhooks` `api-keys/:id/webhooks` (`src/views/api-keys/ApiKeysWebhooksView.vue`)
- CP `cards` `cards` -> local `cards-listing` `cards/listing` (`src/views/cards/CardsListingView.vue`)
- CP `compliance` `infractions` -> local `merchant-compliance` `infractions` (`src/views/infractions/InfractionDetailView.vue`)
- CP `dashboard-analytics` `dashboard/analytics` -> local `merchant-analytics` `analytics` (`src/views/DashboardAnalyticsView.vue`)
- CP `dev-api-keys` `development/api-keys` -> local `api-keys` `development/api-keys` (`src/views/development/ApiKeysView.vue`)
- CP `dev-webhook-detail` `development/webhooks/:id` -> local `webhook-detail` `development/webhooks/:id` (`src/views/development/WebhookDetailView.vue`)
- CP `dev-webhook-edit` `development/webhooks/:id/edit` -> local `webhook-edit` `development/webhooks/:id/edit` (`src/views/development/WebhookEditView.vue`)
- CP `dev-webhooks` `development/webhooks` -> local `webhooks` `development/webhooks` (`src/views/development/WebhooksView.vue`)
- CP `fee-split-received` `fee-splits` -> local `merchant-fee-splits` `fee-splits` (`src/views/fee-splits/FeeSplitReceivedView.vue`)
- CP `fees` `fees` -> local `merchant-fees` `fees` (`src/views/FeesView.vue`)
- CP `inTransit` `in-transit` -> local `in-transit` `in-transit` (`src/views/in-transit/InTransitView.vue`)
- CP `ledger` `ledger` -> local `merchant-ledger` `ledger` (`src/views/LedgerView.vue`)
- CP `med-defense` `meds/:id` -> local `merchant-med-defense` `meds/:id/defense` (`src/views/meds/MedDefenseView.vue`)
- CP `settings-2fa` `settings/two-factor-auth` -> local `settings-two-factor-auth` `settings/two-factor-auth` (`src/views/settings/TwoFactorAuthView.vue`)
- CP `transaction-search` `transaction-search` -> local `merchant-transaction-search` `transaction-search` (`src/views/TransactionSearchView.vue`)

### Menus faltantes por path normalizado

- Nenhum.

### Arquivos adaptados em caminho/fluxo local

- `src/views/LoginView.vue`: Fluxo local fica em src/views/auth/LoginView.vue.
- `src/views/auth/InviteAcceptView.vue`: Adaptado para src/views/auth/AcceptInvitationView.vue com token por query ou path param.
- `src/views/auth/ResetPasswordView.vue`: Adaptado para src/views/auth/SetPasswordView.vue via rota /reset-password.
- `src/views/login/Verify2FAView.vue`: 2FA local fica no fluxo de login; /login/verify-2fa redireciona para /login.
- `src/views/pix/PixHubView.vue`: Hub local equivalente fica em src/views/pix/PixView.vue.
- `src/views/webhooks/WebhookDeliveriesView.vue`: Fluxo local usa entregas por webhook em src/views/development/WebhookDetailView.vue; backend local nao expoe listagem global merchant /webhooks/deliveries.

### APIs coreproviders ausentes no mesmo contrato frontend local

- `GET /transactions/:var/receipt.pdf` em `src/composables/useReceiptDownloader.ts:11`
- `POST /accounts/:var/transfers` em `src/composables/useTransfer.ts:70`
- `POST /accounts/:var/transfers/ted` em `src/composables/useTransfer.ts:141`
- `POST /auth/mfa/backup/verify` em `src/stores/auth.ts:103`
- `POST /auth/refresh` em `src/stores/auth.ts:154`
- `POST /auth/logout` em `src/stores/auth.ts:181`
- `POST /auth/refresh` em `src/http/api.ts:75`
- `POST /auth/logout` em `src/http/api.ts:114`
- `POST /auth/change-password` em `src/http/api.ts:128`
- `GET /accounts/:var` em `src/http/api.ts:143`
- `POST /pix/dict-lookup` em `src/http/api.ts:178`
- `POST /pix/charges` em `src/http/api.ts:180`
- `POST /qrcodes` em `src/http/api.ts:201`
- `GET /webhooks/:var` em `src/http/api.ts:208`
- `PUT /webhooks/:var` em `src/http/api.ts:212`
- `GET /webhooks/:var/events` em `src/http/api.ts:215`
- `GET /api-keys` em `src/http/api.ts:221`
- `POST /api-keys` em `src/http/api.ts:223`
- `DELETE /api-keys/:var` em `src/http/api.ts:224`
- `PATCH /api-keys/:var/ip-whitelist` em `src/http/api.ts:226`
- `POST /accounts/:var/transfers/between-accounts` em `src/http/api.ts:242`
- `GET /fees` em `src/http/api.ts:248`
- `GET /med-cautelar-blocks` em `src/http/api.ts:258`
- `GET /med-cautelar-blocks/:var` em `src/http/api.ts:259`
- `POST /med-cautelar-blocks/:var/defense` em `src/http/api.ts:261`
- `GET /analytics/dashboard` em `src/views/DashboardAnalyticsView.vue:69`
- `GET /pix/keys` em `src/views/DashboardView.vue:74`
- `GET /analytics/dashboard` em `src/views/DashboardView.vue:229`
- `GET /fees` em `src/views/FeesView.vue:137`
- `GET /transactions/:var/receipt` em `src/views/receipts/ReceiptView.vue:178`
- `POST /auth/change-password` em `src/views/settings/ChangePasswordView.vue:79`
- `GET /fee-history` em `src/views/fees/FeeHistoryView.vue:203`
- `GET /fee-summary` em `src/views/fees/FeeHistoryView.vue:204`
- `GET /auth/sessions` em `src/views/security/SecurityView.vue:264`
- `POST /auth/change-password` em `src/views/auth/FirstAccessView.vue:82`
- `POST /transfers` em `src/views/transfer/TransferSendConfirmView.vue:183`
- `PATCH /webhooks/:var/toggle` em `src/views/api-keys/ApiKeysWebhooksView.vue:327`
- `GET /api-keys/:var` em `src/views/api-keys/ApiKeysDetailView.vue:83`
- `PATCH /api-keys/:var/status` em `src/views/api-keys/ApiKeysDetailView.vue:181`
- `PATCH /api-keys/:var/permissions` em `src/views/api-keys/ApiKeysDetailView.vue:210`
- `PATCH /api-keys/:var/ip-whitelist` em `src/views/api-keys/ApiKeysDetailView.vue:236`
- `DELETE /api-keys/:var` em `src/views/api-keys/ApiKeysDetailView.vue:281`
- `POST /api-keys` em `src/views/api-keys/ApiKeysDetailView.vue:282`
- `POST /api-keys` em `src/views/api-keys/ApiKeysCreateView.vue:242`
- `GET /api-keys` em `src/views/api-keys/ApiKeysView.vue:61`
- `PATCH /api-keys/:var/status` em `src/views/api-keys/ApiKeysView.vue:101`
- `PATCH /api-keys/:var/status` em `src/views/api-keys/ApiKeysView.vue:113`
- `GET /med-cautelar-blocks` em `src/views/compliance/ComplianceView.vue:66`
- `GET /dict/infractions` em `src/views/compliance/ComplianceView.vue:231`
- `POST /pix/return` em `src/views/pix/PixRefundView.vue:179`
- `GET /webhooks/deliveries` em `src/views/webhooks/WebhookDeliveriesView.vue:119`
- `POST /webhooks/deliveries/:var/replay` em `src/views/webhooks/WebhookDeliveriesView.vue:189`
- `POST /webhooks/deliveries/replay-batch` em `src/views/webhooks/WebhookDeliveriesView.vue:209`

### APIs locais sem rota Phoenix detectada estaticamente

- Nenhuma.

### Arquivos faltantes agrupados

- Nenhum.

## coreadmin-front / admin

Paridade funcional seletiva: preservar dashboard/layout Monetarie e portar telas/fluxos operacionais faltantes.

- Arquivos coreproviders: 186
- Arquivos Monetarie: 521
- Arquivos no mesmo caminho: 186
- Arquivos adaptados em caminho/fluxo local: 0
- Arquivos faltando no mesmo caminho: 0
- Rotas faltantes por name: 0
- Rotas equivalentes com nome/path local diferente: 6
- Menus faltantes por path normalizado: 0
- APIs locais sem rota Phoenix detectada estaticamente: 0
- Gaps RBAC: 0
- RBAC invalido contra seed local: 0

### Rotas faltantes por name

- Nenhuma.

### Rotas equivalentes com nome/path local diferente

- CP `DashboardNotFound` `:pathMatch(.*)*` -> local `NotFound` `/:pathMatch(.*)*` (`src/views/UnderConstructionView.vue`)
- CP `EFinanceira` `regulatory/efinanceira` -> local `EFinanceiraLanding` `regulatory/efinanceira` (`src/views/regulatory/EFinanceiraView.vue`)
- CP `Reconciliation` `reconciliation` -> local `ReconciliationDashboard` `reconciliation` (`src/views/reconciliation/ReconciliationDashboardView.vue`)
- CP `SisbajudList` `regulatory/sisbajud` -> local `Sisbajud` `regulatory/sisbajud` (`src/views/regulatory/SisbajudListView.vue`)
- CP `TransactionsByClient` `reports/transactions-by-client` -> local `TransactionList` `transactions` (`src/views/transactions/TransactionListView.vue`)
- CP `TreasuryCaixaAviv` `treasury/caixa-institucional` -> local `TreasuryCaixaInstitucional` `treasury/caixa-institucional` (`src/views/treasury/CaixaAvivView.vue`)

### Menus faltantes por path normalizado

- Nenhum.

### Arquivos adaptados em caminho/fluxo local

- Nenhum.

### APIs coreproviders ausentes no mesmo contrato frontend local

- `GET /sisbajud/orders` em `src/composables/useSisbajud.ts:46`
- `GET /sisbajud/orders/:var/blocks` em `src/composables/useSisbajud.ts:58`
- `POST /sisbajud/orders/:var/process` em `src/composables/useSisbajud.ts:70`
- `GET /transactions` em `src/composables/useTransactions.ts:31`
- `POST /transactions/:var/refund` em `src/composables/useTransactions.ts:47`
- `POST /transactions/:var/retry` em `src/composables/useTransactions.ts:58`
- `GET /transactions/:var` em `src/composables/useTransactions.ts:92`
- `GET /transactions/:var` em `src/composables/useTransactions.ts:170`
- `GET /fee-configs` em `src/composables/useFeeConfigs.ts:66`
- `POST /fee-configs` em `src/composables/useFeeConfigs.ts:73`
- `PUT /fee-configs/:var` em `src/composables/useFeeConfigs.ts:83`
- `POST /fee-configs/:var/deactivate` em `src/composables/useFeeConfigs.ts:93`
- `GET /ccs/records` em `src/composables/useCcsRecords.ts:36`
- `POST /ccs/sync` em `src/composables/useCcsRecords.ts:50`
- `POST /ccs/generate` em `src/composables/useCcsRecords.ts:64`
- `GET /regulatory-files` em `src/composables/useRegulatoryFiles.ts:29`
- `POST /regulatory-files/generate` em `src/composables/useRegulatoryFiles.ts:43`
- `POST /regulatory-files/:var/retry` em `src/composables/useRegulatoryFiles.ts:59`
- `GET /infractions` em `src/composables/useInfractions.ts:32`
- `POST /infractions/:var/defense` em `src/composables/useInfractions.ts:42`
- `POST /infractions/:var/resolve` em `src/composables/useInfractions.ts:53`
- `GET /infractions/:var` em `src/composables/useInfractions.ts:95`
- `GET /infractions/pending-defenses` em `src/composables/useInfractions.ts:106`
- `GET /users` em `src/composables/useUsers.ts:26`
- `PUT /users/:var` em `src/composables/useUsers.ts:33`
- `POST /users/:var/block` em `src/composables/useUsers.ts:43`
- `POST /users/:var/unblock` em `src/composables/useUsers.ts:53`
- `GET /users/:var` em `src/composables/useUsers.ts:83`
- `GET /virtual-accounts` em `src/composables/useVirtualAccounts.ts:29`
- `POST /accounts` em `src/composables/useBankAccounts.ts:94`
- `PUT /accounts/:var` em `src/composables/useBankAccounts.ts:102`
- `DELETE /accounts/:var` em `src/composables/useBankAccounts.ts:110`
- `PUT /accounts/:var/suspend` em `src/composables/useBankAccounts.ts:117`
- `PUT /accounts/:var/reactivate` em `src/composables/useBankAccounts.ts:124`
- `GET /accounts/summary` em `src/composables/useBankAccounts.ts:155`
- `POST /merchants` em `src/composables/useMerchants.ts:33`
- `PUT /merchants/:var` em `src/composables/useMerchants.ts:43`
- `DELETE /merchants/:var` em `src/composables/useMerchants.ts:53`
- `GET /merchant-configs/:var` em `src/composables/useMerchants.ts:95`
- `PUT /merchant-configs/:var` em `src/composables/useMerchants.ts:103`
- `POST /auth/login` em `src/stores/admin.ts:60`
- `GET /auth/me` em `src/stores/admin.ts:99`
- `DELETE /auth/logout` em `src/stores/admin.ts:118`
- `GET /med-cautelar-blocks/defenses` em `src/lib/api.ts:75`
- `GET /med-cautelar-blocks` em `src/lib/api.ts:77`
- `GET /med-cautelar-blocks/:var` em `src/lib/api.ts:79`
- `GET /med-cautelar-blocks/:var/refunds` em `src/lib/api.ts:81`
- `GET /med-cautelar-blocks/:var/infraction-reports` em `src/lib/api.ts:83`
- `POST /med-cautelar-blocks/:var/analyze` em `src/lib/api.ts:85`
- `POST /med-cautelar-blocks/:var/evidence` em `src/lib/api.ts:87`
- `POST /med-cautelar-blocks/:var/execute-return` em `src/lib/api.ts:89`
- `POST /med-cautelar-blocks/:var/release` em `src/lib/api.ts:91`
- `GET /quarantine` em `src/lib/api.ts:115`
- `GET /quarantine/:var` em `src/lib/api.ts:117`
- `POST /quarantine/:var/decide` em `src/lib/api.ts:127`
- `POST /quarantine/bulk-decide` em `src/lib/api.ts:144`
- `GET /pix-compliance/summary` em `src/lib/api.ts:183`
- `DELETE /pix-compliance/keys/:var` em `src/lib/api.ts:187`
- `GET /pix-compliance/claims` em `src/lib/api.ts:189`
- `GET /pix-compliance/recoveries` em `src/lib/api.ts:190`
- `GET /merchants/:var/compliance-report/export` em `src/lib/api.ts:303`
- `GET /infractions/export` em `src/lib/api.ts:307`
- `GET /analytics/compliance/account-ranking/export` em `src/lib/api.ts:317`
- `POST /med-integration-tokens/:var/revoke` em `src/lib/api.ts:398`
- `PUT /med-configs/global` em `src/lib/api.ts:448`
- `PUT /med-configs/:var` em `src/lib/api.ts:451`
- `PUT /infraction-configs/global` em `src/lib/api.ts:458`
- `PUT /infraction-configs/:var` em `src/lib/api.ts:461`
- `POST /med/cautelar/manual` em `src/lib/api.ts:469`
- `GET /dashboard/stats` em `src/views/DashboardView.vue:166`
- `GET /dashboard/recent-activity` em `src/views/DashboardView.vue:243`
- `GET /dashboard/volume` em `src/views/DashboardView.vue:323`
- `GET /transactions` em `src/views/between-accounts/BetweenAccountListView.vue:53`
- `GET /transactions/export` em `src/views/between-accounts/BetweenAccountListView.vue:122`
- `GET /cosif/trial-balance` em `src/views/accounting/AccountingReportsView.vue:74`
- `GET /cosif/balance-sheet` em `src/views/accounting/AccountingReportsView.vue:75`
- `GET /cosif/income-statement` em `src/views/accounting/AccountingReportsView.vue:76`
- `GET /cosif/journal-entries` em `src/views/accounting/AccountingReportsView.vue:233`
- `GET /accounting/periods` em `src/views/accounting/AccountingReportsView.vue:444`
- `GET /cosif/trial-balance` em `src/views/accounting/PeriodClosingView.vue:53`
- `GET /cosif/balance-sheet` em `src/views/accounting/PeriodClosingView.vue:54`
- `POST /cadoc/generate` em `src/views/accounting/PeriodClosingView.vue:75`
- `GET /cosif/journal-entries` em `src/views/accounting/JournalEntriesView.vue:113`
- `POST /cosif/journal-entries` em `src/views/accounting/JournalEntriesView.vue:224`
- `POST /cosif/accounts` em `src/views/accounting/ChartOfAccountsView.vue:185`
- `GET /reconciliation/report` em `src/views/reconciliation/ReconciliationDashboardView.vue:75`
- `POST /reconciliation/trigger` em `src/views/reconciliation/ReconciliationDashboardView.vue:92`
- `GET /reconciliation/report/:var` em `src/views/reconciliation/ReconciliationDashboardView.vue:206`
- `POST /reconciliation/report/:var/sync-fees` em `src/views/reconciliation/ReconciliationDashboardView.vue:265`
- `GET /reconciliation/report/:var` em `src/views/reconciliation/ReconciliationDashboardView.vue:279`
- `POST /reconciliation/report/:var/void-orphans` em `src/views/reconciliation/ReconciliationDashboardView.vue:302`
- `POST /reconciliation/exceptions` em `src/views/reconciliation/ReconciliationDashboardView.vue:368`
- `PATCH /reconciliation/exceptions/:var/resolve` em `src/views/reconciliation/ReconciliationDashboardView.vue:396`
- `GET /cosif/reconciliation` em `src/views/reconciliation/ReconciliationDashboardView.vue:451`
- `GET /cosif/reconciliation/:var` em `src/views/reconciliation/ReconciliationDashboardView.vue:542`
- `POST /cosif/reconciliation/sync` em `src/views/reconciliation/ReconciliationDashboardView.vue:554`
- `GET /cosif/reconciliation/:var` em `src/views/reconciliation/ReconciliationDashboardView.vue:563`
- `POST /auth/change-password` em `src/views/settings/ChangePasswordView.vue:96`
- `GET /admin/kyc/:var/document` em `src/views/kyc/AdminKycDetailView.vue:61`
- `POST /admin/kyc/:var/fetch-document` em `src/views/kyc/AdminKycDetailView.vue:77`
- `GET /pix-providers` em `src/views/providers/ProviderListView.vue:28`
- `GET /pix-providers` em `src/views/providers/PixProviderView.vue:77`
- `PUT /pix-providers` em `src/views/providers/PixProviderView.vue:104`
- `GET /nextcode/config` em `src/views/providers/NextcodeProviderView.vue:164`
- `PUT /nextcode/config` em `src/views/providers/NextcodeProviderView.vue:256`
- `GET /providers/nextcode/health` em `src/views/providers/NextcodeProviderView.vue:268`
- `POST /providers/nextcode/ping` em `src/views/providers/NextcodeProviderView.vue:280`
- `POST /nextcode/config/logo` em `src/views/providers/NextcodeProviderView.vue:305`
- `GET /dimp/records` em `src/views/regulatory/DimpView.vue:89`
- `POST /dimp/aggregate` em `src/views/regulatory/DimpView.vue:116`
- `GET /rc6/consents` em `src/views/regulatory/Rc6View.vue:354`
- `GET /rc6/fraud-indications` em `src/views/regulatory/Rc6View.vue:360`
- `GET /rc6/events` em `src/views/regulatory/Rc6View.vue:366`
- `GET /rc6/evidences` em `src/views/regulatory/Rc6View.vue:372`
- `GET /rc6/declarations` em `src/views/regulatory/Rc6View.vue:378`
- `POST /rc6/consents` em `src/views/regulatory/Rc6View.vue:410`
- `POST /rc6/fraud-indications` em `src/views/regulatory/Rc6View.vue:434`
- `POST /rc6/evidences` em `src/views/regulatory/Rc6View.vue:475`
- `POST /rc6/fraud-indications/:var/share` em `src/views/regulatory/Rc6View.vue:505`
- `PATCH /rc6/fraud-indications/:var` em `src/views/regulatory/Rc6View.vue:522`
- `POST /rc6/fraud-indications/:var/cancel` em `src/views/regulatory/Rc6View.vue:546`
- `POST /rc6/fraud-indications/:var/exclude` em `src/views/regulatory/Rc6View.vue:567`
- `POST /rc6/consents/:var/revoke` em `src/views/regulatory/Rc6View.vue:588`
- `GET /rc6/fraud-indications/consult` em `src/views/regulatory/Rc6View.vue:603`
- `POST /rc6/declarations/generate` em `src/views/regulatory/Rc6View.vue:619`
- `POST /rc6/declarations/:var/status` em `src/views/regulatory/Rc6View.vue:641`
- `GET /e-financeira/records` em `src/views/regulatory/EFinanceiraView.vue:96`
- `POST /e-financeira/aggregate` em `src/views/regulatory/EFinanceiraView.vue:128`
- `GET /irpf/records` em `src/views/regulatory/IrpfView.vue:86`
- `POST /irpf/aggregate` em `src/views/regulatory/IrpfView.vue:113`
- `GET /sisbajud/orders` em `src/views/regulatory/SisbajudListView.vue:109`
- `POST /sisbajud/orders/:var/process` em `src/views/regulatory/SisbajudListView.vue:175`
- `GET /credit/provisioning/rules` em `src/views/regulatory/ProvisioningView.vue:75`
- `GET /credit/provisioning/entries` em `src/views/regulatory/ProvisioningView.vue:99`
- `GET /credit/provisioning/summary` em `src/views/regulatory/ProvisioningView.vue:118`
- `POST /credit/provisioning/seed` em `src/views/regulatory/ProvisioningView.vue:134`
- `POST /credit/provisioning/run` em `src/views/regulatory/ProvisioningView.vue:145`
- `GET /simba/lookup` em `src/views/regulatory/SimbaView.vue:134`
- `POST /simba/generate` em `src/views/regulatory/SimbaView.vue:179`
- `GET /regulatory-files` em `src/views/regulatory/SimbaView.vue:208`
- `GET /regulatory-files/:var` em `src/views/regulatory/SimbaView.vue:219`
- `DELETE /regulatory-files/:var` em `src/views/regulatory/SimbaView.vue:249`
- `GET /scr/clients` em `src/views/regulatory/ScrView.vue:86`
- `GET /scr/operations` em `src/views/regulatory/ScrView.vue:105`
- `POST /scr/exposures/update` em `src/views/regulatory/ScrView.vue:135`
- `GET /cadoc/dashboard` em `src/views/regulatory/CadocDashboardView.vue:127`
- `GET /cadoc/obrigacoes` em `src/views/regulatory/CadocDashboardView.vue:141`
- `GET /cadoc/calendar` em `src/views/regulatory/CadocDashboardView.vue:153`
- `POST /cadoc/obrigacoes/:var/resend` em `src/views/regulatory/CadocDashboardView.vue:172`
- `GET /pgv/records` em `src/views/regulatory/PgvView.vue:87`
- `POST /pgv/aggregate` em `src/views/regulatory/PgvView.vue:114`
- `GET /sisbajud/orders/:var` em `src/views/regulatory/SisbajudDetailView.vue:118`
- `GET /sisbajud/orders/:var/blocks` em `src/views/regulatory/SisbajudDetailView.vue:131`
- `POST /sisbajud/orders/:var/process` em `src/views/regulatory/SisbajudDetailView.vue:172`
- `GET /cadoc/obrigacoes` em `src/views/regulatory/CadocReportsView.vue:328`
- `GET /regulatory-files` em `src/views/regulatory/CadocReportsView.vue:329`
- `POST /cadoc/generate` em `src/views/regulatory/CadocReportsView.vue:444`
- `GET /regulatory-files/:var` em `src/views/regulatory/CadocReportsView.vue:473`
- `GET /cadoc/obrigacoes/:var` em `src/views/regulatory/CadocReportsView.vue:476`
- `DELETE /cadoc/obrigacoes/:var` em `src/views/regulatory/CadocReportsView.vue:509`
- `POST /cadoc/obrigacoes/:var/resend` em `src/views/regulatory/CadocReportsView.vue:520`
- `GET /cadoc/scr/snapshot-status/:var` em `src/views/regulatory/CadocReportsView.vue:557`
- `GET /cadoc/scr/validate/:var` em `src/views/regulatory/CadocReportsView.vue:567`
- `POST /cadoc/scr/reconcile/:var` em `src/views/regulatory/CadocReportsView.vue:580`
- `GET /cadoc/scr/overrides` em `src/views/regulatory/CadocReportsView.vue:594`
- `POST /cadoc/scr/overrides/:var/revert` em `src/views/regulatory/CadocReportsView.vue:620`
- `GET /cadoc/scr/contracts/:var/:var` em `src/views/regulatory/CadocReportsView.vue:719`
- `POST /cadoc/scr/overrides` em `src/views/regulatory/CadocReportsView.vue:773`
- `GET /rbac/users` em `src/views/link-merchant/LinkMerchantView.vue:55`
- `GET /merchant-users` em `src/views/link-merchant/LinkMerchantView.vue:83`
- `POST /merchant-users` em `src/views/link-merchant/LinkMerchantView.vue:137`
- `DELETE /merchant-users/:var` em `src/views/link-merchant/LinkMerchantView.vue:184`
- `GET /infractions` em `src/views/compliance/PixComplianceView.vue:86`
- `GET /med-cautelar-blocks` em `src/views/compliance/MedDefenseAnalysisView.vue:356`
- `POST /med-cautelar-blocks/:var/analyze` em `src/views/compliance/MedDefenseAnalysisView.vue:647`
- `POST /infractions/:var/resolve` em `src/views/compliance/MedDefenseAnalysisView.vue:654`
- `POST /med-cautelar-blocks/:var/analyze` em `src/views/compliance/MedDefenseAnalysisView.vue:731`
- `POST /med-cautelar-blocks/:var/execute-return` em `src/views/compliance/MedDefenseAnalysisView.vue:739`
- `GET /med-defenses` em `src/views/compliance/MedDefenseAnalysisView.vue:872`
- `GET /compliance/activities` em `src/views/compliance/ComplianceView.vue:181`
- `GET /compliance/pep` em `src/views/compliance/ComplianceView.vue:194`
- `GET /compliance/rules` em `src/views/compliance/ComplianceView.vue:207`
- `POST /compliance/activities/:var/review` em `src/views/compliance/ComplianceView.vue:311`
- `POST /compliance/coaf/generate` em `src/views/compliance/ComplianceView.vue:326`
- `POST /compliance/rules/:var/toggle` em `src/views/compliance/ComplianceView.vue:344`
- `GET /open-finance/consents` em `src/views/open-finance/OpenFinanceView.vue:152`
- `GET /open-finance/data-requests` em `src/views/open-finance/OpenFinanceView.vue:165`
- `GET /open-finance/payments` em `src/views/open-finance/OpenFinanceView.vue:178`
- `PATCH /open-finance/consents/:var/authorize` em `src/views/open-finance/OpenFinanceView.vue:233`
- `PATCH /open-finance/consents/:var/revoke` em `src/views/open-finance/OpenFinanceView.vue:243`
- `POST /open-finance/data-requests` em `src/views/open-finance/OpenFinanceView.vue:254`
- `PATCH /open-finance/payments/:var/authorize` em `src/views/open-finance/OpenFinanceView.vue:271`
- `GET /open-finance/payments/:var` em `src/views/open-finance/OpenFinanceView.vue:281`
- `GET /merchant-configs/:var` em `src/views/merchants/MerchantConfigEditView.vue:45`
- `PUT /merchant-configs/:var` em `src/views/merchants/MerchantConfigEditView.vue:85`
- `GET /merchant-providers` em `src/views/merchants/MerchantProviderDetailView.vue:28`
- `GET /merchant-providers/merchants` em `src/views/merchants/MerchantProviderListView.vue:48`
- `GET /merchant-providers` em `src/views/merchants/MerchantProviderListView.vue:69`
- `POST /merchant-providers` em `src/views/merchants/MerchantProviderListView.vue:100`
- `PUT /merchant-providers/:var` em `src/views/merchants/MerchantProviderListView.vue:132`
- `DELETE /merchant-providers/:var` em `src/views/merchants/MerchantProviderListView.vue:164`
- `POST /merchant-configs` em `src/views/merchants/MerchantConfigCreateView.vue:81`
- `GET /merchant-providers/:var` em `src/views/merchants/MerchantProviderConfigView.vue:38`
- `PUT /merchant-providers/:var` em `src/views/merchants/MerchantProviderConfigView.vue:77`
- `GET /infractions/:var` em `src/views/infractions/InfractionDefenseDetailView.vue:50`
- `PUT /infractions/:var/accept-defense` em `src/views/infractions/InfractionDefenseDetailView.vue:125`
- `PUT /infractions/:var/reject-defense` em `src/views/infractions/InfractionDefenseDetailView.vue:154`
- `PUT /infractions/:var/escalate` em `src/views/infractions/InfractionDefenseDetailView.vue:183`
- `GET /pix-out-queue/status` em `src/views/transactions/TransactionListView.vue:115`
- `GET /transactions` em `src/views/transactions/TransactionListView.vue:543`
- `GET /profiles` em `src/views/admin-users/AdminUserCreateView.vue:63`
- `POST /admin-users` em `src/views/admin-users/AdminUserCreateView.vue:74`
- `GET /admin-users/:var` em `src/views/admin-users/AdminUserEditView.vue:89`
- `GET /profiles` em `src/views/admin-users/AdminUserEditView.vue:90`
- `PUT /admin-users/:var` em `src/views/admin-users/AdminUserEditView.vue:117`
- `POST /admin-users/:var/reset-password` em `src/views/admin-users/AdminUserEditView.vue:131`
- `POST /admin-users/:var/assign-profile` em `src/views/admin-users/AdminUserEditView.vue:141`
- `POST /admin-users/:var/revoke-profile` em `src/views/admin-users/AdminUserEditView.vue:151`
- `POST /admin-users/:var/toggle-status` em `src/views/admin-users/AdminUserEditView.vue:181`
- `GET /admin-users` em `src/views/admin-users/AdminUserListView.vue:92`
- `POST /admin-users/:var/toggle-status` em `src/views/admin-users/AdminUserListView.vue:120`
- `DELETE /admin-users/:var` em `src/views/admin-users/AdminUserListView.vue:140`
- `GET /pix/dict-monitoring` em `src/views/pix/DictMonitoringView.vue:135`
- `PATCH /pix/dict-monitoring/alerts/:var` em `src/views/pix/DictMonitoringView.vue:268`
- `GET /accounts/:var` em `src/views/bank-accounts/BankAccountEditView.vue:48`
- `PATCH /accounts/:var/email` em `src/views/bank-accounts/BankAccountEditView.vue:245`
- `GET /profiles/:var` em `src/views/profiles/ProfileEditView.vue:132`
- `GET /profiles/catalog` em `src/views/profiles/ProfileEditView.vue:133`
- `PUT /profiles/:var` em `src/views/profiles/ProfileEditView.vue:183`
- `GET /profiles/catalog` em `src/views/profiles/ProfileCreateView.vue:129`
- `POST /profiles` em `src/views/profiles/ProfileCreateView.vue:168`
- `GET /profiles` em `src/views/profiles/ProfileListView.vue:81`
- `DELETE /profiles/:var` em `src/views/profiles/ProfileListView.vue:109`
- `GET /webhooks/stats` em `src/views/webhooks/WebhookListView.vue:44`
- `GET /webhooks` em `src/views/webhooks/WebhookListView.vue:104`
- `GET /webhooks/:var/deliveries` em `src/views/webhooks/WebhookListView.vue:221`
- `POST /webhooks/:var/deliveries/:var/replay` em `src/views/webhooks/WebhookListView.vue:236`
- `POST /webhooks/:var/deliveries/replay-batch` em `src/views/webhooks/WebhookListView.vue:270`
- `POST /webhooks/:var/test` em `src/views/webhooks/WebhookListView.vue:300`
- `GET /ccs/dashboard` em `src/views/ccs/CcsDashboardView.vue:60`
- `GET /ccs/records` em `src/views/ccs/CcsOperationsView.vue:100`
- `POST /ccs/sync` em `src/views/ccs/CcsOperationsView.vue:112`
- `GET /ccs/remittances` em `src/views/ccs/CcsOperationsView.vue:133`
- `POST /ccs/generate` em `src/views/ccs/CcsOperationsView.vue:146`
- `GET /ccs/remittances/:var` em `src/views/ccs/CcsOperationsView.vue:168`
- `GET /virtual-accounts/:var` em `src/views/virtual-accounts/VirtualAccountDetailView.vue:43`
- `GET /time-blocks/:var` em `src/views/time-block/TimeBlockEditView.vue:36`
- `GET /kyc/:var/survey-document/:var/:var` em `src/views/onboarding/OnboardingReviewView.vue:158`
- `GET /onboarding/applications/:var` em `src/views/onboarding/OnboardingReviewView.vue:258`
- `GET /kyc/:var/document` em `src/views/onboarding/OnboardingReviewView.vue:277`
- `POST /onboarding/applications/:var/approve` em `src/views/onboarding/OnboardingReviewView.vue:324`
- `POST /onboarding/applications/:var/reject` em `src/views/onboarding/OnboardingReviewView.vue:355`
- `POST /onboarding/pre-registrations/:var/sync` em `src/views/onboarding/OnboardingQueueView.vue:38`
- `POST /onboarding/pre-registrations/:var/expire` em `src/views/onboarding/OnboardingQueueView.vue:74`
- `GET /onboarding/applications` em `src/views/onboarding/OnboardingQueueView.vue:147`
- `GET /onboarding/pre-registrations` em `src/views/onboarding/OnboardingQueueView.vue:223`

### APIs locais sem rota Phoenix detectada estaticamente

- Nenhuma.

### Handoff RBAC requiredPermission sem requiredRbac

- Nenhum.

### Validacao RBAC requiredRbac contra seed local

- Nenhum.

### Arquivos faltantes agrupados

- Nenhum.
