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

# Update a scheduling task

> Updates the supplied assignee, urgency, queue, tags, debrief requirement, or meeting location for a scheduling task. Omitted fields are preserved; null clears the assignee, queue, or meeting location, while supplying tags replaces the task's tag list. An empty PATCH body is rejected.

<Note>**Beta**: this endpoint may change or be removed without notice while in beta. There is no compatibility promise until it reaches general availability.</Note>


## OpenAPI

````yaml /openapi.json patch /v1/tasks/{taskId}
openapi: 3.1.0
info:
  title: ModernLoop Platform API
  version: 0.1.0
  description: The ModernLoop Platform API for managing recruiting workflows.
  contact:
    email: support@modernloop.io
servers:
  - url: https://api.modernloop.io
security: []
tags:
  - name: Application
  - name: Candidate
  - name: Interview Event
  - name: Interview Module
  - name: Interviewer
  - name: Job
  - name: Job Stage
  - name: Organization
  - name: Schedule
  - name: Scheduling Task
  - name: Task Queue
  - name: Template
paths:
  /v1/tasks/{taskId}:
    patch:
      tags:
        - Scheduling Task
      summary: Update a scheduling task
      description: >-
        Updates the supplied assignee, urgency, queue, tags, debrief
        requirement, or meeting location for a scheduling task. Omitted fields
        are preserved; null clears the assignee, queue, or meeting location,
        while supplying tags replaces the task's tag list. An empty PATCH body
        is rejected.
      operationId: updateSchedulingTask
      parameters:
        - schema:
            type: string
            pattern: >-
              ^(?:tsk_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
            description: >-
              a task ID. Accepts the canonical prefixed compact UUID, a prefixed
              dashed UUID, a bare dashed UUID, or a bare compact UUID; input is
              case-insensitive.
            example: tsk_a1b2c3d4e5f64789a1b2c3d4e5f64789
          required: true
          name: taskId
          in: path
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SchedulingTaskPatch'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulingTask'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '403':
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '410':
          description: Gone
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '500':
          description: Internal error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - bearerAuth: []
components:
  schemas:
    SchedulingTaskPatch:
      type: object
      properties:
        assignee_id:
          type:
            - string
            - 'null'
          pattern: >-
            ^(?:emp_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
          description: >-
            an employee ID. Accepts the canonical prefixed compact UUID, a
            prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID;
            input is case-insensitive.
          example: emp_a1b2c3d4e5f64789a1b2c3d4e5f64789
        is_urgent:
          type: boolean
          description: Replaces the urgency flag when supplied; omit to preserve it.
        queue_id:
          type:
            - string
            - 'null'
          pattern: >-
            ^(?:que_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
          description: >-
            a task queue ID. Accepts the canonical prefixed compact UUID, a
            prefixed dashed UUID, a bare dashed UUID, or a bare compact UUID;
            input is case-insensitive.
          example: que_a1b2c3d4e5f64789a1b2c3d4e5f64789
        tags:
          type: array
          items:
            type: string
          description: >-
            Tags must already exist in the organization; unknown tags are
            rejected.
        is_debrief_required:
          type: boolean
          description: >-
            Replaces whether a debrief is required when supplied; omit to
            preserve it.
        meeting_location:
          oneOf:
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - NONE
              required:
                - type
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CANDIDATE_PHONE
              required:
                - type
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - ZOOM
                host:
                  oneOf:
                    - type: object
                      properties:
                        host_type:
                          type: string
                          enum:
                            - DYNAMIC_INTERVIEWERS
                      required:
                        - host_type
                    - type: object
                      properties:
                        host_type:
                          type: string
                          enum:
                            - DYNAMIC_SCHEDULER
                      required:
                        - host_type
                    - type: object
                      properties:
                        host_type:
                          type: string
                          enum:
                            - EMPLOYEE
                        host_employee_id:
                          type: string
                          pattern: >-
                            ^(?:emp_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                          description: >-
                            an employee ID. Accepts the canonical prefixed
                            compact UUID, a prefixed dashed UUID, a bare dashed
                            UUID, or a bare compact UUID; input is
                            case-insensitive.
                          example: emp_a1b2c3d4e5f64789a1b2c3d4e5f64789
                      required:
                        - host_type
                        - host_employee_id
                    - type: object
                      properties:
                        host_type:
                          type: string
                          enum:
                            - REMOTE_USER
                        remote_video_meeting_host_user_id:
                          type: string
                      required:
                        - host_type
                        - remote_video_meeting_host_user_id
              required:
                - type
                - host
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - GOOGLE_MEET
                host:
                  oneOf:
                    - type: object
                      properties:
                        host_type:
                          type: string
                          enum:
                            - DYNAMIC_INTERVIEWERS
                      required:
                        - host_type
                    - type: object
                      properties:
                        host_type:
                          type: string
                          enum:
                            - DYNAMIC_SCHEDULER
                      required:
                        - host_type
                    - type: object
                      properties:
                        host_type:
                          type: string
                          enum:
                            - EMPLOYEE
                        host_employee_id:
                          type: string
                          pattern: >-
                            ^(?:emp_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                          description: >-
                            an employee ID. Accepts the canonical prefixed
                            compact UUID, a prefixed dashed UUID, a bare dashed
                            UUID, or a bare compact UUID; input is
                            case-insensitive.
                          example: emp_a1b2c3d4e5f64789a1b2c3d4e5f64789
                      required:
                        - host_type
                        - host_employee_id
              required:
                - type
                - host
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - MICROSOFT_TEAMS
                host:
                  oneOf:
                    - type: object
                      properties:
                        host_type:
                          type: string
                          enum:
                            - DYNAMIC_INTERVIEWERS
                      required:
                        - host_type
                    - type: object
                      properties:
                        host_type:
                          type: string
                          enum:
                            - DYNAMIC_SCHEDULER
                      required:
                        - host_type
                    - type: object
                      properties:
                        host_type:
                          type: string
                          enum:
                            - EMPLOYEE
                        host_employee_id:
                          type: string
                          pattern: >-
                            ^(?:emp_)?(?:[0-9a-fA-F]{32}|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$
                          description: >-
                            an employee ID. Accepts the canonical prefixed
                            compact UUID, a prefixed dashed UUID, a bare dashed
                            UUID, or a bare compact UUID; input is
                            case-insensitive.
                          example: emp_a1b2c3d4e5f64789a1b2c3d4e5f64789
                      required:
                        - host_type
                        - host_employee_id
              required:
                - type
                - host
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CUSTOM_LINK
                value:
                  type: string
                  minLength: 1
              required:
                - type
                - value
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CUSTOM_PHONE
                value:
                  type: string
                  minLength: 1
              required:
                - type
                - value
            - type: object
              properties:
                type:
                  type: string
                  enum:
                    - CUSTOM_TEXT
                value:
                  type: string
                  minLength: 1
              required:
                - type
                - value
            - type: 'null'
          description: Replaces the meeting location. Omit to preserve; null clears it.
      additionalProperties: false
    SchedulingTask:
      type: object
      properties:
        id:
          type: string
          pattern: ^tsk_[0-9a-f]{32}$
          description: >-
            Canonical task ID (tsk_ followed by 32 lowercase hexadecimal UUID
            characters).
          example: tsk_a1b2c3d4e5f64789a1b2c3d4e5f64789
        application:
          type: object
          properties:
            id:
              type: string
              pattern: ^app_[0-9a-f]{32}$
              description: >-
                Canonical application ID (app_ followed by 32 lowercase
                hexadecimal UUID characters).
              example: app_a1b2c3d4e5f64789a1b2c3d4e5f64789
            candidate:
              type: object
              properties:
                id:
                  type: string
                  pattern: ^can_[0-9a-f]{32}$
                  description: >-
                    Canonical candidate ID (can_ followed by 32 lowercase
                    hexadecimal UUID characters).
                  example: can_a1b2c3d4e5f64789a1b2c3d4e5f64789
                name:
                  type: string
              required:
                - id
                - name
            job:
              type: object
              properties:
                id:
                  type: string
                  pattern: ^job_[0-9a-f]{32}$
                  description: >-
                    Canonical job ID (job_ followed by 32 lowercase hexadecimal
                    UUID characters).
                  example: job_a1b2c3d4e5f64789a1b2c3d4e5f64789
                name:
                  type: string
              required:
                - id
                - name
          required:
            - id
            - candidate
            - job
        job_stage:
          type: object
          properties:
            id:
              type: string
              pattern: ^stg_[0-9a-f]{32}$
              description: >-
                Canonical job stage ID (stg_ followed by 32 lowercase
                hexadecimal UUID characters).
              example: stg_a1b2c3d4e5f64789a1b2c3d4e5f64789
            name:
              type: string
          required:
            - id
            - name
        status:
          type: string
          enum:
            - NEEDS_AVAILABILITY
            - WAITING_FOR_CANDIDATE
            - READY_TO_SCHEDULE
            - READY_TO_RESCHEDULE
            - HOLD
            - READY_TO_SEND_TO_CANDIDATE
            - SCHEDULED
            - COMPLETED
            - CANCELED
            - NEEDS_DEBRIEF
        is_urgent:
          type: boolean
        assignee:
          type:
            - object
            - 'null'
          properties:
            id:
              type: string
              pattern: ^emp_[0-9a-f]{32}$
              description: >-
                Canonical employee ID (emp_ followed by 32 lowercase hexadecimal
                UUID characters).
              example: emp_a1b2c3d4e5f64789a1b2c3d4e5f64789
            name:
              type: string
          required:
            - id
            - name
        queue_id:
          type:
            - string
            - 'null'
          pattern: ^que_[0-9a-f]{32}$
          description: >-
            Canonical task queue ID (que_ followed by 32 lowercase hexadecimal
            UUID characters).
          example: que_a1b2c3d4e5f64789a1b2c3d4e5f64789
        tags:
          type: array
          items:
            type: string
        flags:
          type: array
          items:
            type: object
            properties:
              code:
                type: string
              message:
                type: string
              raised_at:
                type: string
                format: date-time
                description: ISO 8601 timestamp.
            required:
              - code
              - message
              - raised_at
        is_debrief_required:
          type: boolean
        delegation:
          type: object
          properties:
            type:
              type: string
              enum:
                - NONE
                - AGENT
            status:
              type: string
              enum:
                - NONE
                - QUEUED
                - ACTIVE
                - WAITING_ON_CANDIDATE
                - WAITING_ON_TEAM
                - COMPLETED
                - STOPPED
          required:
            - type
            - status
        notes:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
              author:
                type: object
                properties:
                  id:
                    type: string
                    pattern: ^emp_[0-9a-f]{32}$
                    description: >-
                      Canonical employee ID (emp_ followed by 32 lowercase
                      hexadecimal UUID characters).
                    example: emp_a1b2c3d4e5f64789a1b2c3d4e5f64789
                  name:
                    type: string
                required:
                  - id
                  - name
              body:
                type: string
              created_at:
                type: string
                format: date-time
                description: ISO 8601 timestamp.
            required:
              - id
              - author
              - body
              - created_at
        created_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp.
        updated_at:
          type: string
          format: date-time
          description: ISO 8601 timestamp.
        app_url:
          type: string
          format: uri
      required:
        - id
        - application
        - job_stage
        - status
        - is_urgent
        - assignee
        - queue_id
        - tags
        - flags
        - is_debrief_required
        - delegation
        - notes
        - created_at
        - updated_at
        - app_url
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            code:
              type: string
              enum:
                - UNAUTHENTICATED
                - API_ACCESS_DISABLED
                - SCOPE_MISSING
                - INSUFFICIENT_SCOPE
                - VALIDATION_FAILED
                - INVALID_CURSOR
                - PAYLOAD_TOO_LARGE
                - NOT_FOUND
                - NOT_FOUND_MAY_BE_SYNCING
                - CANDIDATE_ANONYMIZED
                - TASK_STAGE_NOT_SCHEDULABLE
                - DUPLICATE_REQUEST_OPEN
                - IDEMPOTENCY_KEY_REQUIRED
                - IDEMPOTENCY_KEY_REUSED
                - PREVIEW_EXPIRED
                - PREVIEW_STALE
                - RATE_LIMITED
                - CONFLICT
                - NOT_IMPLEMENTED
                - INTERNAL
                - UPSTREAM_TIMEOUT
            message:
              type: string
            docs_url:
              type: string
              format: uri
          required:
            - code
            - message
      required:
        - error
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API tokens are passed as Bearer tokens.

````