Content Approvals
The approval workflow allows teams to review content before publishing.
API Endpoints
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/approvals | List pending items for reviewer |
| GET | /api/approvals/:id | Get single approval item |
| POST | /api/approvals/:id/approve | Approve content |
| POST | /api/approvals/:id/reject | Reject with feedback |
| POST | /api/approvals/:id/request-changes | Request revisions |
Approval Flow
Draft → Submit for Approval → Pending Review → Approved → Scheduled/Published
↓
Rejected/Changes Requested → Edit → ResubmitDatabase Schema
prisma
model CompanyPost {
status String // 'draft', 'pending_approval', 'approved', 'rejected'
submittedAt DateTime?
submittedBy String?
reviewedAt DateTime?
reviewedBy String?
reviewNotes String?
}Permissions
content:approve- Required to approve/reject content- Users can only submit their own drafts
- Admins see all pending approvals
Notifications
When content submitted:
- Notify users with
content:approvepermission - Via email and in-app notification
When approved/rejected:
- Notify content author