Projects
A Project is a namespace inside an organization that scopes workflow templates, instances, resources, and tasks. Most SDK resources accept an optional projectId — if omitted, they default to your personal project.
Planning v2 availability. The endpoints on this page behave the same with the planning-v2 flag on or off. For reference: planning v2 is merged to
mainand deployed to production (platform.clockwork-co.com), and the platform flagCLOCKWORK_PLANNING_V2is currently on globally, in production and in preview, as of 2026-10-12. Per-organization gating (CLOCKWORK_PLANNING_V2=orgs) is merged but not enabled in production, so the global flag is the only access control in effect. Exact dates: Changelog.
Methods
| Method | Description |
|---|---|
projects.list() | List all projects you have access to |
projects.get(projectId) | Fetch a single project |
projects.list()
const { data: projects } = await client.projects.list()
for (const project of projects) {
console.log(project.id, project.name, project.slug)
}projects.get(projectId)
const { data: project } = await client.projects.get('proj_abc123')
console.log(project.organizationId, project.name)Using projectId
Pass projectId when creating resources to scope them to a specific project:
// Template scoped to a project
await client.workflowTemplates.create({
name: 'Deal Review',
projectId: 'proj_abc123',
})
// Instance scoped to a project
await client.workflowInstances.create({
templateId: 'tmpl_xyz',
projectId: 'proj_abc123',
})Type reference
interface Project {
id: string
ownerPlatformUserId: string
organizationId: string
name: string
slug: string
metadata: Record<string, unknown> | null
createdAt: string
updatedAt: string
}Related
- Organizations — projects belong to organizations
- Me — check which projects your API key can access