> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://developers.awork.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://developers.awork.com/_mcp/server.

# Returns project tasks for the current user.

GET https://api.awork.com/api/v1/me/projecttasks

Returns project tasks visible to the current user.
The user must have `project-planning-data:read` permission; otherwise only assigned tasks are returned.

Reference: https://developers.awork.com/apiv1/project-tasks/get-me-project-tasks

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Query parameters

- `page` (integer, optional, default: 1) — Page number for pagination
- `pageSize` (integer, optional, default: 10) — Number of items per page
- `orderby` (string, optional) — The properties to order by
- `filterby` (string, optional) — The filter expression to filter by

## Response

### 200

OK

- `list of TaskModel`

## Types

### TaskModel

- `name` (string, required) — The name of the task. Max allowed length: 1000 characters.
- `description` (string, optional, nullable) — The description of the task. Max allowed length: 25000 characters.
- `isPrio` (boolean, optional) — Whether this task is marked as priority.
- `startOn` (string, optional, nullable) — The expected start date and time of the task.
- `dueOn` (string, optional, nullable) — The expected due date and time of the task.
- `laneOrder` (integer, optional) — The lane order defines the vertical position in the task board.
- `plannedDuration` (integer, optional) — The expected planned workload of the task, in seconds.
- `id` (string, optional) — The Id of the task.
- `taskNumber` (integer, optional, nullable) — The sequential task number within the project. Unique within the project, never reused even after deletion.
- `taskIdentifier` (string, optional, nullable) — The full task identifier combining project key and task number (e.g., "NIKE-42"). Maintained by the service layer, updated when project key changes.
- `isExternal` (boolean, optional) — True if the model is coming from an external workspace (awork Connect). False otherwise.
- `createdVia` (string, optional, nullable) — The origin of the task. From which 'flow' the task was created. Automatically set by the backend.
- `isHiddenForConnectUsers` (boolean, optional) — True if the task is hidden for external workspace users. False otherwise.
- `baseType` (enum, optional) — The base type of the task. Can be 'private' for a private task or 'projecttask' for a project task.
  - Allowed values: `private`, `projecttask`
- `taskStatusId` (string, optional) — The id of the status for this task.
- `taskStatus` (TaskStatus, optional)
- `typeOfWorkId` (string, optional) — The id of the type of work of this task.
- `typeOfWork` (NestedTaskTypeModel, optional)
- `assignees` (list of NestedUserModelForTasks, optional, nullable) — The list assigned users of this task, or empty if not user was assigned.
- `projectId` (string, optional, nullable) — The id of the project this task is assigned to. Only set if this is a project task. In this case, it is equal to the EntityId.
- `project` (NestedProjectModelForTasks, optional)
- `correlationId` (string, optional) — The correlation id between parent and subtasks, meaning it's either the ParentId or its own Id.
- `parentId` (string, optional, nullable) — The id of the parent task this of this subtask. Only set if this is a subtask.
- `parentTask` (NestedParentTaskModel, optional)
- `isSubtask` (boolean, optional) — True if the task is a subtask.
- `numberOfSubtasks` (integer, optional, nullable) — The number of subtasks of this task. Null if it's not a parent task.
- `hasAttachment` (boolean, optional) — Whether this task has an attachment.
- `lists` (list of TaskOrderList, optional, nullable) — The lists to which the task is assigned to.
- `userId` (string, optional, nullable) — The id of the user of the private task.
- `tags` (list of TaskTagModel, optional, nullable) — The list of tags.
- `createdOn` (string, optional) — The date this task was created.
- `createdBy` (string, optional) — The id of the user who created this task.
- `updatedOn` (string, optional) — The date this task was last modified.
- `updatedBy` (string, optional) — The id of the user who last modified this task.
- `closedOn` (string, optional, nullable) — The date the task was set to closed.
- `closedBy` (string, optional, nullable) — The user who closed the task.
- `order` (double, optional) — The order of the task in a task status column.
- `subtaskOrder` (double, optional, nullable) — The order of the subtask relative to its parent task.
- `createdFromTaskId` (string, optional, nullable) — When the task was created by a recurrency rule, the id is the link to the template of which the task was created.
- `isRecurring` (boolean, optional) — If the task is a recurrency template (used to create new tasks by a recurrency rule), the flag is true.
- `customFields` (list of CustomField, optional, nullable) — Custom fields of the task.
- `trackedDuration` (integer, optional, nullable) — The summed up duration of all time trackings directly on this task (excluding subtasks).
- `totalTrackedDuration` (integer, optional, nullable) — The summed up duration of all time trackings for this task, including subtasks.
- `totalPlannedDuration` (integer, optional, nullable) — The total planned workload of the task, in seconds, including subtasks.
- `resourceVersion` (long, optional) — The version of the entity, updated on every modification, to the ticks in UTC. Not identical to UpdatedOn.
- `checklistItemsDoneCount` (integer, optional) — The number of checklist items marked as done.
- `checklistItemsCount` (integer, optional) — The total number of checklist items.
- `taskSchedulesCount` (integer, optional) — The number of task schedules for this task.
- `isCompletelyScheduled` (boolean, optional) — Whether this task is completed scheduled.
- `commentCount` (integer, optional) — The number of comments on this task.
- `entityId` (string, optional, nullable, deprecated) — The id of the entity this task is assigned to. This is the id of the project if this is a project task, or the id of a user if this is a private task. See 'BaseType' for supported types.

