# API ENDPOINTS SPECIFICATION

[← Về Overview](../../README.md) | [Next: Request/Response Formats →](./02-request-response-formats.md)

---

## 16.1. Authentication & Authorization

```
POST   /api/v1/auth/login
POST   /api/v1/auth/logout
POST   /api/v1/auth/refresh-token
POST   /api/v1/auth/forgot-password
POST   /api/v1/auth/reset-password
GET    /api/v1/auth/me
```

Chi tiết: [API Authentication](./03-api-authentication.md)

---

## 16.2. Asset Management APIs

```
GET    /api/v1/assets                    # List assets (with filters)
POST   /api/v1/assets                    # Create asset
GET    /api/v1/assets/{id}                # Get asset details
PUT    /api/v1/assets/{id}                # Update asset
DELETE /api/v1/assets/{id}                # Delete asset
GET    /api/v1/assets/{id}/hierarchy      # Get asset tree
GET    /api/v1/assets/{id}/performance    # Get performance metrics
GET    /api/v1/assets/{id}/history        # Get asset history
```

---

## 16.3. Contract Management APIs

```
GET    /api/v1/contracts                 # List contracts
POST   /api/v1/contracts                 # Create contract
GET    /api/v1/contracts/{id}            # Get contract details
PUT    /api/v1/contracts/{id}             # Update contract
GET    /api/v1/contracts/{id}/milestones  # Get milestones
GET    /api/v1/contracts/expiring         # Get expiring contracts
```

---

## 16.4. O&M APIs

### Tickets
```
GET    /api/v1/tickets                    # List tickets
POST   /api/v1/tickets                    # Create ticket
GET    /api/v1/tickets/{id}               # Get ticket details
PUT    /api/v1/tickets/{id}               # Update ticket
POST   /api/v1/tickets/{id}/assign        # Assign ticket
POST   /api/v1/tickets/{id}/resolve       # Resolve ticket
POST   /api/v1/tickets/{id}/close         # Close ticket
```

### Work Orders
```
GET    /api/v1/work-orders                # List work orders
POST   /api/v1/work-orders                # Create work order
GET    /api/v1/work-orders/{id}           # Get work order details
PUT    /api/v1/work-orders/{id}           # Update work order
POST   /api/v1/work-orders/{id}/approve   # Approve work order
POST   /api/v1/work-orders/{id}/complete  # Complete work order
GET    /api/v1/work-orders/{id}/checklist # Get checklist items
POST   /api/v1/work-orders/{id}/checklist # Update checklist
```

### PM Schedules
```
GET    /api/v1/pm-schedules               # List PM schedules
POST   /api/v1/pm-schedules               # Create PM schedule
PUT    /api/v1/pm-schedules/{id}          # Update PM schedule
GET    /api/v1/pm-schedules/due           # Get due PM schedules
```

---

## 16.5. Inventory APIs

```
GET    /api/v1/inventory                  # List inventory items
POST   /api/v1/inventory                  # Create inventory item
GET    /api/v1/inventory/{id}             # Get item details
PUT    /api/v1/inventory/{id}             # Update item
GET    /api/v1/inventory/{id}/transactions # Get transactions
POST   /api/v1/inventory/stock-in          # Stock in
POST   /api/v1/inventory/stock-out         # Stock out
GET    /api/v1/inventory/low-stock         # Get low stock items
```

---

## 16.6. Financial APIs

```
GET    /api/v1/budgets                    # List budgets
POST   /api/v1/budgets                    # Create budget
GET    /api/v1/budgets/{id}               # Get budget details
PUT    /api/v1/budgets/{id}               # Update budget
GET    /api/v1/financial-transactions     # List transactions
POST   /api/v1/financial-transactions     # Create transaction
GET    /api/v1/meter-readings             # List meter readings
POST   /api/v1/meter-readings             # Create meter reading
GET    /api/v1/financial/revenue          # Get revenue data
GET    /api/v1/financial/opex             # Get OPEX data
GET    /api/v1/financial/kpi              # Get financial KPIs
```

---

## 16.7. Reporting APIs

```
GET    /api/v1/reports/daily              # Daily report
GET    /api/v1/reports/monthly            # Monthly report
GET    /api/v1/reports/custom             # Custom report
POST   /api/v1/reports/generate          # Generate report
GET    /api/v1/reports/{id}/download     # Download report
GET    /api/v1/kpis                       # Get KPIs
GET    /api/v1/kpis/{metric}             # Get specific KPI
```

---

## 16.8. Dashboard APIs

```
GET    /api/v1/dashboard/executive         # Executive dashboard data
GET    /api/v1/dashboard/operational      # Operational dashboard data
GET    /api/v1/dashboard/financial        # Financial dashboard data
GET    /api/v1/dashboard/alerts           # Get alerts summary
```

---

## 16.9. User Management APIs

```
GET    /api/v1/users                      # List users
POST   /api/v1/users                      # Create user
GET    /api/v1/users/{id}                 # Get user details
PUT    /api/v1/users/{id}                 # Update user
DELETE /api/v1/users/{id}                 # Delete user
GET    /api/v1/users/{id}/activity        # Get user activity log
POST   /api/v1/users/{id}/roles          # Assign roles
```

---

## 16.10. Document APIs

```
GET    /api/v1/documents                  # List documents
POST   /api/v1/documents                  # Upload document
GET    /api/v1/documents/{id}             # Get document details
GET    /api/v1/documents/{id}/download    # Download document
DELETE /api/v1/documents/{id}             # Delete document
```

---

**Next**: [Request/Response Formats](./02-request-response-formats.md) | [Error Responses](./04-error-responses.md)
