---
updatedAt: 2026-04-28T08:04:37.000Z
agentTools:
  projectIndex: https://developers.wrike.com/llms.txt
---

# Create Approvals (Task)

Create an approval for task. Creates approval in draft status when no approvers assigned. Otherwise creates in pending status. Approvals created via API will not be affected by workflow automation, e.g. task status will not be automatically transitioned when approval finishes.

<b>Scopes:</b> Default, wsReadWrite

# OpenAPI definition

```json
{
  "openapi": "3.0.1",
  "info": {
    "title": "Wrike API",
    "version": "4.0"
  },
  "servers": [
    {
      "url": "https://www.wrike.com/api/v4"
    },
    {
      "url": "https://app-eu.wrike.com/api/v4"
    },
    {
      "url": "https://app-us2.wrike.com/api/v4"
    }
  ],
  "paths": {
    "/tasks/{taskId}/approvals": {
      "post": {
        "tags": [
          "Approvals"
        ],
        "summary": "Create Approvals (Task)",
        "description": "Create an approval for task. Creates approval in draft status when no approvers assigned. Otherwise creates in pending status. Approvals created via API will not be affected by workflow automation, e.g. task status will not be automatically transitioned when approval finishes.\n\n<b>Scopes:</b> Default, wsReadWrite",
        "operationId": "POST:/tasks/single/approvals",
        "parameters": [
          {
            "name": "taskId",
            "in": "path",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/TaskId"
            }
          },
          {
            "name": "description",
            "in": "query",
            "description": "Description",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Description"
            }
          },
          {
            "name": "dueDate",
            "in": "query",
            "description": "Due date\nFormat: yyyy-MM-dd",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Due date<br>Format: yyyy-MM-dd"
            }
          },
          {
            "name": "approvers",
            "in": "query",
            "description": "Assign approvers",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "Assign approvers",
                  "items": {
                    "$ref": "#/components/schemas/UserId"
                  }
                }
              }
            }
          },
          {
            "name": "attachments",
            "in": "query",
            "description": "List of origin version attachments to set in approval",
            "required": false,
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "description": "List of origin version attachments to set in approval",
                  "items": {
                    "$ref": "#/components/schemas/AttachmentId"
                  }
                }
              }
            }
          },
          {
            "name": "autoFinishOnApprove",
            "in": "query",
            "description": "Is finish approval automatically when all approvers have approved. Set to true by default",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Is finish approval automatically when all approvers have approved. Set to true by default"
            }
          },
          {
            "name": "autoFinishOnReject",
            "in": "query",
            "description": "Is finish approval automatically when some of approvers have rejected. Set to true by default",
            "required": false,
            "schema": {
              "type": "string",
              "description": "Is finish approval automatically when some of approvers have rejected. Set to true by default"
            }
          },
          {
            "name": "finalDecisionStrategy",
            "in": "query",
            "description": "Approval final decision strategy\n* `FirstDecisionWins`\n* `WaitAllWithVeto`",
            "required": false,
            "schema": {
              "$ref": "#/components/schemas/ApprovalFinalDecisionStrategy"
            }
          }
        ],
        "responses": {
          "2XX": {
            "description": "success response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "kind": {
                      "$ref": "#/components/schemas/ResponseKind"
                    },
                    "data": {
                      "type": "array",
                      "items": {
                        "$ref": "#/components/schemas/Approval"
                      }
                    }
                  }
                }
              }
            }
          },
          "4XX": {
            "description": "client-side error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          },
          "5XX": {
            "description": "server-side error response",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResponse"
                }
              }
            }
          }
        },
        "security": [
          {
            "HTTP": []
          }
        ]
      }
    }
  },
  "components": {
    "schemas": {
      "ResponseKind": {
        "type": "string",
        "enum": [
          "accounts",
          "users",
          "contacts",
          "assets",
          "eDiscoveryReport",
          "folders",
          "folderTree",
          "tasks",
          "taskIds",
          "timelogs",
          "timelogCategories",
          "timelogLockPeriods",
          "timetrackerTimers",
          "comments",
          "attachments",
          "url",
          "version",
          "dataExport",
          "dataExportSchema",
          "auditLog",
          "accessRoles",
          "stream",
          "changes",
          "posts",
          "mailSettings",
          "integrationInfo",
          "gmailIntegrationSettings",
          "workTypesForIntegrations",
          "ids",
          "backups",
          "domains",
          "dependencies",
          "workflows",
          "workschedules",
          "workscheduleExclusions",
          "workscheduleUserExclusions",
          "customfields",
          "customfieldIds",
          "customstatuses",
          "invitations",
          "notifications",
          "jobroles",
          "placeholders",
          "groups",
          "session",
          "dashboards",
          "widgets",
          "taskCreationSettings",
          "colors",
          "experiments",
          "topics",
          "topicComments",
          "webhooks",
          "reviews",
          "boards",
          "textSearch",
          "chatChannels",
          "chatMessages",
          "forms",
          "requestForms",
          "request",
          "report",
          "platformWidgets",
          "platformWidgetInstances",
          "spaces",
          "pdf",
          "customerSatisfaction",
          "asyncJob",
          "approvals",
          "highlights",
          "highlightsList",
          "highlightsSettings",
          "highlightsCard",
          "timesheet",
          "timesheetRow",
          "timesheetSubmissionRule",
          "mobileFeatures",
          "mobileSettings",
          "folderBlueprintTree",
          "taskBlueprintTree",
          "blueprintSearch",
          "feedback",
          "timeline_snapshot",
          "contactIds",
          "bookings",
          "integrateThreshold",
          "hourlyRatesProvision",
          "hourlyRates",
          "projectTeamMembers",
          "contactsHistory",
          "tasksHistory",
          "foldersHistory",
          "activityDigest",
          "workItemTemplates",
          "workTemplates",
          "workItemMetadata",
          "workItem",
          "customItemTypes",
          "verificationCode",
          "views",
          "listView",
          "tableView",
          "userTypes",
          "reactions",
          "externalRequesters",
          "workscheduleCapacityOverrides",
          "userCapacityOverrides",
          "userCapacityExclusions",
          "rollups",
          "requestFormPrefill",
          "mcpFeatures",
          "attachmentUploadUrl",
          "userAggregatedCapacity",
          "cascadingFieldSettings",
          "recommendResources",
          "aggregatedAllocatedEffort",
          "aggregatedTotalUserEffort",
          "aggregatedTimeSpent",
          "folderBlueprint",
          "taskBlueprint"
        ]
      },
      "Approval": {
        "type": "object",
        "properties": {
          "dueDate": {
            "type": "string",
            "description": "Due date, if exists<br>Format: yyyy-MM-dd"
          },
          "description": {
            "type": "string",
            "description": "Description"
          },
          "finished": {
            "type": "boolean",
            "description": "Is approval finished"
          },
          "finalDecisionStrategy": {
            "$ref": "#/components/schemas/ApprovalFinalDecisionStrategy"
          },
          "updatedDate": {
            "type": "string",
            "description": "Update date<br>Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
          },
          "authorId": {
            "$ref": "#/components/schemas/UserId"
          },
          "title": {
            "type": "string",
            "description": "Title. Empty by default, set via workflow automation or by user on the portal"
          },
          "type": {
            "$ref": "#/components/schemas/ApprovalType"
          },
          "autoFinishOnReject": {
            "type": "boolean",
            "description": "Is approval would be finished automatically on reaching Rejected status"
          },
          "folderId": {
            "$ref": "#/components/schemas/FolderId"
          },
          "finisherId": {
            "$ref": "#/components/schemas/UserId"
          },
          "autoFinishOnApprove": {
            "type": "boolean",
            "description": "Is approval would be finished automatically on reaching Approved status"
          },
          "taskGroupStatusChange": {
            "$ref": "#/components/schemas/TaskGroupStatusChange"
          },
          "decisions": {
            "type": "array",
            "description": "Approvers and their decisions",
            "items": {
              "$ref": "#/components/schemas/ApprovalDecision"
            }
          },
          "attachmentIds": {
            "type": "array",
            "description": "ID of origin version attachments in review",
            "items": {
              "$ref": "#/components/schemas/AttachmentId"
            }
          },
          "id": {
            "$ref": "#/components/schemas/ApprovalId"
          },
          "taskId": {
            "$ref": "#/components/schemas/TaskId"
          },
          "status": {
            "$ref": "#/components/schemas/ApprovalStatus"
          }
        }
      },
      "ApprovalFinalDecisionStrategy": {
        "type": "string",
        "description": "* `FirstDecisionWins`\n* `WaitAllWithVeto`",
        "enum": [
          "FirstDecisionWins",
          "WaitAllWithVeto"
        ]
      },
      "ApprovalDecision": {
        "required": [
          "approverId",
          "comment",
          "status",
          "updatedDate"
        ],
        "type": "object",
        "properties": {
          "approverId": {
            "$ref": "#/components/schemas/UserId"
          },
          "comment": {
            "type": "string",
            "description": "comment"
          },
          "updatedDate": {
            "type": "string",
            "description": "update date<br>Format: yyyy-MM-dd'T'HH:mm:ss'Z'"
          },
          "status": {
            "$ref": "#/components/schemas/ApprovalDecisionStatus"
          }
        }
      },
      "ErrorType": {
        "type": "string",
        "enum": [
          "invalid_request",
          "invalid_parameter",
          "parameter_required",
          "not_authorized",
          "access_forbidden",
          "not_allowed",
          "resource_not_found",
          "method_not_found",
          "too_many_requests",
          "rate_limit_exceeded",
          "server_error"
        ]
      },
      "ErrorResponse": {
        "type": "object",
        "properties": {
          "error": {
            "$ref": "#/components/schemas/ErrorType"
          },
          "errorDescription": {
            "type": "string"
          }
        }
      },
      "TaskGroupStatusChange": {
        "required": [
          "approvalStatus",
          "taskId",
          "taskStageAfterApproval"
        ],
        "type": "object",
        "properties": {
          "approvalStatus": {
            "$ref": "#/components/schemas/ApprovalStatus"
          },
          "taskStageAfterApproval": {
            "$ref": "#/components/schemas/CustomStatusId"
          },
          "taskId": {
            "$ref": "#/components/schemas/TaskId"
          }
        }
      },
      "ApprovalDecisionStatus": {
        "type": "string",
        "description": "* `NotRequired`\n* `Approved`\n* `Rejected`\n* `Pending`",
        "enum": [
          "NotRequired",
          "Approved",
          "Rejected",
          "Pending"
        ]
      },
      "ApprovalStatus": {
        "type": "string",
        "description": "* `Draft`\n* `NotRequired`\n* `Approved`\n* `Rejected`\n* `Cancelled`\n* `Pending`",
        "enum": [
          "Draft",
          "NotRequired",
          "Approved",
          "Rejected",
          "Cancelled",
          "Pending"
        ]
      },
      "ApprovalType": {
        "type": "string",
        "description": "* `FilesOnly`\n* `Regular`",
        "enum": [
          "FilesOnly",
          "Regular"
        ]
      },
      "FolderId": {
        "pattern": "^([a-zA-Z0-9-_:\\.=]){1,256}$",
        "type": "string"
      },
      "TaskId": {
        "pattern": "^([a-zA-Z0-9-_:\\.=]){1,256}$",
        "type": "string"
      },
      "ApprovalId": {
        "pattern": "^([A-Z0-9]){16}$",
        "type": "string"
      },
      "CustomStatusId": {
        "pattern": "^([A-Z0-9]){16}$",
        "type": "string"
      },
      "AttachmentId": {
        "pattern": "^([A-Z0-9]){16}$",
        "type": "string"
      },
      "UserId": {
        "pattern": "^([A-Z0-9]){8}$",
        "type": "string"
      }
    },
    "securitySchemes": {
      "HTTP": {
        "type": "http",
        "description": "Use OAuth 2.0 access token or permanent access token for authorization.",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      }
    }
  }
}
```