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

# Update Task

> Update only the fields you send. `null` clears the owner, deadline or description.

Send `expected_revision` to get a 409 `task_revision_conflict` instead of overwriting a newer edit.



## OpenAPI

````yaml /openapi-v1.json put /api/v1/tasks/{task_id}
openapi: 3.1.0
info:
  title: AGO Public API
  version: 1.0.0
  description: Programmatic access to your AGO workspace.
servers:
  - url: https://{tenant_id}.api.useago.com
    description: AGO Public API v1
    variables:
      tenant_id:
        default: your-tenant-id
        description: Your AGO tenant identifier
security: []
paths:
  /api/v1/tasks/{task_id}:
    put:
      tags:
        - Tasks
      summary: Update Task
      description: >-
        Update only the fields you send. `null` clears the owner, deadline or
        description.


        Send `expected_revision` to get a 409 `task_revision_conflict` instead
        of overwriting a newer edit.
      operationId: update_task
      parameters:
        - in: path
          name: task_id
          schema:
            description: Task UUID or identifier such as TASK-12
            title: Task Id
            type: string
          required: true
          description: Task UUID or identifier such as TASK-12
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TaskUpdateIn'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TaskOut'
      security:
        - ScopedAPIKeyAuth: []
components:
  schemas:
    TaskUpdateIn:
      description: >-
        Send only the fields to change; ``null`` clears owner, deadline and
        description.
      properties:
        title:
          anyOf:
            - maxLength: 200
              type: string
            - type: 'null'
          title: Title
        description:
          anyOf:
            - maxLength: 5000
              type: string
            - type: 'null'
          title: Description
        status:
          anyOf:
            - type: string
            - type: 'null'
          title: Status
        priority:
          anyOf:
            - type: string
            - type: 'null'
          title: Priority
        deadline:
          anyOf:
            - format: date
              type: string
            - type: 'null'
          title: Deadline
        owner_id:
          anyOf:
            - format: uuid
              type: string
            - type: 'null'
          title: Owner Id
        label_ids:
          anyOf:
            - items:
                format: uuid
                type: string
              type: array
            - type: 'null'
          title: Label Ids
        expected_revision:
          anyOf:
            - type: integer
            - type: 'null'
          description: >-
            Reject the update with 409 task_revision_conflict if the task
            changed since.
          title: Expected Revision
      title: TaskUpdateIn
      type: object
    TaskOut:
      properties:
        id:
          title: Id
          type: string
        identifier:
          anyOf:
            - type: string
            - type: 'null'
          description: Short handle such as TASK-12, accepted wherever a task id is.
          title: Identifier
        title:
          title: Title
          type: string
        description:
          default: ''
          title: Description
          type: string
        status:
          $ref: '#/components/schemas/TaskStatusRef'
        priority:
          title: Priority
          type: string
        deadline:
          anyOf:
            - format: date
              type: string
            - type: 'null'
          title: Deadline
        owner:
          anyOf:
            - $ref: '#/components/schemas/TaskUserRef'
            - type: 'null'
        labels:
          items:
            $ref: '#/components/schemas/TaskLabelOut'
          title: Labels
          type: array
        links:
          items:
            $ref: '#/components/schemas/TaskLinkOut'
          title: Links
          type: array
        source:
          title: Source
          type: string
        created_by:
          anyOf:
            - $ref: '#/components/schemas/TaskUserRef'
            - type: 'null'
        revision:
          title: Revision
          type: integer
        created_at:
          format: date-time
          title: Created At
          type: string
        updated_at:
          format: date-time
          title: Updated At
          type: string
        finished_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Finished At
        archived_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Archived At
        admin_url:
          title: Admin Url
          type: string
      required:
        - id
        - title
        - status
        - priority
        - labels
        - links
        - source
        - revision
        - created_at
        - updated_at
        - admin_url
      title: TaskOut
      type: object
    TaskStatusRef:
      properties:
        key:
          title: Key
          type: string
        label:
          title: Label
          type: string
        category:
          description: todo, in_progress, done, or canceled
          title: Category
          type: string
        role:
          anyOf:
            - type: string
            - type: 'null'
          description: '"review" for the review column'
          title: Role
      required:
        - key
        - label
        - category
      title: TaskStatusRef
      type: object
    TaskUserRef:
      properties:
        id:
          title: Id
          type: string
        name:
          anyOf:
            - type: string
            - type: 'null'
          title: Name
        email:
          anyOf:
            - type: string
            - type: 'null'
          title: Email
      required:
        - id
      title: TaskUserRef
      type: object
    TaskLabelOut:
      properties:
        id:
          title: Id
          type: string
        name:
          title: Name
          type: string
        color:
          title: Color
          type: string
      required:
        - id
        - name
        - color
      title: TaskLabelOut
      type: object
    TaskLinkOut:
      properties:
        id:
          title: Id
          type: string
        target_type:
          title: Target Type
          type: string
        target_id:
          title: Target Id
          type: string
        context:
          $ref: '#/components/schemas/TaskLinkContext'
        deleted:
          description: True when the linked record was deleted; the link stays as history.
          title: Deleted
          type: boolean
        admin_url:
          anyOf:
            - type: string
            - type: 'null'
          title: Admin Url
      required:
        - id
        - target_type
        - target_id
        - context
        - deleted
      title: TaskLinkOut
      type: object
    TaskLinkContext:
      properties:
        conversation_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Conversation Id
        message_id:
          anyOf:
            - type: string
            - type: 'null'
          title: Message Id
      title: TaskLinkContext
      type: object
  securitySchemes:
    ScopedAPIKeyAuth:
      type: apiKey
      in: header
      name: X-API-Key

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.