AlayaCare Tasks API

The Tasks API from AlayaCare — 10 operation(s) for tasks.

OpenAPI Specification

alayacare-tasks-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 1.0.19-oas3
  title: AlayaCare Accounting Accounts Tasks API
  description: '**AlayaCare IDs:**

    The following terms are used to reference IDs that identify resources in AlayaCare:

    - id

    - visit_id

    - premium_id

    - visit_premium_id

    - employee_id

    - cost_centre_id

    - client_id


    **External IDs**

    The following terms are used to reference IDs that identify resources systems external to AlayaCare:

    - employee_external_id

    - client_external_id


    External IDs are required to be unique.

    No other assumptions are made regarding their format they are treated as strings.

    '
servers:
- url: https://example.alayacare.com/ext/api/v2/accounting
security:
- basic_auth: []
tags:
- name: Tasks
paths:
  /tasks:
    get:
      tags:
      - Tasks
      summary: Get a list of tasks.
      description: '- Requires permission `View all tasks` to view tasks for any employee.

        - Requires permission `View employee tasks` to view tasks for the current employee.

        - `client_id` and `external_client_id` are mutually exclusive, specifying both is an invalid request.

        - `employee_id` and `external_employee_id` are mutually exclusive, specifying both is an invalid request.

        - `include_unassigned` is ignored unless `employee_id` is specified.

        - Results are ordered by the due date and created date, in descending order.

        '
      parameters:
      - $ref: '#/parameters/page'
      - $ref: '#/parameters/count'
      - description: Filter tasks by type of report form.
        name: form_id
        type: integer
        in: query
      - description: 'Filter tasks by creation date greater or equal than specified value.

          Expected format is ISO 8601.

          Note that the timezone will be ignored and will be assumed to be equal to that of the branch associated to the task.

          Ex: `2018-02-03T08:00:00-05:00`

          '
        name: created_at
        type: string
        format: date-time
        in: query
      - description: 'Filter tasks by due date greater or equal than specified value.

          Expected format is ISO 8601.

          Note that the timezone will be ignored and will be assumed to be equal to that of the branch associated to the task.

          Ex: `2018-02-03T08:00:00-05:00`

          '
        name: due_date
        type: string
        format: date-time
        in: query
      - description: Filter tasks by priority
        name: priority
        type: string
        in: query
      - description: Filter tasks by status
        name: status
        type: string
        in: query
      - description: 'Filter tasks by assigned employee.

          This will also include tasks indirectly associated to the employee (e.g. Vital Alerts).

          '
        name: employee_id
        type: integer
        in: query
      - description: Filter tasks by assigned employee's external ID
        name: external_employee_id
        type: string
        in: query
      - description: Filter tasks by assigned client
        name: client_id
        type: integer
        in: query
      - description: Filter tasks by assigned client's external ID
        name: external_client_id
        type: string
        in: query
      - description: Filter tasks to include tasks that are not assigned to an employee. This is ignored unless employee_id is specified.
        name: include_unassigned
        type: boolean
        in: query
      responses:
        200:
          description: A list of tasks
          schema:
            $ref: '#/definitions/TaskList'
        400:
          $ref: '#/responses/ErrorResponseTaskIdInvalidRequest'
        401:
          $ref: '#/responses/AuthChallenge'
    post:
      tags:
      - Tasks
      summary: Create a task.
      description: '- Requires permission `Create Tasks`.

        - If `employee_id` and `form_id` are provided, requires that the employee has permission to submit the form.

        - If `form_id` is provided, then `client_id` must be provided.

        - If `priority` is not defined, default value is `low`.

        - Value of task `status` will be `open` upon creation.

        - `client_id` and `external_client_id` are mutually exclusive, specifying both is an invalid request.

        - `employee_id` and `external_employee_id` are mutually exclusive, specifying both is an invalid request.

        '
      parameters:
      - description: New task data
        name: task
        in: body
        required: true
        schema:
          $ref: '#/definitions/TaskCreate'
      responses:
        201:
          description: Task successfully created.
          schema:
            $ref: '#/definitions/Task'
        400:
          $ref: '#/responses/InvalidRequest'
  /tasks/{id}:
    parameters:
    - description: Task ID
      name: id
      in: path
      required: true
      type: integer
    get:
      tags:
      - Tasks
      summary: Get task details by task ID.
      description: '- Requires permission `View all tasks` to view the task if not assigned to the current user.

        - Requires permission `View employee tasks` to view the task if assigned to the current user.

        '
      responses:
        200:
          description: Task details
          schema:
            $ref: '#/definitions/Task'
        404:
          $ref: '#/responses/ErrorResponseTaskNotFound'
    put:
      tags:
      - Tasks
      summary: Update a task.
      description: '- Requires permission `Edit Tasks`.

        - If `form_id` is already set, then it cannot be changed. This means that if `form_id` is set, then `client_id` cannot be changed.

        - `client_id` and `external_client_id` are mutually exclusive, specifying both is an invalid request.

        - `employee_id` and `external_employee_id` are mutually exclusive, specifying both is an invalid request.

        '
      parameters:
      - description: Task data
        name: task
        in: body
        required: true
        schema:
          $ref: '#/definitions/TaskUpdate'
      responses:
        200:
          description: Task successfully updated.
          schema:
            $ref: '#/definitions/Task'
        400:
          $ref: '#/responses/InvalidRequest'
        404:
          $ref: '#/responses/ErrorResponseTaskNotFound'
  /tasks/{id}/change_status:
    parameters:
    - description: Task ID
      name: id
      in: path
      required: true
      type: integer
    - description: Task Status
      name: body
      in: body
      required: true
      schema:
        type: object
        properties:
          status:
            type: string
            example: closed
    post:
      tags:
      - Tasks
      summary: Update a task status.
      description: '- Requires permission `Edit Tasks` for all statuses other than `rejected`.

        - Requires permission `Reject Tasks` if the status is `rejected`.

        '
      responses:
        200:
          description: Task successfully updated.
        400:
          $ref: '#/responses/InvalidRequest'
        404:
          $ref: '#/responses/ErrorResponseTaskNotFound'
  /tasks/count:
    get:
      summary: Retrieve total number of tasks by various criteria
      description: Retrieve number of tasks by using various criteria.
      tags:
      - Tasks
      parameters:
      - $ref: '#/components/parameters/branches'
      - $ref: '#/components/parameters/branch_id'
      - $ref: '#/components/parameters/created_at_min'
      - $ref: '#/components/parameters/created_at_max'
      - $ref: '#/components/parameters/created_by'
      - $ref: '#/components/parameters/due_at_min'
      - $ref: '#/components/parameters/due_at_max'
      - $ref: '#/components/parameters/no_due_at'
      - $ref: '#/components/parameters/assigned_to_group_id'
      - $ref: '#/components/parameters/assigned_to_user_ids'
      - $ref: '#/components/parameters/assigned_to_external_employee_ids'
      - $ref: '#/components/parameters/assigned_to_user_id_groups'
      - $ref: '#/components/parameters/assigned_to_user_id_groups_mode'
      - $ref: '#/components/parameters/priorities'
      - $ref: '#/components/parameters/tags'
      - $ref: '#/components/parameters/statuses'
      - $ref: '#/components/parameters/is_assigned'
      - $ref: '#/components/parameters/is_assigned_to_user'
      - $ref: '#/components/parameters/contexts'
      - $ref: '#/components/parameters/context_external_client_id'
      - $ref: '#/components/parameters/client_group_ids'
      - $ref: '#/components/parameters/client_group_ids_mode'
      - $ref: '#/components/parameters/context_external_employee_id'
      - $ref: '#/components/parameters/employee_group_ids'
      - $ref: '#/components/parameters/employee_group_ids_mode'
      - $ref: '#/components/parameters/task_sources'
      - $ref: '#/components/parameters/task_text'
      responses:
        '200':
          $ref: '#/components/schemas/TaskCount'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
  /tasks/{task_id}:
    get:
      summary: Retrieve a task by id
      description: Get the full details of a task by using the `task_id` column.
      tags:
      - Tasks
      parameters:
      - $ref: '#/components/parameters/task_id'
      responses:
        '200':
          $ref: '#/components/schemas/Task'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
    put:
      summary: Update a task
      description: Update a Task
      tags:
      - Tasks
      parameters:
      - $ref: '#/components/parameters/task_id'
      - $ref: '#/components/parameters/update_contexts'
      - $ref: '#/components/parameters/update_escalation_dates'
      - $ref: '#/components/parameters/update_extensions'
      - $ref: '#/components/parameters/update_tags'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Task'
        description: Task
        required: true
      responses:
        '200':
          description: success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
    patch:
      summary: Patch a task
      description: 'Patch a task, only replacing those fields that are specified and retaining

        the existing value for fields that are not specified.'
      tags:
      - Tasks
      parameters:
      - $ref: '#/components/parameters/task_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskPatchRequest'
        description: Fields to patch
        required: true
      responses:
        '200':
          description: success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
    delete:
      summary: Delete a task
      description: Delete a task
      tags:
      - Tasks
      parameters:
      - $ref: '#/components/parameters/task_id'
      responses:
        '204':
          description: success, no content
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
  /tasks/{task_id}/status/{status}:
    patch:
      summary: Change the status of a task by id
      description: Change the status of a task by id
      tags:
      - Tasks
      parameters:
      - $ref: '#/components/parameters/task_id'
      - $ref: '#/components/parameters/status_in_path'
      responses:
        '200':
          description: success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
  /tasks/clone:
    post:
      summary: Clone a task
      description: Clone a task, creating a new task with the same details as the original task, including all sub tasks. Some fields, such as creator, created_at, assigned user and group, and status will be set to defaults instead.
      tags:
      - Tasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CloneTaskRequest'
        description: Clone Task Request
        required: true
      responses:
        '201':
          description: created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Task'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
  /tasks/{task_id}/sub_tasks:
    get:
      summary: Retrieve sub tasks
      description: Retrieve sub tasks for a task.
      tags:
      - Tasks
      parameters:
      - $ref: '#/components/parameters/task_id'
      - $ref: '#/components/parameters/page'
      - $ref: '#/components/parameters/count'
      responses:
        '200':
          description: success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PaginatedSubTaskList'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
    post:
      summary: Add a sub task
      description: Add a sub task to a task.
      tags:
      - Tasks
      parameters:
      - $ref: '#/components/parameters/task_id'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubTask'
        description: Sub Task
        required: true
      responses:
        '201':
          description: created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubTask'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
        '404':
          $ref: '#/components/responses/404NotFound'
  /tasks/bulk_action:
    delete:
      summary: Delete multiple tasks
      description: 'Delete multiple tasks at once. All tasks specified in the payload will be deleted.

        This operation either succeeds as a whole or fails as a whole. If any of the

        tasks does not exist or is inaccessible, the entire operation will fail.'
      tags:
      - Tasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkDeleteActionRequest'
      responses:
        '204':
          description: success, no content
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
    patch:
      summary: Update multiple tasks
      description: 'Update multiple tasks at once, changing only the values that are specified.

        All tasks specified in the payload will be updated. This operation either

        succeeds as a whole or fails as a whole. If any of the tasks does not exist or

        is inaccessible, the entire operation will fail.'
      tags:
      - Tasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkUpdatePatchActionRequest'
      responses:
        '200':
          description: success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkUpdateActionResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
    put:
      summary: Update multiple tasks
      description: 'Update multiple tasks at once. All tasks specified in the payload will be updated.

        This operation either succeeds as a whole or fails as a whole. If any of the

        tasks does not exist or is inaccessible, the entire operation will fail.'
      tags:
      - Tasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkUpdateActionRequest'
      responses:
        '200':
          description: success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkUpdateActionResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
  /tasks/bulk_action/status:
    patch:
      summary: Change the status of multiple tasks
      description: 'Change the status of multiple tasks at once. All tasks specified in the payload

        will be updated. This operation either succeeds as a whole or fails as a whole.

        If any of the tasks does not exist or is inaccessible, the entire operation

        will fail.'
      tags:
      - Tasks
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/BulkUpdateStatusActionRequest'
      responses:
        '200':
          description: success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BulkUpdateActionResponse'
        '400':
          $ref: '#/components/responses/400BadRequest'
        '401':
          $ref: '#/components/responses/401Unauthorized'
        '403':
          $ref: '#/components/responses/403Forbidden'
