Skip to content

Projects

Project management is currently handled via Next.js server actions, not REST endpoints.

Server Actions

ActionFileDescription
createProjectlib/actions/create-project.tsCreate a new project

createProject

typescript
const result = await createProject({
  name: 'My Project',
  code: 'PROJ-001',
  description: 'Optional description',
  starts_on: '2026-01-01',
  ends_on: '2026-12-31',
})

// result: { project_id: '...' } or { error: '...' }

Validation

  • Name: 3–120 characters
  • Code: 2–20 characters, must be unique per organisation, auto-uppercased
  • License check: requireLicensePermission(orgId, 'create_project') before insert

Future

A REST endpoint for projects is planned when external API access is introduced.