---
title: "Create a task · Tasks · COUNT Partner API"
description: "Creates a new task. POST /partners/tasks"
canonical: "https://developers.getcount.com/reference/tasks/create-task"
source: "https://developers.getcount.com/reference/tasks/create-task"
---
[Tasks](https://developers.getcount.com/reference/tasks) / Create a task

# Create a task

POST `/partners/tasks`

Creates a new task.

Required body field: `type`. If `assigneeId` is omitted, the partner-acting user is assigned. JSON only — no file attachments.

HMAC signature + Bearer access token

[Try this request](https://developers.getcount.com/tools/try-it?method=POST&path=%2Fpartners%2Ftasks&body=%7B%0A++%22type%22%3A+%22INTERNAL_TASK%22%2C%0A++%22name%22%3A+%22Review+wireframes%22%2C%0A++%22description%22%3A+%22Review+and+approve+wireframes+before+development.%22%2C%0A++%22priority%22%3A+%22medium%22%2C%0A++%22deadline%22%3A+%222026-04-15%22%2C%0A++%22assigneeId%22%3A+%22f1a2b3c4-d5e6-4789-a012-3456789abcde%22%2C%0A++%22projectId%22%3A+%2211223344-5566-7788-99aa-bbccddeeff00%22%0A%7D)

[Projects API](https://developers.getcount.com/reference/projects) [People API](https://developers.getcount.com/reference/people)

#### Request body

`type` string required

Task type identifier.

`name` string

Task title.

`description` string

Task details.

`priority` string

Priority level.

`deadline` date

Due date (YYYY-MM-DD).

`customId` string

External reference id.

`visibility` enum

Visibility scope. INTERNAL_TASK is always created as firm-only.

One of: `firm-team`, `team-only`, `firm-only`

`assigneeId` uuid

Assignee UUID or workspace-scoped numeric id.

`statusId` uuid

Task status UUID or workspace-scoped numeric id.

`projectId` uuid

Project UUID or workspace-scoped numeric id.

`tags` array

Array of tag UUIDs or numeric ids (homogeneous).

#### Responses

`201` Task created successfully.

`400` Validation failed — for example missing type or mixed tag id kinds.

`401` Missing or invalid HMAC signature, expired timestamp, or invalid Bearer token. [Troubleshoot](https://developers.getcount.com/getting-started/errors#error-401)

`403` The credential does not have access to this workspace or resource. [Troubleshoot](https://developers.getcount.com/getting-started/errors#error-403)

`429` Rate limit exceeded (100 requests per minute per clientId). Retry after the Retry-After header. [Troubleshoot](https://developers.getcount.com/getting-started/errors#error-429)

[Previous GET Get a task](https://developers.getcount.com/reference/tasks/get-task) [Next PATCH Update a task](https://developers.getcount.com/reference/tasks/update-task)

POST `https://api.getcount.com/partners/tasks`

Request

```javascript
import crypto from 'node:crypto';

const BASE_URL = 'https://api.getcount.com';
const CLIENT_ID = process.env.COUNT_CLIENT_ID;
const CLIENT_SECRET = process.env.COUNT_CLIENT_SECRET;
const ACCESS_TOKEN = process.env.COUNT_ACCESS_TOKEN;

const method = 'POST';
const signingPath = '/tasks';
const timestamp = Math.floor(Date.now() / 1000).toString();
const body = {
  "type": "INTERNAL_TASK",
  "name": "Review wireframes",
  "description": "Review and approve wireframes before development.",
  "priority": "medium",
  "deadline": "2026-04-15",
  "assigneeId": "f1a2b3c4-d5e6-4789-a012-3456789abcde",
  "projectId": "11223344-5566-7788-99aa-bbccddeeff00"
};
const bodyString = JSON.stringify(body);

const bodyHash = crypto.createHash('sha256').update(bodyString).digest('hex');
const baseString = `${method}:${signingPath}:${timestamp}:${bodyHash}`;
const signature = crypto.createHmac('sha256', CLIENT_SECRET).update(baseString).digest('hex');

const response = await fetch(`${BASE_URL}/partners/tasks`, {
  method,
  headers: {
    'x-client-id': CLIENT_ID,
    'x-timestamp': timestamp,
    'x-signature': signature,
    'Content-Type': 'application/json',
    Authorization: `Bearer ${ACCESS_TOKEN}`,
  },
  body: bodyString,
});

console.log(await response.json());
```

Response · 201

```json
{
  "status": "success",
  "message": "Success on creating task",
  "data": {
    "task": {
      "id": "22334455-6677-8899-aabb-ccddeeff0011",
      "name": "Review wireframes",
      "type": "INTERNAL_TASK",
      "description": "Review and approve wireframes before development.",
      "priority": "medium",
      "deadline": "2026-04-15",
      "customId": "TASK-1042",
      "visibility": "firm-team",
      "assignee": {
        "uuid": "f1a2b3c4-d5e6-4789-a012-3456789abcde",
        "firstName": "Jane",
        "lastName": "Smith"
      },
      "project": {
        "uuid": "11223344-5566-7788-99aa-bbccddeeff00",
        "name": "Website Redesign"
      },
      "tags": [],
      "createdAt": "2026-01-15T10:30:00.000Z",
      "updatedAt": "2026-01-28T14:22:30.000Z"
    }
  }
}
```
