Skip to main content

Projects

Projects are the main organizational units in LabTrace. They contain files, have members with different roles, and can be configured with time restrictions and access controls.

Project Management

Create Project

POST /projects

Create a new project

Request Body

Response

Example

Get All Projects

GET /projects

Get all projects accessible to the authenticated user

Response

Get Project by ID

GET /projects/{projectId}

Get detailed information about a specific project

Parameters

  • projectId (path): Project ID

Response

Update Project

PATCH /projects/{projectId}

Update project information

Parameters

  • projectId (path): Project ID

Request Body

Response

Project Members

Add Project Member

POST /projects/{projectId}/members/{userId}

Add a user to a project

Parameters

  • projectId (path): Project ID
  • userId (path): User ID to add to the project

Response

Remove Project Member

DELETE /projects/{projectId}/members/{userId}

Remove a user from a project

Parameters

  • projectId (path): Project ID
  • userId (path): User ID to remove from the project

Response

Activate Project Member

POST /projects/{projectId}/members/{userId}/activate

Activate a project member (accept invitation)

Parameters

  • projectId (path): Project ID
  • userId (path): User ID to activate

Response

Get On-Hold Project Members

GET /projects/{projectId}/members/on-hold

Get all members who have pending invitations

Parameters

  • projectId (path): Project ID

Response

Project Validation

Check Project Creation Permission

GET /users/{userId}/can-create-project

Check if a user can create a new project

Parameters

  • userId (path): User ID

Response

Check Member Invitation Permission

GET /users/{userId}/can-invite-member

Check if a user can invite members to projects

Parameters

  • userId (path): User ID

Response

Member Status

Projects support the following member statuses:
  • Active: Member has full access to the project
  • On-hold: Member has a pending invitation

Project Scopes

Projects can be configured with different scope levels:
  • Organisation Scope: Controls visibility within the organization
  • Leader Scope: Controls project leader permissions

Error Responses

400 Bad Request

401 Unauthorized

403 Forbidden

404 Not Found