### TaskStatus

- `id` (string, optional) — The primary identifier of this task status.
- `name` (string, optional, nullable) — The name of the task status.
- `type` (string, optional, nullable) — Of what general type is this task status?.
- `order` (double, optional, nullable) — The order of the task status in a project.
- `icon` (string, optional, nullable) — The icon of the task status.
- `projectId` (string, optional, nullable) — Is set if the task status is related to a project.
- `projectTypeId` (string, optional, nullable) — Is set if the task status is related to a project type.
- `workflowId` (string, optional, nullable) — Is set if the task status is related to a workflow.
- `createdOn` (string, optional) — The date this entity was created.
- `createdBy` (string, optional) — The id of the user who created this entity.
- `updatedOn` (string, optional) — The date this entity was last modified.
- `updatedBy` (string, optional) — The id of the user who last modified this entity.
- `isExternal` (boolean, optional) — True if the task status is coming from an external workspace (awork Connect).

### NestedTaskTypeModel

- `id` (string, optional) — The identifier of the nested model.
- `name` (string, optional, nullable) — The name of the entity.
- `icon` (string, optional, nullable) — The icon of the type.
- `isArchived` (boolean, optional) — Whether the type is archived.

### NestedUserModelForTasks

- `id` (string, optional) — The identifier of the nested model.
- `firstName` (string, optional, nullable) — The first name of the user.
- `lastName` (string, optional, nullable) — The last name of the user.
- `hasImage` (boolean, optional, nullable) — Whether this user has a profile image.
- `plannedEffort` (integer, optional) — The planned effort of the user assigned to the task, in seconds.
- `isDistributedPlannedEffort` (boolean, optional) — If the PlannedEffort was calculated as distributed effort.
- `updatedOn` (string, optional) — The date this task assignee was last modified.
- `isExternal` (boolean, optional) — True if the model is coming from an external workspace (awork Connect). False otherwise.

### NestedProjectModelForTasks

- `id` (string, optional) — The identifier of the nested model.
- `name` (string, optional, nullable) — The name of the entity.
- `projectKey` (string, optional, nullable) — The unique project key within the workspace (e.g., "NIKE"). Maximum 32 characters, uppercase letters, numbers, and dashes only.
- `projectStatus` (NestedStatusModel, optional)
- `company` (NestedCompanyModelForTasks, optional)
- `companyId` (string, optional, nullable) — The companyId of the project.
- `projectType` (NestedTypeModel, optional)
- `hasImage` (boolean, optional) — Whether the project has an image.
- `isPrivate` (boolean, optional) — Whether the project is private.
- `isBillableByDefault` (boolean, optional, nullable) — Whether the project is billable by default.
- `members` (list of ProjectMemberModel, optional, nullable) — The list of all members of the project.
- `color` (string, optional, nullable) — The color of the project for display purposes in awork. Can be null when no color assigned.
- `createdBy` (string, optional) — The created by of the project.
- `teams` (list of NestedTeamModel, optional, nullable) — The ids of the team the project is associated to.
- `customFields` (list of ProjectCustomField, optional, nullable) — Custom fields of the project.
- `isExternal` (boolean, optional) — True if the model is coming from an external workspace (awork Connect). False otherwise.

### NestedParentTaskModel

