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

# Update task

> Update an existing task

Also accepts `PATCH` with the same body.



## OpenAPI

````yaml /api-reference/openapi.json put /admin/api/v1/projects/tasks/{id}
openapi: 3.0.3
info:
  title: ARUKZ ERP API
  version: v1
  description: >-
    The REST API of ARUKZ ERP: sales, purchases, inventory, products, partners,
    accounts, projects and reference data. Every call acts as the user whose
    token it carries and sees only that user's company.
servers:
  - url: https://erp.arukz.com
    description: ARUKZ ERP (hosted)
security:
  - bearerAuth: []
tags:
  - name: Authentication
    description: Sign in for a token and sign out.
  - name: Sales
    description: Quotations, sales orders and their lines, deliveries and invoices.
  - name: Purchases
    description: Purchase orders, receipts, bills, agreements and vendor price lists.
  - name: Inventory
    description: >-
      Warehouses, locations, lots, stock quantities, receipts, deliveries,
      transfers and scrap.
  - name: Products
    description: 'The product catalogue: categories, attributes, variants and packaging.'
  - name: Partners
    description: Customers, vendors, contacts, addresses and bank accounts.
  - name: Accounts
    description: >-
      Invoices, bills, credit notes, refunds, taxes, journals and the chart of
      accounts.
  - name: Projects
    description: Projects, tasks, stages and milestones.
  - name: Reference data
    description: Currencies and rates, banks, countries, states and units of measure.
paths:
  /admin/api/v1/projects/tasks/{id}:
    put:
      tags:
        - Projects
      summary: Update task
      description: |-
        Update an existing task

        Also accepts `PATCH` with the same body.
      operationId: projects-tasks-update-task
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: integer
            description: The task ID
            example: 1
          description: The task ID
      requestBody:
        required: false
        content:
          application/json:
            schema:
              type: object
              properties:
                title:
                  type: string
                  description: Task title. Must not be greater than 255 characters.
                  example: Prepare homepage wireframe
                description:
                  type: string
                  description: Task description.
                  nullable: true
                  example: Create initial wireframe and review notes.
                state:
                  type: string
                  description: Task state.
                  enum:
                    - in_progress
                    - change_requested
                    - approved
                    - cancelled
                    - done
                  example: in_progress
                stage_id:
                  type: integer
                  description: >-
                    Task stage ID. The `id` of an existing record in the
                    projects_task_stages table.
                  example: 1
                project_id:
                  type: integer
                  description: >-
                    Project ID. The `id` of an existing record in the
                    projects_projects table.
                  nullable: true
                  example: 1
                milestone_id:
                  type: integer
                  description: >-
                    Milestone ID. The `id` of an existing record in the
                    projects_milestones table.
                  nullable: true
                  example: 1
                partner_id:
                  type: integer
                  description: >-
                    Customer ID. The `id` of an existing record in the
                    partners_partners table.
                  nullable: true
                  example: 1
                parent_id:
                  type: integer
                  description: >-
                    Parent task ID for sub-task. The `id` of an existing record
                    in the projects_tasks table.
                  nullable: true
                  example: 10
                deadline:
                  type: string
                  description: Task deadline date-time. Must be a valid date.
                  nullable: true
                  example: '2026-03-10 18:00:00'
                allocated_hours:
                  type: number
                  description: Allocated effort in hours. Must be at least 0.
                  nullable: true
                  example: 12
                priority:
                  type: boolean
                  description: Priority flag.
                  nullable: true
                  example: false
                users:
                  type: array
                  items:
                    type: integer
                  description: The `id` of an existing record in the users table.
                  example:
                    - 16
                tags:
                  type: array
                  items:
                    type: integer
                  description: The `id` of an existing record in the projects_tags table.
                  example:
                    - 16
      responses:
        '200':
          description: Success
          content:
            application/json:
              example:
                data:
                  id: 1
                  title: Frontend Development
                  description: >-
                    <p>Implement the new UI using modern frameworks (e.g.,
                    React, Vue).</p>
                  color: null
                  priority: false
                  state: in_progress
                  sort: 1
                  is_active: true
                  is_recurring: false
                  deadline: '2026-09-24T00:00:00.000000Z'
                  working_hours_open: 0
                  working_hours_close: 0
                  allocated_hours: 150
                  remaining_hours: 0
                  effective_hours: 0
                  total_hours_spent: 0
                  subtask_effective_hours: 0
                  overtime: 0
                  progress: 0
                  stage_id: 1
                  project_id: 4
                  partner_id: 39
                  parent_id: null
                  company_id: null
                  creator_id: 1
                  created_at: '2025-09-23T12:55:10.000000Z'
                  updated_at: '2025-09-23T12:55:10.000000Z'
                  deleted_at: null
                message: Task updated successfully.
        '401':
          description: Unauthenticated
          content:
            application/json:
              example:
                message: Unauthenticated.
        '404':
          description: Task not found
          content:
            application/json:
              example:
                message: Resource not found.
        '422':
          description: Validation error
          content:
            application/json:
              example:
                message: The given data was invalid.
                errors:
                  title:
                    - The title field is required.
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >-
        An API token from [Sign in](/api-reference/authentication), sent as
        `Authorization: Bearer <token>`. Tokens last 30 days.

````

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