## 📌 API Endpoint Overview This document provides a categorized and role-specific overview of all API endpoints implemented (or to be implemented) in the system. It is structured for easy readability, regular updates, and fast navigation. --- ### ⚖️ Roles * `admin` — Endpoints accessible only to admins. * `user` — Endpoints accessible to regular authenticated users. > Status Legend: > > * `done` - Fully implemented and Tested > * `ok` — Implemented but not tested > * `partial` — Implemented but incomplete or unstable > * `TODO` — Needs implementation > * `not ok` — Implemented but incorrect or buggy Testers will write `done`, `not ok` and developers will define status that is not tested or something like that, so developers can write code with no communication and fully peace. --- ## 🔑 Auth & Users #### users: * `POST /auth/register` — user — remake * `POST /auth/verify` — user — ok * `GET /auth/me` — user — ok #### me/companies: * `GET /me/companies` — user — ok * `POST /me/companies` — user — ok #### users/: * `GET /users//companies` — user — ok * `POST /users//companies` — user — ok --- ## 🏢 Companies #### companies: * `GET /companies` — admin — ok * `POST /companies` — admin — ok * `GET /companies/` — admin — ok * `DELETE /companies/` — admin — ok * `PATCH /companies/` — admin — ok * `GET /companies//contracts` — user — partial * filters: `folder`, `status: list[str]` * `GET /companies//folders` — user — ok * `POST /companies//folders` — user — ok * `GET /companies//accounts` — user — ok * `POST /companies//accounts` — user — TODO --- ## 💳 Company Accounts * `GET /company-accounts` — admin — ok * `POST /company-accounts` — admin — ok * `GET /company-accounts/` — admin — ok * `PATCH /company-accounts/` — admin — ok * `DELETE /company-accounts/` — admin — ok * `POST /accounts/verify` — user — TODO * required: `phone`, `code` --- ## 🌐 Banks * `GET /banks` — admin — ok * `POST /banks` — admin — ok * `GET /banks/` — admin — ok * `DELETE /banks/` — admin — ok * `PATCH /banks/` — admin — ok --- ## 📍 Contracts * `GET /contracts` — admin — ok * `POST /contracts` — user — ok * `GET /contracts/` — admin — ok * `DELETE /contracts/` — admin — ok * `PATCH /contracts/` — admin — ok * `GET /contracts//files` — user — ok * `GET /contracts//owners` — user — ok --- ## 📄 Contract Owners * `GET /contract-owners` — admin — ok * `POST /contract-owners` — admin — ok * `GET /contract-owners/` — admin — ok * `DELETE /contract-owners/` — admin — ok * `PATCH /contract-owners/` — admin — ok * `GET /contract-owners//contract` — user — ok * `POST /contract-owners//files` — user — not ok * `GET /contract-owners//files` — user — not ok * `DELETE /contract-owners//files/` — user — ok * `POST /contract-owners//files//upload` — user — ok --- ## 📂 Files * `GET /files` — admin — ok * `POST /files` — admin — ok * `GET /files/` — admin — ok * `DELETE /files/` — admin — ok * `PATCH /files/` — admin — ok --- ## 📁 Folders * `GET /folders` — admin — ok * `POST /folders` — admin — ok * `GET /folders/` — admin — ok * `DELETE /folders/` — admin — ok * `PATCH /folders/` — admin — ok * `GET /folders//contracts` — admin — ok --- ## 📋 File Contents * `GET /file-contents` — admin — ok * `POST /file-contents` — admin — ok * `GET /file-contents/` — admin — ok * `DELETE /file-contents/` — admin — ok * `PATCH /file-contents/` — admin — ok --- This structure ensures developers can **navigate quickly**, **see responsibilities by domain**, and easily **track implementation status**. Update it regularly as your API evolves.