> ## Documentation Index
> Fetch the complete documentation index at: https://docs.slant.app/llms.txt
> Use this file to discover all available pages before exploring further.

# List tasks

> List all tasks. Optionally filter by book_id to scope to a specific book.



## OpenAPI

````yaml /api-reference/openapi.yaml get /v1/tasks
openapi: 3.0.1
info:
  title: Slant Public API V1
  version: v1
  description: Public API for creating and managing resources in Slant
  contact:
    name: Slant API Support
    email: api@slant.com
servers:
  - url: https://api.slant.app
security:
  - bearer: []
paths:
  /v1/tasks:
    get:
      tags:
        - Tasks
      summary: List tasks
      description: >-
        List all tasks. Optionally filter by book_id to scope to a specific
        book.
      parameters:
        - name: page
          in: query
          schema:
            type: integer
          description: Page number
          required: false
          example: 1
        - name: per_page
          in: query
          description: >-
            Items per page (1-100, default: 25). Values over 100 will be clamped
            to 100.
          required: false
          example: 25
          schema:
            type: integer
            minimum: 1
            maximum: 100
        - name: book_id
          in: query
          description: Filter by book ID
          required: false
          schema:
            type: string
        - name: status
          in: query
          description: Filter by status
          required: false
          schema:
            type: string
            enum:
              - todo
              - done
        - name: priority
          in: query
          description: Filter by priority
          required: false
          schema:
            type: string
            enum:
              - low_priority
              - medium_priority
              - high_priority
              - urgent_priority
        - name: household_id
          in: query
          required: false
          description: Filter by household ID
          schema:
            type: string
        - name: contact_id
          in: query
          description: Filter by contact ID
          required: false
          schema:
            type: string
        - name: assigned_to_id
          in: query
          description: Filter by assigned user ID from the relevant book users list
          required: false
          schema:
            type: string
      responses:
        '200':
          description: successful
          content:
            application/json:
              schema:
                type: object
                required:
                  - data
                  - pagination
                properties:
                  data:
                    type: array
                    items:
                      $ref: '#/components/schemas/Task'
                  pagination:
                    type: object
                    properties:
                      current_page:
                        type: integer
                        example: 1
                      total_pages:
                        type: integer
                        example: 10
                      total_count:
                        type: integer
                        example: 100
                      per_page:
                        type: integer
                        example: 25
        '400':
          description: bad request - invalid JSON
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                  - detail
                properties:
                  error:
                    type: string
                    description: Error code
                    enum:
                      - invalid_json
                  detail:
                    oneOf:
                      - type: string
                        description: Human-readable error description
                      - type: array
                        items:
                          type: string
                        description: Array of validation error messages
        '401':
          description: unauthorized - missing or invalid token
          content:
            application/json:
              schema:
                type: object
                required:
                  - error
                  - detail
                properties:
                  error:
                    type: string
                    description: Error code
                    enum:
                      - token_missing
                      - token_invalid
                  detail:
                    oneOf:
                      - type: string
                        description: Human-readable error description
                      - type: array
                        items:
                          type: string
                        description: Array of validation error messages
        '403':
          description: forbidden
      security:
        - bearer: []
components:
  schemas:
    Task:
      type: object
      required:
        - id
        - title
        - status
        - all_day
        - created_at
        - updated_at
      properties:
        id:
          type: string
          description: The task ID
          example: abc123xyz
        title:
          type: string
          description: Task title
          example: Follow up with client
        description:
          type: string
          nullable: true
          description: Task description
        deadline_at:
          type: string
          format: date-time
          nullable: true
          description: Deadline for the task
        all_day:
          type: boolean
          description: Whether this is an all-day task
        status:
          type: string
          enum:
            - todo
            - done
          description: Task status
        priority:
          type: string
          enum:
            - low_priority
            - medium_priority
            - high_priority
            - urgent_priority
          nullable: true
          description: Task priority
        is_private:
          type: boolean
          description: >-
            When true, only the creator, assignee (or members of the assigned
            team), and collaborators can see this task. Use for sensitive tasks
            like HR or payroll.
        completed_at:
          type: string
          format: date-time
          nullable: true
          description: When the task was completed
        created_at:
          type: string
          format: date-time
          description: When the task was created
        updated_at:
          type: string
          format: date-time
          description: When the task was last updated
        assigned_to:
          type: object
          nullable: true
          properties:
            id:
              type: string
              description: User ID
            name:
              type: string
              description: User full name
            email:
              type: string
              format: email
              description: User email
        assigned_team:
          type: object
          nullable: true
          properties:
            id:
              type: string
              description: Team ID
            name:
              type: string
              description: Team name
        record:
          type: object
          nullable: true
          description: >-
            The associated record (household, contact, or business) this task is
            linked to
          properties:
            id:
              type: string
              description: Record ID
            type:
              type: string
              enum:
                - household
                - contact
                - business
              description: Type of record
            name:
              type: string
              description: Name of the record
        tags:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              name:
                type: string
          description: Labels applied to the task
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      bearerFormat: OAuth
      description: OAuth 2.0 Bearer Token from Clerk authentication

````