Skip to content

feat: add routes-d api keys, kyc source-of-funds, webhook catalog, and reconciliation match#1082

Merged
davedumto merged 1 commit into
davedumto:mainfrom
ACOB-DEV:codex/routes-d-issues-1014-1039-1042-1038
Jun 25, 2026
Merged

feat: add routes-d api keys, kyc source-of-funds, webhook catalog, and reconciliation match#1082
davedumto merged 1 commit into
davedumto:mainfrom
ACOB-DEV:codex/routes-d-issues-1014-1039-1042-1038

Conversation

@ACOB-DEV

Copy link
Copy Markdown
Contributor

Description

Implemented four
outes-d endpoints in one PR:

  • webhook event catalog
  • API key list/create
  • KYC source-of-funds submission
  • reconciliation transaction-to-invoice matching

Closes #1014
Closes #1039
Closes #1042
Closes #1038

Changes proposed

What were you told to do?

Add the requested
outes-d handlers, keep the work scoped to the current API surface, and include tests for happy paths and key failures.

What did I do?

Shared routes-d helpers

  • Added a shared authenticated-user helper under �pp/api/routes-d/_shared/auth.ts.
  • Added a shared webhook event catalog list under �pp/api/routes-d/_shared/webhook-events.ts.

New endpoints

  • Added GET /api/routes-d/webhooks/event-catalog to list supported webhook event types.
  • Added GET, POST /api/routes-d/api-keys to list API keys and mint a new signing key.
  • Added POST /api/routes-d/kyc/source-of-funds to store a source-of-funds declaration.
  • Added POST /api/routes-d/reconciliation/match to link a transaction to an invoice and mark the invoice paid.

Persistence and tests

  • Added a SourceOfFundsDeclaration Prisma model and migration so the KYC declaration has a durable home.
  • Added focused Vitest coverage for auth, validation, ownership, and success cases across all four endpoints.

Check List (Check all the applicable boxes)

  • My code follows the code style of this project.
  • This PR does not contain plagiarized content.
  • The title and description of the PR is clear and explains the approach.
  • I am making a pull request against the main branch (left side).
  • My commit messages styles matches our requested structure.
  • My code additions will fail neither code linting checks nor unit test.
  • I am only making changes to files I was requested to.

Screenshots / Testing Evidence

  • Focused Vitest run passed for ests/api.routes-d.api-keys.test.ts, ests/api.routes-d.kyc.source-of-funds.test.ts, ests/api.routes-d.reconciliation.match.test.ts, and ests/api.routes-d.webhooks.event-catalog.test.ts.
  • ESLint passed on the touched TypeScript files.

@vercel

vercel Bot commented Jun 24, 2026

Copy link
Copy Markdown

@ACOB-DEV is attempting to deploy a commit to the david's projects Team on Vercel.

A member of the Team first needs to authorize it.

@drips-wave

drips-wave Bot commented Jun 24, 2026

Copy link
Copy Markdown

@ACOB-DEV Great news! 🎉 Based on an automated assessment of this PR, the linked Wave issue(s) no longer count against your application limits.

You can now already apply to more issues while waiting for a review of this PR. Keep up the great work! 🚀

Learn more about application limits

@davedumto davedumto merged commit 2cae265 into davedumto:main Jun 25, 2026
1 of 3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment