Create a project
POST
/partners/projectsCreates a new project in the workspace.
Only `name` is required. `statusUuid` defaults to the workspace default status when omitted. Numeric `customerId`, `statusId`, and `teamId` are stripped — use UUID fields.
HMAC signature + Bearer access token
Try this requestRequest body
namestringrequiredProject name.
customerUuiduuidCustomer UUID from the Customers API. Omit or null for no customer.
statusUuiduuidProject status UUID from List project statuses.
descriptionstringProject description.
customIdstringExternal reference id.
startDatedateStart date (YYYY-MM-DD).
endDatedateEnd date (YYYY-MM-DD).
Responses
201Project created successfully.400Validation failed — for example missing name.401Missing or invalid HMAC signature, expired timestamp, or invalid Bearer token. Troubleshoot403The credential does not have access to this workspace or resource. Troubleshoot429Rate limit exceeded (100 requests per minute per clientId). Retry after the Retry-After header. TroubleshootPOST
https://api.getcount.com/partners/projectsRequest
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 = '/projects';
const timestamp = Math.floor(Date.now() / 1000).toString();
const body = {
"name": "Website Redesign",
"customerUuid": "dfa3219e-6af8-4c53-997a-037534f63a35",
"statusUuid": "aabbccdd-eeff-4012-8000-001122334455",
"description": "Redesign the marketing website for Acme Corporation.",
"startDate": "2026-02-01",
"endDate": "2026-06-30"
};
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/projects`, {
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
{
"status": "success",
"message": "Success on creating project",
"data": {
"project": {
"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"
}
}
}