- `id` (string, optional) — The identifier of the nested model.
- `name` (string, optional, nullable) — The name of the entity.
- `createdBy` (string, optional) — The id of the user who created this task.
- `userId` (string, optional, nullable) — The id of the user of the private task. Null for project tasks.
- `assigneeIds` (list of string, optional, nullable) — List of assignee user ids of this task.

### TaskOrderList

- `id` (string, optional) — The id of the task list.
- `createdOn` (string, optional) — The date this task list was created.
- `createdBy` (string, optional) — The id of the user who created this task list.
- `updatedOn` (string, optional) — The date this task list was last modified.
- `updatedBy` (string, optional) — The id of the user who last modified this task list.
- `name` (string, optional, nullable) — The name of the list.
- `order` (double, optional, nullable) — The order of the list.
- `plannedDuration` (integer, optional, nullable) — The planned duration for this task list, in seconds.
- `totalPlannedDuration` (long, optional, nullable) — The total planned duration for this task list, including all primary tasks (parent tasks which have this tacklist as PrimaryTaskListId), in seconds. Calculated: sum PlannedDuration of primary tasks in list Archived task lists are not included in the calculation.
- `totalPlannedDurationWithHierarchy` (long, optional, nullable) — The total planned duration for this task list, including all primary tasks (parent tasks which have this task list as PrimaryTaskListId), in seconds. Calculated: max(PlannedDuration, sum TotalPlannedDurationWithHierarchy of primary tasks in list) Archived task lists are not included in the calculation.
- `isArchived` (boolean, optional) — Whether the task list has been archived.
- `isHiddenForConnectUsers` (boolean, optional) — True if the task in this list will be not visible for external workspace users. False otherwise.
- `orderOfTask` (double, optional, nullable) — The order of the task in the list.

### TaskTagModel

A tag model used for the task. Do not delete, we need to create copies of the tag model for each entity to avoid issues with Automapper.

- `id` (string, optional)
- `name` (string, optional, nullable) — The name of the tag.
- `color` (string, optional, nullable) — The color of the tag.

### CustomField

Represents the custom field value.

- `customFieldDefinitionId` (string, optional) — The custom field definition id.
- `userIdValue` (string, optional, nullable) — The the user id value.
- `clientIdValue` (string, optional, nullable) — The client id value.
- `numberValue` (double, optional, nullable) — The number value.
- `selectionOptionIdValue` (string, optional, nullable) — The selection option id value.
- `selectionOption` (CustomFieldSelectionOption, optional)
- `textValue` (string, optional, nullable) — The text value.
- `dateValue` (string, optional, nullable) — The date value.
- `booleanValue` (boolean, optional, nullable) — The boolean value.

### NestedStatusModel

- `id` (string, optional) — The identifier of the nested model.
- `name` (string, optional, nullable) — The name of the entity.
- `description` (string, optional, nullable) — The description of the type.
- `type` (string, optional, nullable) — The type of the status.
- `isArchived` (boolean, optional) — Whether the type is archived.

### NestedCompanyModelForTasks

- `id` (string, optional) — The identifier of the nested model.
- `name` (string, optional, nullable) — The name of the entity.
- `hasImage` (boolean, optional) — Whether the company has a profile image.
- `description` (string, optional, nullable) — The description of the company.

### NestedTypeModel

- `id` (string, optional) — The identifier of the nested model.
- `name` (string, optional, nullable) — The name of the entity.
- `icon` (string, optional, nullable) — The icon of the type.
- `isArchived` (boolean, optional) — Whether the type is archived.

### ProjectMemberModel

- `id` (string, optional)
- `userId` (string, optional)
- `projectRoleId` (string, optional)
- `projectRoleName` (string, optional, nullable)
- `isResponsible` (boolean, optional)
- `isExternal` (boolean, optional) — True if the model is coming from an external workspace (awork Connect). False otherwise.

### NestedTeamModel

- `id` (string, optional)

### ProjectCustomField

Represents the custom field value.

- `customFieldDefinitionId` (string, optional) — The custom field definition id.
- `userIdValue` (string, optional, nullable) — The the user id value.
- `clientIdValue` (string, optional, nullable) — The client id value.
- `numberValue` (double, optional, nullable) — The number value.
- `selectionOptionIdValue` (string, optional, nullable) — The selection option id value.
- `selectionOption` (CustomFieldSelectionOption, optional)
- `textValue` (string, optional, nullable) — The text value.
- `dateValue` (string, optional, nullable) — The date value.
- `booleanValue` (boolean, optional, nullable) — The boolean value.

### CustomFieldSelectionOption

