Contacts DB exposes its full feature set through standard Laravel web routes and a focused set of JSON API routes. Every route — whether it returns an HTML view or a JSON payload — requires an active authenticated session. There is no stateless token-based API; all access flows through Laravel Breeze session cookies.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/0m1n3m/contacts-db/llms.txt
Use this file to discover all available pages before exploring further.
Authentication
All routes sit behind theauth and verified middleware — both session authentication and email verification are required everywhere, including the /api/* prefix routes. Authentication is established by posting credentials to the Laravel Breeze login endpoint, which sets a session cookie that must accompany every subsequent request.
302 redirect and sets the laravel_session cookie. Include that cookie in all subsequent requests.
There is no Bearer token or API key authentication. All integrations must use the session cookie obtained from
POST /login.CSRF Protection
Laravel enforces CSRF verification on allPOST, PATCH, and DELETE requests. You must supply the token in one of two ways:
- Header:
X-XSRF-TOKEN: <token>— use the value from theXSRF-TOKENcookie that Laravel sets automatically - Form field: include
_token=<token>as a hidden input or form body parameter
419 Page Expired response.
Response Formats
The application uses two distinct response styles depending on the route group:| Route type | Response |
|---|---|
Web routes (/contacts, /tasks, /projects, etc.) | HTML Blade views or 302 redirects after mutations |
JSON API routes (/api/*) | JSON payloads |
PATCH /tasks/{task}/change-status | {"success": true} on success, {"error": "…"} on failure |
PATCH /tasks/{task}/move | {"ok": true} on success, {"message": "…"} on failure |
status or success message to the session.
HTTP Status Codes
Successful read or JSON API operation.
Redirect after a successful form submission (create, update, delete, import, export).
General failure — used by the Kanban status-change endpoint when an unexpected exception occurs.
The authenticated user lacks the required role or policy permission for the requested operation.
The requested resource does not exist or is not accessible to the current user.
Validation failure — returned by JSON API routes and dependency endpoints when input is invalid.
Route Groups
The table below summarises every protected route group in the application. All groups require both session authentication (auth) and email verification (verified).
| Prefix | Middleware | Description |
|---|---|---|
/contacts | auth + verified | Contact CRUD and CSV import/export |
/tasks | auth + verified | Task CRUD and Kanban board |
/projects | auth + verified | Project CRUD |
/api/tags | auth + verified | Tags JSON API |
/api/tasks/{task}/tags | auth + verified | Task tag attachment JSON API |
/api/tasks/{task}/dependencies | auth + verified | Task dependency JSON API |
/notifications | auth + verified | Notification inbox and mark-read web routes |
/api/notifications/recent | auth + verified | Notification dropdown JSON API |
/admin | auth + verified + role:admin | Admin-only routes (invitations) |
Endpoint Reference
- Contact Endpoints — CRUD, import, and export
- Task Endpoints — tasks, status changes, assignments, comments, and attachments
- Tags API — tag management and task tag attachment
- Notification Endpoints — notification inbox and bell dropdown