Project Routes

API endpoints for project management.

Endpoints

GET /api/projects

List projects with filtering and pagination.

Query parameters:

  • status — Filter by status (live, pending, rejected)
  • category — Filter by category slug
  • sort — Sort field (newest, popular, upvotes)
  • page — Page number
  • limit — Items per page

GET /api/projects/[id]

Get a single project by ID.

POST /api/projects

Create a new project submission. Requires authentication.

PUT /api/projects/[id]

Update an existing project. Requires ownership or admin role.

DELETE /api/projects/[id]

Delete a project. Requires ownership or admin role.

POST /api/projects/[id]/upvote

Toggle upvote on a project. Requires authentication. Rate-limited with the voting tier.