- `value` (string, required) — The selection value which can be later used in a select custom field.
- `id` (string, optional) — The id of the custom field selection option.
- `color` (enum, optional, nullable) — The color of the selection option.
  - Allowed values: `red`, `orange`, `yellow`, `green`, `cyan`, `blue`, `indigo`, `purple`, `steel`
- `order` (double, optional) — The order of the custom field selection option.

## Examples

**Response**

```json
[
  {
    "name": "Create logo concept",
    "description": "We need to create a new impactful concept for the customer logo",
    "isPrio": true,
    "startOn": "2023-03-03T17:00:00Z",
    "dueOn": "2023-03-18T17:00:00Z",
    "laneOrder": 1,
    "plannedDuration": 21600,
    "id": "123e4567-e89b-12d3-a456-426614174000",
    "taskNumber": 1,
    "taskIdentifier": "string",
    "isExternal": true,
    "createdVia": "string",
    "isHiddenForConnectUsers": true,
    "baseType": "projecttask",
    "taskStatusId": "123e4567-e89b-12d3-a456-426614174000",
    "taskStatus": {
      "id": "123e4567-e89b-12d3-a456-426614174000",
      "name": "Conceptualize",
      "type": "progress",
      "order": 2,
      "icon": "arrow_forward",
      "projectId": "123e4567-e89b-12d3-a456-426614174000",
      "projectTypeId": "123e4567-e89b-12d3-a456-426614174000",
      "workflowId": "123e4567-e89b-12d3-a456-426614174000",
      "createdOn": "2022-03-{10}T15:51:58.100Z",
      "createdBy": "123e4567-e89b-12d3-a456-426614174000",
      "updatedOn": "2022-03-10T16:15:26.100Z",
      "updatedBy": "123e4567-e89b-12d3-a456-426614174000",
      "isExternal": true
    },
    "typeOfWorkId": "123e4567-e89b-12d3-a456-426614174000",
    "typeOfWork": {
      "id": "80a2b26b-9fb3-42b5-b6dc-126c437cad5d",
      "name": "Design",
      "icon": "thumb_up",
      "isArchived": false
    },
    "assignees": [
      {
        "id": "80a2b26b-9fb3-42b5-b6dc-126c437cad5d",
        "firstName": "Carla",
        "lastName": "Creative",
        "hasImage": true,
        "plannedEffort": 1,
        "isDistributedPlannedEffort": true,
        "updatedOn": "2020-02-30T18:52:54.945Z",
        "isExternal": true
      }
    ],
    "projectId": "123e4567-e89b-12d3-a456-426614174000",
    "project": {
      "id": "80a2b26b-9fb3-42b5-b6dc-126c437cad5d",
      "name": "Design",
      "projectKey": "string",
      "projectStatus": {
        "id": "80a2b26b-9fb3-42b5-b6dc-126c437cad5d",
        "name": "Design",
        "description": "Work in progress",
        "type": "todo",
        "isArchived": false
      },
      "company": {
        "id": "80a2b26b-9fb3-42b5-b6dc-126c437cad5d",
        "name": "Design",
        "hasImage": true,
        "description": "NCNSTN Brand Design Company"
      },
      "companyId": "123e4567-e89b-12d3-a456-426614174000",
      "projectType": {
        "id": "80a2b26b-9fb3-42b5-b6dc-126c437cad5d",
        "name": "Design",
        "icon": "thumb_up",
        "isArchived": false
      },
      "hasImage": true,
      "isPrivate": true,
      "isBillableByDefault": true,
      "members": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "userId": "123e4567-e89b-12d3-a456-426614174000",
          "projectRoleId": "123e4567-e89b-12d3-a456-426614174000",
          "projectRoleName": "string",
          "isResponsible": true,
          "isExternal": true
        }
      ],
      "color": "purple",
      "createdBy": "123e4567-e89b-12d3-a456-426614174000",
      "teams": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000"
        }
      ],
      "customFields": [
        {
          "customFieldDefinitionId": "123e4567-e89b-12d3-a456-426614174000",
          "userIdValue": "123e4567-e89b-12d3-a456-426614174000",
          "clientIdValue": "123e4567-e89b-12d3-a456-426614174000",
          "numberValue": 123.45,
          "selectionOptionIdValue": "123e4567-e89b-12d3-a456-426614174000",
          "selectionOption": {
            "value": "Website Design",
            "id": "123e4567-e89b-12d3-a456-426614174000",
            "color": "purple",
            "order": 0
          },
          "textValue": "S1: Business Critical",
          "dateValue": "2024-01-15T09:30:00Z",
          "booleanValue": true
        }
      ],
      "isExternal": true
    },
    "correlationId": "123e4567-e89b-12d3-a456-426614174000",
    "parentId": "123e4567-e89b-12d3-a456-426614174000",
    "parentTask": {
      "id": "80a2b26b-9fb3-42b5-b6dc-126c437cad5d",
      "name": "Design",
      "createdBy": "123e4567-e89b-12d3-a456-426614174000",
      "userId": "123e4567-e89b-12d3-a456-426614174000",
      "assigneeIds": [
        "string"
      ]
    },
    "isSubtask": true,
    "numberOfSubtasks": 1,
    "hasAttachment": false,
    "lists": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "createdOn": "2021-03-22T15:00:00Z",
        "createdBy": "123e4567-e89b-12d3-a456-426614174000",
        "updatedOn": "2021-03-22T16:30:00Z",
        "updatedBy": "123e4567-e89b-12d3-a456-426614174000",
        "name": "Product and Marketing To-Dos",
        "order": 2,
        "plannedDuration": 1,
        "totalPlannedDuration": 1,
        "totalPlannedDurationWithHierarchy": 1,
        "isArchived": false,
        "isHiddenForConnectUsers": true,
        "orderOfTask": 5
      }
    ],
    "userId": "123e4567-e89b-12d3-a456-426614174000",
    "tags": [
      {
        "id": "123e4567-e89b-12d3-a456-426614174000",
        "name": "Design",
        "color": "purple"
      }
    ],
    "createdOn": "2022-02-29T18:52:54.945Z",
    "createdBy": "123e4567-e89b-12d3-a456-426614174000",
    "updatedOn": "2020-02-30T18:52:54.945Z",
    "updatedBy": "123e4567-e89b-12d3-a456-426614174000",
    "closedOn": "2024-01-15T09:30:00Z",
    "closedBy": "123e4567-e89b-12d3-a456-426614174000",
    "order": 2,
    "subtaskOrder": 1,
    "createdFromTaskId": "123e4567-e89b-12d3-a456-426614174000",
    "isRecurring": true,
    "customFields": [
      {
        "customFieldDefinitionId": "123e4567-e89b-12d3-a456-426614174000",
        "userIdValue": "123e4567-e89b-12d3-a456-426614174000",
        "clientIdValue": "123e4567-e89b-12d3-a456-426614174000",
        "numberValue": 123.45,
        "selectionOptionIdValue": "123e4567-e89b-12d3-a456-426614174000",
        "selectionOption": {
          "value": "Website Design",
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "color": "purple",
          "order": 0
        },
        "textValue": "S1: Business Critical",
        "dateValue": "2024-01-15T09:30:00Z",
        "booleanValue": true
      }
    ],
    "trackedDuration": 1200,
    "totalTrackedDuration": 1200,
    "totalPlannedDuration": 21600,
    "resourceVersion": 637825154598030700,
    "checklistItemsDoneCount": 2,
    "checklistItemsCount": 5,
    "taskSchedulesCount": 1,
    "isCompletelyScheduled": true,
    "commentCount": 1,
    "entityId": "123e4567-e89b-12d3-a456-426614174000"
  }
]
```

**SDK Code**

```python
import requests

url = "https://api.awork.com/api/v1/me/projecttasks"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript
const url = 'https://api.awork.com/api/v1/me/projecttasks';
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.awork.com/api/v1/me/projecttasks"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("Authorization", "Bearer <token>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby
require 'uri'
require 'net/http'

url = URI("https://api.awork.com/api/v1/me/projecttasks")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
```

```java
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.awork.com/api/v1/me/projecttasks")
  .header("Authorization", "Bearer <token>")
  .asString();
```

```php
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.awork.com/api/v1/me/projecttasks', [
  'headers' => [
    'Authorization' => 'Bearer <token>',
  ],
]);

echo $response->getBody();
```

```csharp
using RestSharp;

var client = new RestClient("https://api.awork.com/api/v1/me/projecttasks");
var request = new RestRequest(Method.GET);
request.AddHeader("Authorization", "Bearer <token>");
IRestResponse response = client.Execute(request);
```

```swift
import Foundation

let headers = ["Authorization": "Bearer <token>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.awork.com/api/v1/me/projecttasks")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```