---
title: Create / Update Task
slug: create-update-task
docTags: 
createdAt: 2026-10-08T08:29:29.588Z
---

{
  "id": "aj3UVArKFzAvDTzwieGMU",
  "type": "api-oas-v2",
  "data": {
    "method": "POST",
    "url": "https://dev1.frontu.com//client/api/v2/tasks",
    "servers": [
      {
        "url": "https://dev1.frontu.com//client/api/v2/tasks"
      }
    ],
    "name": "Create / Update Task",
    "description": "<p>This endpoint allows to create or update the task object.</p>\n<p>If you want to update Task using POST method you need to fill information for guid field or systemId field in request body.</p>\n<p>Example how to use custom values:</p>\n<p>You need to specify it for example like this:</p>\n<p>first value is guid of the custom field (for this case you can select all custom fields in this endpoint - <a href=\"https://tasker.stoplight.io/docs/tasker-api-v2/tasker_swagger.json/paths/~1client~1api~1v2~1customfields~1tasks/get\" target=\"_blank\">https://tasker.stoplight.io/docs/tasker-api-v2/tasker_swagger.json/paths/~1client~1api~1v2~1customfields~1tasks/get</a> ), and second is value of the custom field.\n\"customValues\":\n{\n\"f889fbe9-9d9b-3c8a-8549-e321ee7e3e34\": \"Custom Value\",\n\"f889fbe9-9d9b-3c8a-8549-e321ee7e3e35\": \"Custom Value 2\",\n\"f889fbe9-9d9b-3c8a-8549-e321ee7e3e38\": \"2\"\n}</p>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [],
      "headerParameters": [],
      "queryParameters": [],
      "bodyDataParameters": [
        {
          "kind": "required",
          "name": "body",
          "type": "object",
          "description": "",
          "schema": [
            {
              "name": "title",
              "kind": "required",
              "type": "string",
              "description": ""
            },
            {
              "name": "description",
              "kind": "optional",
              "type": "string",
              "description": ""
            },
            {
              "name": "plannedTime",
              "kind": "required",
              "type": "string",
              "description": ""
            },
            {
              "name": "plannedEndTime",
              "kind": "optional",
              "type": "string",
              "description": ""
            },
            {
              "name": "fixedPlannedTime",
              "kind": "optional",
              "type": "boolean",
              "description": "<p>Planned time is agreed with the customer and must not be moved by route planning. Only accepted when the route optimisation feature is enabled, and ignored once the task is in progress, unsigned, done or aborted.</p>"
            },
            {
              "name": "client",
              "kind": "required",
              "type": "string",
              "description": "GUID or systemId of Client"
            },
            {
              "name": "payer",
              "kind": "optional",
              "type": "string",
              "description": "GUID or systemId of Client"
            },
            {
              "name": "workspace",
              "kind": "required",
              "type": "string",
              "description": "GUID or systemId of Workspace"
            },
            {
              "name": "taskType",
              "kind": "required",
              "type": "string",
              "description": ""
            },
            {
              "name": "user",
              "kind": "optional",
              "type": "string",
              "description": "GUID or systemId of User"
            },
            {
              "name": "createdBy",
              "kind": "optional",
              "type": "string",
              "description": "<p>GUID of the user which created the task. Optional on create — when omitted or empty, it defaults to the user authenticated by the access token making the request.</p>"
            },
            {
              "name": "taskTypePriority",
              "kind": "optional",
              "type": "integer<int32>",
              "description": "",
              "format": "int32"
            },
            {
              "name": "systemId",
              "kind": "optional",
              "type": "string",
              "description": "Identifier from external system"
            },
            {
              "name": "customValues",
              "kind": "optional",
              "type": "string",
              "description": "<p>JSON object for custom field data (for example \"guid\": \"value\")</p>"
            },
            {
              "name": "guid",
              "kind": "optional",
              "type": "string",
              "description": "Identifier from Frontu"
            },
            {
              "name": "deleted",
              "kind": "optional",
              "type": "boolean",
              "description": "<p>Mark if entity is archived (1) or active (0)</p>"
            },
            {
              "name": "receivedByExternalSystem",
              "kind": "optional",
              "type": "boolean",
              "description": "Mark if this task is received by external system"
            },
            {
              "name": "requireObjectCode",
              "kind": "optional",
              "type": "boolean",
              "description": ""
            },
            {
              "name": "requireSignatureCode",
              "kind": "optional",
              "type": "boolean",
              "description": ""
            },
            {
              "name": "status",
              "kind": "optional",
              "type": "string",
              "description": "<p>Task status, if it is finished or not.</p>"
            },
            {
              "name": "parentId",
              "kind": "optional",
              "type": "string",
              "description": "GUID or systemId of the parent Task"
            },
            {
              "name": "taskTemplate",
              "kind": "optional",
              "type": "string",
              "description": "GUID or systemId of the parent Task template"
            },
            {
              "name": "responsiblePerson",
              "kind": "optional",
              "type": "string",
              "description": "GUID or systemId of the Responsible person"
            },
            {
              "name": "office",
              "kind": "optional",
              "type": "string",
              "description": "GUID or systemId of the office"
            },
            {
              "name": "tags",
              "kind": "optional",
              "type": "array",
              "description": "Array with tag strings",
              "example": "[\"Test Tag\"]",
              "itemType": "string",
              "customType": "string[]",
              "itemExample": "",
              "itemDefault": ""
            },
            {
              "name": "smsPhoneNumber",
              "kind": "optional",
              "type": "string",
              "description": "Phone number in E.164 format for SMS notification"
            },
            {
              "name": "stopStatusMessage",
              "kind": "optional",
              "type": "string",
              "description": "Message shown when task is stopped"
            },
            {
              "name": "provisionStatus",
              "kind": "optional",
              "type": "string",
              "description": "Provision status of the task"
            },
            {
              "name": "warrantyClaimNumber",
              "kind": "optional",
              "type": "string",
              "description": "Warranty claim number"
            },
            {
              "name": "warrantyClaimDate",
              "kind": "optional",
              "type": "string",
              "description": "<p>Warranty claim date (format Y-m-d H:i</p><div></div>)<p></p>"
            },
            {
              "name": "warrantyClaimStatus",
              "kind": "optional",
              "type": "boolean",
              "description": "Warranty claim status"
            },
            {
              "name": "workspaceCautionCode",
              "kind": "optional",
              "type": "string",
              "description": "<p>GUID of the WorkspaceCautionCode (PIP) to assign. Only available when oem_integration feature is enabled. Send null to unassign.</p>"
            },
            {
              "name": "additionalEvaluationForms",
              "kind": "optional",
              "type": "array",
              "description": "<p>GUIDs of additional evaluation forms to attach to the task. Only accepted when creating a task (ignored on update). Each form must be published, mandatory (required), not a compliance form and must not belong to the task's own task type — forms of the task type are attached automatically.</p>",
              "example": "[\"314c012e-92cc-11e7-bf70-080027c30a86\"]",
              "itemType": "string",
              "customType": "string[]",
              "itemExample": "",
              "itemDefault": ""
            }
          ],
          "isExpanded": true
        }
      ],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "Bearer",
          "name": "Authorization",
          "kind": "optional",
          "type": "apiKey",
          "description": "<p>Value: Bearer {access_token}</p>",
          "in": "header"
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "201",
        "description": "Returned when successful",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "400",
        "description": "Data contains errors",
        "jsonExample": "",
        "isExpanded": true
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "oGJG1YDt8I0Ep3fxUEFcM",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request POST \\\n     --url https://dev1.frontu.com//client/api/v2/tasks \\\n     --header 'accept: application/json' \\\n     --header 'content-type: application/json' \\\n     --data '{\n     \"title\": \"\",\n     \"plannedTime\": \"\",\n     \"client\": \"\",\n     \"workspace\": \"\",\n     \"taskType\": \"\"\n     }'"
        },
        {
          "id": "i7KI3DWm5IobS9hMQj2bl",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\n\nvar raw = JSON.stringify({\n   \"title\": \"\",\n   \"plannedTime\": \"\",\n   \"client\": \"\",\n   \"workspace\": \"\",\n   \"taskType\": \"\"\n});\n\nvar requestOptions = {\n   method: 'POST',\n   headers: myHeaders,\n   body: raw,\n   redirect: 'follow'\n};\n\nfetch(\"https://dev1.frontu.com//client/api/v2/tasks\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "HQGKZU99aCe5Vc3Jwtawm",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://dev1.frontu.com//client/api/v2/tasks\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Post.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\nrequest.body = JSON.dump({\n   \"title\": \"\",\n   \"plannedTime\": \"\",\n   \"client\": \"\",\n   \"workspace\": \"\",\n   \"taskType\": \"\"\n})\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "bIteXxXhQA7NVqw3MWMxV",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://dev1.frontu.com//client/api/v2/tasks\"\n\npayload = json.dumps({\n   \"title\": \"\",\n   \"plannedTime\": \"\",\n   \"client\": \"\",\n   \"workspace\": \"\",\n   \"taskType\": \"\"\n})\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"POST\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "oGJG1YDt8I0Ep3fxUEFcM"
    },
    "results": {
      "languages": [
        {
          "id": "v5IgXNUNRhikGUiTJUfa5",
          "language": "201",
          "code": "// Returned when successful\n"
        },
        {
          "id": "oG_ivcBIvtzaPukJ9mKhX",
          "language": "400",
          "code": "// Data contains errors\n"
        }
      ],
      "selectedLanguageId": "v5IgXNUNRhikGUiTJUfa5"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}