components:
  parameters:
    due_at_max:
      name: due_at_max
      in: query
      schema:
        type: string
        format: datetime
      description: Maximum due date
      example: '2023-01-31T22:00:00.000Z'
    context_external_employee_id:
      name: context_external_employee_id
      in: query
      required: false
      schema:
        type: string
      description: 'The external employee identifier of the employee to filter on when searching

        for tasks associated with an employee context. When set, a context search

        will be included for the specified employee.   '
    created_at_min:
      name: created_at_min
      in: query
      schema:
        type: string
        format: datetime
      description: Minimum created date
      example: '2023-01-31T22:00:00.000Z'
    assigned_to_group_id:
      name: assigned_to_group_id
      in: query
      schema:
        type: integer
      description: The group identifier of the group which is assigned the task. Please refer to the external employee API for more information on groups.
      example: 123
    tags:
      name: tags
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
        explode: true
      description: Tags to include in results
    task_id:
      name: task_id
      in: path
      required: true
      schema:
        type: integer
      description: The task identifier
    update_tags:
      name: update_tags
      in: query
      required: false
      schema:
        type: boolean
      description: Whether to update tags from the payload
    task_text:
      name: text
      in: query
      required: false
      schema:
        type: string
      description: Search for text in tasks. The `name` and `details` fields are searched.
    status_in_path:
      name: status
      in: path
      required: true
      schema:
        $ref: '#/components/schemas/Status'
    due_at_min:
      name: due_at_min
      in: query
      schema:
        type: string
        format: datetime
      description: Minimum due date
      example: '2023-01-31T22:00:00.000Z'
    count:
      name: count
      in: query
      schema:
        type: integer
        maxLength: 100
        minLength: 1
      description: Number of items per page to return
      example: 50
    update_contexts:
      name: update_contexts
      in: query
      required: false
      schema:
        type: boolean
      description: Whether to update contexts from the payload
    assigned_to_user_ids:
      name: assigned_to_user_ids
      in: query
      schema:
        type: array
        items:
          type: integer
        explode: true
      description: The user identifiers of the user who is assigned the task. Please refer to the external employee API for more information on employee id.
      example: 1234
    branch_id:
      name: branch_id
      in: query
      schema:
        type: integer
      description: The branch identifier to filter on. Please refer to the external employee API for more information on branches.
      example: 100
    employee_group_ids:
      name: employee_group_ids
      in: query
      required: false
      schema:
        type: array
        items:
          type: integer
        explode: true
      description: Return tasks that have an employee context that is associated with one of the specified employee groups or all of the specified employee groups (depending on the `employee_group_ids_mode` parameter).
      example:
      - 100
      - 101
      - 102
    is_assigned:
      name: is_assigned
      in: query
      schema:
        type: boolean
      description: When set, only tasks that are assigned to a user or group will be included.
      example: true
    update_escalation_dates:
      name: update_escalation_dates
      in: query
      required: false
      schema:
        type: boolean
      description: Whether to update escalation dates from the payload
    is_assigned_to_user:
      name: is_assigned_to_user
      in: query
      schema:
        type: boolean
      description: When set, only tasks that are assigned to a user will be included.
      example: true
    statuses:
      name: statuses
      description: Statuses to include.
      in: query
      required: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/Status'
        explode: true
    page:
      name: page
      in: query
      required: false
      schema:
        type: integer
        minimum: 1
      example: 1
    client_group_ids_mode:
      name: client_group_ids_mode
      in: query
      required: false
      schema:
        type: string
        oneOf:
        - title: all
          const: all
        - title: any
          const: any
      description: When set to 'all', only tasks that have a client context that is associated with all of the specified client groups will be returned. When set to 'any', tasks that have a client context that is associated with any of the specified client groups will be returned. To be used in conjunction with `client_groups_ids`
      example: any
    update_extensions:
      name: update_extensions
      in: query
      required: false
      schema:
        type: boolean
      description: Whether to update extensions from the payload
    task_sources:
      name: sources
      in: query
      required: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/TaskSource'
        explode: true
      description: Sources to include in results.
    assigned_to_external_employee_ids:
      name: assigned_to_external_employee_ids
      in: query
      schema:
        type: array
        items:
          type: string
      explode: true
      description: The external employee identifiers of the employee who is assigned the task. Please refer to the external employee API for more information on external employee id.
      example: abc_123
    contexts:
      name: contexts
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
        explode: true
      description: Search criteria for context. Each element is a comma separated list of context operator, context type, and context primary id. For example, `include,client,27` will return tasks that include the client context with client id 27. The context primary id may be omitted, in which case all tasks that have a context of the specified context type will be included. The context operator may be 'include' or 'exclude'. When set to 'include', tasks that are associated with the specified context will be included. When set to 'exclude', tasks that are not associated with the specified context will be included.
      example:
      - (include
      - client
      - 27)
      - (include
      - form
      - 123)
    branches:
      name: branches
      in: query
      required: false
      schema:
        type: array
        items:
          type: string
      explode: true
      description: Branch identifiers to filter on. Please refer to the external employee API for more information on branches.
      example: headquarter
    employee_group_ids_mode:
      name: employee_group_ids_mode
      in: query
      required: false
      schema:
        type: string
        oneOf:
        - title: all
          const: all
        - title: any
          const: any
      description: When set to 'all', only tasks that have a employee context that is associated with all of the specified employee groups will be returned. When set to 'any', tasks that have a employee context that is associated with any of the specified employee groups will be returned.
      example: all
    assigned_to_user_id_groups:
      name: assigned_to_user_id_groups
      in: query
      schema:
        type: array
        items:
          type: integer
      explode: true
      description: Include tasks that are assigned to members of the specified groups. Depending on the value of `assigned_to_user_id_groups_mode`, tasks will be returned that are assigned to a user in any of the specified groups or all of the specified groups. Please refer to the external employee API for more information on groups.
      example:
      - 100
      - 355
      - 150
    created_by:
      name: created_by
      in: query
      schema:
        type: integer
      description: The user identifier of the user who created the task. Please refer to the external employee API for more information on employee id.
      example: 1123
    assigned_to_user_id_groups_mode:
      name: assigned_to_user_id_groups_mode
      in: query
      schema:
        type: string
        oneOf:
        - title: all
          const: all
        - title: any
          const: any
      description: When set to 'all', only tasks that are assigned to a user in all of the specified groups will be returned. When set to 'any', tasks that are assigned to a user in any of the specified groups will be returned. To be used in conjunction with `assigned_to_user_id_groups`
      example: all
    no_due_at:
      name: no_due_at
      in: query
      schema:
        type: boolean
      description: Set to true to filter on tasks without a due date
      example: true
    client_group_ids:
      name: client_group_ids
      in: query
      required: false
      schema:
        type: array
        items:
          type: integer
      explode: true
      description: Return tasks that have a client context that is associated with one of the specified client groups or all of the specified client groups (depending on the `client_group_ids_mode` parameter). Please refer to the external client API for more information on client groups.
      example:
      - 100
      - 101
      - 102
    created_at_max:
      name: created_at_max
      in: query
      schema:
        type: string
        format: datetime
      description: Maximum created date
      example: '2023-01-31T22:00:00.000Z'
    priorities:
      name: priorities
      description: Priorities to include.
      in: query
      required: false
      schema:
        type: array
        items:
          $ref: '#/components/schemas/Priority'
        explode: true
      example: null
    context_external_client_id:
      name: context_external_client_id
      in: query
      required: false
      schema:
        type: string
      description: 'The external client identifier of the client to filter on when searching for

        tasks associated with a client context. When set, a context search will be

        included for the specified client.'
  schemas:
    Person:
      type: object
      description: Encapsulates the bare details of a person
      properties:
        id:
          type: integer
          nullable: false
          description: Primary ID (Employee ID, User ID etc.) of person
        external_id:
          type: string
          nullable: true
          description: External ID of person
        guid:
          type: integer
          nullable: true
          description: GUID
        profile_id:
          type: integer
          nullable: true
          description: Profile ID
        last_name:
          type: string
          description: Last Name/Family Name
        first_name:
          type: string
          description: First Name
        full_name:
          type: string
          description: Full Name
        status:
          type: string
          description: Status of person
        deep_link:
          type: string
          description: Deep link to person
        profile_photo_url:
          type: string
          description: URL to profile photo
    SubTask:
      type: object
      description: 'Tasks can have 0 or more sub tasks. Progress on a parent task is tracked by

        reviewing the status of sub tasks.'
      title: Sub Task
      properties:
        subtask_id:
          type: integer
          example: 12
        due_at:
          nullable: true
          type: string
          format: datetime
          example: '2023-02-27T10:00:00.000Z'
          description: When the sub task is due.
        name:
          type: string
          example: Update chart with results
          nullable: false
          description: Free-form entered by user
        details:
          type: string
          example: '- Validate results.

            - Update most recent chart with new results.'
        created_at:
          type: string
          format: datetime
          example: '2023-02-02T19:00:45.000Z'
          description: When the sub task was created
        created_by:
          $ref: '#/components/schemas/Person'
          description: Who created the sub task.
        updated_at:
          type: string
          format: datetime
          example: '2023-02-02T19:00:58.000Z'
          description: When the task was most recently updated.
        updated_by:
          $ref: '#/components/schemas/Person'
          description: Who updated the sub task.
        status:
          $ref: '#/components/schemas/Status'
          nullable: false
          description: Status of the Sub Task
        contexts:
          type: array
          items:
            $ref: '#/components/schemas/TaskContext'
          description: Applicable contexts.
    BulkDeleteActionRequest:
      type: object
      descripti

# --- truncated at 32 KB (58 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/api-evangelist-alayacare/refs/heads/main/openapi/alayacare-tasks-api-openapi.yml