Changelog
Release notes
Stay up to date with the latest changes to the Pasona Finance Tracker API API.
v1.1.0 — Mailing system & opt-in email verification
- Opt-in email verification. The
Usermodel implementsMustVerifyEmail; a verification email is queued on register. EndpointsGET /api/email/verify/{id}/{hash}(signed),POST /api/email/verification-notification(resend, throttled 6/min), andGET /api/email/verification-statusare now available. Google OAuth auto-flipsemail_verified_aton first login. - Sensitive writers are now gated.
POST /api/transactions/sync,POST /api/import/store, andPOST /api/import/kuda/storereturn403 { "requires_verified_email": true }for unverified users. Read endpoints are unaffected. - Daily reminder email. New
artisan reminders:send-dailycommand (scheduled every 5 minutes inroutes/console.php) emails each user at theirreminder_timewith a personalised today-stats panel. Smart-skips users who already logged today and dedupes viausers.reminder_last_sent_at. - Polished password-reset email. The reset-password mail is now a queued Markdown mailable (
resources/views/emails/reset-password.blade.php) with a one-click link to the SPA reset form. - New endpoints documented. Kuda import (
/api/import/kuda/preview,/api/import/kuda/store) and the email-availability probe (GET /api/auth/check-email) are now in the reference. - API surface tweak.
POST /api/registerandPOST /api/loginnow returnemail_verified+email_verified_at.GET /api/menow returnsreminder_timeandreminder_last_sent_at.
v1.0.0 — Public API launch
- Added
POST /register,POST /login,POST /logout, andGET /mefor authentication. - Added full CRUD on
/accounts,/categories, and/transactions. - Added
POST /transactions/syncfor offline batch upload via a queue job. - Added
POST /import/previewandPOST /import/storefor CSV bank-statement import with duplicate detection. - Added
GET /summaryfor the dashboard data (totals, monthly summary, category breakdown). - Added Google OAuth via
/auth/googleand/auth/google/callback.
v0.9.0 — Duplicate detection tuning
- Duplicate checks now match on
transaction_date,type,amount, andaccount_id. - Pass
"force": truein the request body to skip the duplicate check.
v0.8.0 — Sanctum token rotation
This release introduced the Sanctum bearer-token format. Personal-access tokens issued before this date are invalid.
- All authenticated endpoints now expect an
Authorization: Bearer ...header. - Call
POST /loginto obtain a fresh token.