Todos

Todo Management

Endpoints for managing todos and task tracking within RoofLink.

Supported Todo Operations

This category includes the following operations:

Querying Todos

  • List Todos: Retrieve a paginated list of todos with comprehensive filtering options including priority, tags, assigned user, job association, completion status, and date ranges. Supports case-insensitive search on todo names.
  • Get Todo Details: Retrieve detailed information for a specific todo including name, description, priority, assigned user, associated job, tags, and completion status.
  • Get Job Todos: Retrieve all todos associated with a specific job.

Managing Todo Data

  • Create Todo: Create a new todo with name, description, priority level, assigned user, associated job, due date, and custom tags.
  • Update Todo: Perform a full update of a todo's information including all fields.
  • Partially Update Todo: Update specific fields of a todo without providing the complete todo object.
  • Delete Todo: Permanently delete a todo from the system.

Completing Todos

  • Mark Todo Complete: Mark a todo as completed, automatically recording the completion date and time.

Todo Priority Levels

Todos support four priority levels:

  • L: Low priority
  • M: Medium priority
  • H: High priority
  • U: Urgent

Permission Requirements

  • Employee users: Can access all todos in their company
  • Crew users: Can only access incomplete todos where they are the assigned user or creator

Todo Features

Filtering and Search

The todo list endpoint supports extensive filtering capabilities:

  • Filter by priority level (Low, Medium, High, Urgent)
  • Filter by custom tags
  • Filter by assigned user
  • Filter by associated job
  • Filter by completion status (completed/incomplete)
  • Filter by creation date range
  • Filter by completion date range
  • Search todos by name (case-insensitive)

Todo Organization

Todos can be organized using:

  • Tags: Custom tags for categorization and filtering
  • Priority: Four-level priority system for task prioritization
  • Job Association: Link todos to specific jobs for project tracking
  • User Assignment: Assign todos to specific team members
  • Due Dates: Set due dates for task deadlines