---
title: "Projects API · COUNT Partner API"
description: "Projects group work for a customer with a status, schedule, and associated tasks. Partner responses use UUIDs; numeric `customerId` and `statusId` fields are…"
canonical: "https://developers.getcount.com/reference/projects"
source: "https://developers.getcount.com/reference/projects"
---
API Reference

# Projects

Projects group work for a customer with a status, schedule, and associated tasks. Partner responses use UUIDs; numeric `customerId` and `statusId` fields are stripped.

Last updated 2026-06-21

## Overview

The Projects API lets your integration list project statuses, create and manage projects, and list the tasks attached to a project. Projects optionally link to a customer and always carry a workspace-defined status.

Use `GET /partners/projects/statuses` to discover status UUIDs before creating or filtering projects. Soft-deleted projects return 404 and are excluded from list results. Updates use PATCH (not PUT).

## Key concepts

### Status discovery

Call List project statuses first. Pass the returned UUID as `statusUuid` on create/update, or filter list with `statusUuids` (comma-separated).

### Customer linking

Pass `customerUuid` from the Customers API on create. On update, pass a UUID to set the customer, `null` or empty string to clear, or omit to leave unchanged.

### Soft delete

DELETE soft-deletes the project. Deleted projects are excluded from list and return 404 on retrieve.

### Project tasks

Tasks linked to a project are listed via `GET /partners/projects/{uuid}/tasks` with the same sanitized task shape as the Tasks API.

## The project object

Fields returned on a project. Customer and projectStatus associations expose UUIDs.

#### Attributes

`id` uuid

Project identifier (UUID).

`name` string

Project name. Required on create.

`description` string

Free-text description.

`customId` string

Optional external reference id.

`startDate` date

Project start date (ISO).

`endDate` date

Project end date (ISO).

`customer` object

Linked customer, or null when the project is not customer-specific.

`uuid` uuid

Customer UUID.

`customer` string

Customer display name.

`projectStatus` object

Current project status.

`uuid` uuid

Status UUID.

`name` string

Status label.

`color` string

Display color.

`createdAt` datetime

ISO 8601 creation timestamp.

`updatedAt` datetime

ISO 8601 last update timestamp.

Example

```json
{
  "id": "11223344-5566-7788-99aa-bbccddeeff00",
  "name": "Website Redesign",
  "description": "Redesign the marketing website for Acme Corporation.",
  "customId": "PRJ-2026-001",
  "startDate": "2026-02-01",
  "endDate": "2026-06-30",
  "customer": {
    "uuid": "dfa3219e-6af8-4c53-997a-037534f63a35",
    "customer": "Acme Corporation"
  },
  "projectStatus": {
    "uuid": "aabbccdd-eeff-4012-8000-001122334455",
    "name": "In Progress",
    "color": "#E48642"
  },
  "createdAt": "2026-01-15T10:30:00.000Z",
  "updatedAt": "2026-01-28T14:22:30.000Z"
}
```

Use UUID filter params

List filters accept `customerUuids` and `statusUuids` (comma-separated). Legacy numeric `customers` and `statusIds` query params are stripped server-side.

## Related

- [Customers API](https://developers.getcount.com/reference/customers)
- [Tasks API](https://developers.getcount.com/reference/tasks)
- [Time Entries API](https://developers.getcount.com/reference/time-entries)

## Recent changes

2026-09-22

Customer sub-resources, merge, GST settings, and the last bulk routes

Closed every remaining gap between the reference and the backend partner routes — 20 endpoints that existed in count-dev but had no documentation. Customers gained its sub-resources: contacts, addresses, and notes each get full list/create/update/delete coverage, plus GET /partners/customers/{uuid}/revenue-overview and the two-step merge flow (POST /partners/customers/merge/preview, then POST /partners/customers/merge), which repoints every record onto a target customer and cannot be undone through the API. Workspace gained GET and PATCH /partners/workspace/gst-settings, including the manage_settings permission the PATCH requires and the 409 that locks the accounting basis after a return is filed. Also documented GET /partners/invoices/generate/number, POST /partners/projects/bulk, and POST /partners/transactions/review-bulk. npm run check:parity now reports 173 documented routes against 173 backend routes.

2026-06-21

Complete Partner API reference

Documented all remaining API reference groups: Chart of Accounts, Vendors, Products & Services, Recurring Invoice Templates, Credit Memos, Bills, Journal Entries, Tags, People, Projects, Tasks, Time Entries, Expense Receipts, Reports, and Workspace Stats. Added missing invoice endpoints (audit log, attachments, credit application, remove transaction) and group overviews for Invoices and Transactions.

## Endpoints

[GET List project statuses `/partners/projects/statuses` Returns the project statuses available in the workspace.](https://developers.getcount.com/reference/projects/list-project-statuses) [GET List projects `/partners/projects` Returns a paginated list of projects.](https://developers.getcount.com/reference/projects/list-projects) [POST Create a project `/partners/projects` Creates a new project in the workspace.](https://developers.getcount.com/reference/projects/create-project) [POST Bulk create projects `/partners/projects/bulk` Creates up to 100 projects in one request with partial-success semantics.](https://developers.getcount.com/reference/projects/bulk-create-projects) [GET List project tasks `/partners/projects/{uuid}/tasks` Returns tasks attached to a project.](https://developers.getcount.com/reference/projects/list-project-tasks) [GET Get a project `/partners/projects/{uuid}` Retrieves a single project by UUID.](https://developers.getcount.com/reference/projects/get-project) [PATCH Update a project `/partners/projects/{uuid}` Updates an existing project. Only the fields you send are changed.](https://developers.getcount.com/reference/projects/update-project) [DELETE Delete a project `/partners/projects/{uuid}` Soft-deletes a project.](https://developers.getcount.com/reference/projects/delete-project)
