Update Task

Update one or more fields of a specific task. Only the fields included in the request body will be modified — all other fields remain unchanged.

Example Requests:

Change the status and due date:

curl "https://<your-agency>.smartmatchapp.com/api3/tasks/<task_id>/" \
    -u <token>: \
    -X PUT \
    -d "status_id=3" \
    -d "due_date=2026-04-01"

Assign a user and set priority:

curl "https://<your-agency>.smartmatchapp.com/api3/tasks/<task_id>/" \
    -u <token>: \
    -X PUT \
    -d "user_assigned_id=5" \
    -d "priority=3"

Clear the due date:

curl "https://<your-agency>.smartmatchapp.com/api3/tasks/<task_id>/" \
    -u <token>: \
    -X PUT \
    -d "due_date="

Archive a task:

curl "https://<your-agency>.smartmatchapp.com/api3/tasks/<task_id>/" \
    -u <token>: \
    -X PUT \
    -d "is_archived=true"

Unarchive a task:

curl "https://<your-agency>.smartmatchapp.com/api3/tasks/<task_id>/" \
    -u <token>: \
    -X PUT \
    -d "is_archived=false"

Set custom-field values (use field_<field_id> — the field_id comes from the board fields endpoint). For a MultiSelect field, pass several choice keys separated by commas:

curl "https://<your-agency>.smartmatchapp.com/api3/tasks/<task_id>/" \
    -u <token>: \
    -X PUT \
    -d "field_12=budget approved" \
    -d "field_15=2" \
    -d "field_18=1,3,4"
Request Parameters:

title: (Optional) The task title. Maximum 255 characters.

description: (Optional) The task description. Supports HTML.

board_id: (Optional) Move the task to a different board by ID.

status_id: (Optional) Change the task status by ID.

due_date: (Optional) The due date in YYYY-MM-DD format. Send an empty value to clear it.

user_assigned_id: (Optional) Assign the task to an agency user by ID.

priority: (Optional) Priority level: 1 = Low, 2 = Medium, 3 = High.

folder_id: (Optional) Move the task into a folder by ID.

is_template: (Optional) Set to true or false to toggle template status.

is_archived: (Optional) Set to true to archive the task, false to restore it.

field_<field_id>: (Optional) Set a custom-field value. The value format matches the field kind: a number for Integer/Fractional, YYYY-MM-DD for Date, the choice key for Select, etc. For a MultiSelect field, pass the selected choice keys as a single comma-separated value, e.g. field_18=1,3,4. Send an empty value to clear the field. An invalid value or unknown choice returns 400.

Example Success Response:
HTTP 204 No Content
Base Request:

Method: PUT

Authentication: Basic Authentication. Requires a valid <token> passed.

Rate Limits:

10 requests within 10 seconds

Error Responses:
400 Bad Request

This error occurs if a provided field value is invalid (e.g., a non-date value for due_date).
Possible errors: "enter a valid date"

401 Unauthorized

This error occurs when the <token> is missing, invalid, or the API access is disabled.

Possible errors: "not authenticated" or "token is disabled" or "Agency API is disabled"

404 Not Found

This error occurs if the task with the specified ID does not exist.
Possible errors: "object does not exist"

405 Method Not Allowed

This error occurs if an HTTP method other than PUT is used.
Possible errors: "wrong method"

429 Too Many Requests

This error occurs when the client has sent too many requests in a given amount of time, leading to rate limiting by the server.

Possible errors: "too many requests"

500 Server Error

Possible errors: "Internal server error"