canonical: https://jentic.com/apis/projectmanager.com/projectmanager

# Projectmanager API Reference

The ProjectManager API plans and tracks projects, tasks, resources, and timesheets in a ProjectManager workspace. It creates projects and tasks, links tasks as predecessors and successors, assigns people, sets up recurring tasks and meetings, and records risks against a project. It also logs time entries, submits timesheets for approval, and reports planned allocations against actual timesheet minutes per task, with OData-style $filter, $orderby, $top, and $skip parameters on the main query operations.

## For AI agents

Create and update projects and tasks, assign resources, log and approve timesheets, track risks, and read resource workload in a ProjectManager workspace.

## Scope

Does not handle invoicing, payroll, or source code and CI pipelines. Use for project, task, timesheet, resource, and risk management in ProjectManager only.

## Capabilities

- Create tasks inside a project, link them with predecessor and successor dependencies, and nest them under parent tasks
- Query tasks, projects, and time entries with $filter, $orderby, $top, and $skip parameters
- Log time entries against a task and submit, approve, or reject a timesheet
- Compare planned allocations with actual timesheet minutes for a task, grouped by resource
- Record and update project risks, and export a project or its risk register
- Set up daily, weekly, monthly, or yearly recurring tasks and meetings
- Read a resource's workload and manage resource skills and teams

## Use cases

### Agent-Managed Project Task Board

An AI agent connected through Jentic turns meeting notes into ProjectManager work: it creates tasks in the right project with a name, planned start and finish dates, and assignees, then links dependent tasks so the schedule reflects the real order of work. Because the project id sits in the URL path of task creation, the agent's access can be pinned to one project.

Example prompt: Create a task named 'Finalize vendor contract' in project 1a2b3c with plannedStartDate 2026-11-16 and plannedFinishDate 2026-11-20, then link it as a predecessor of the 'Kickoff' task

### Timesheet Capture and Approval

Team members log hours through a chat assistant, which creates time entries with a date, hours, and the taskId they worked on. At the end of the week the assistant submits the timesheet, and a manager's agent approves or rejects submitted timesheets through the approval operations, keeping billable time current without manual form filling.

Example prompt: Create a time entry of 2 hours and 30 minutes on taskId 9f8e for 2026-11-12, then submit the timesheet for that date

### Planned Versus Actual Effort Reporting

A project lead wants to see where effort is running over plan. The ProjectManager API returns planned allocations and actual timesheet minutes for a task, grouped by resource, and a resource workload query shows how loaded each person is. Together they let a reporting script flag overrun tasks and overallocated people before a deadline slips.

Example prompt: Read the planned allocations and actual timesheet minutes for task 9f8e and the workload for resource 42, and report whether either is over plan

### Project Risk Register

Risks raised in standups or email are recorded against the project they affect, updated as they evolve, and tagged for triage. The risk register can then be exported for a steering review, so the record of open risks lives in ProjectManager rather than a separate spreadsheet.

Example prompt: Create a risk on project 1a2b3c describing a supplier delivery delay, then create a risk export for that project

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/api/data/projects` | Query projects |
| POST | `/api/data/projects` | Create a project |
| GET | `/api/data/tasks` | Query tasks |
| POST | `/api/data/projects/{projectId}/tasks` | Create a task in a project |
| PUT | `/api/data/tasks/{taskId}` | Update a task |
| POST | `/api/data/timesheets` | Create a time entry |
| POST | `/api/data/timesheets/approvals` | Submit a timesheet |
| GET | `/api/data/workload/resources/{resourceId}` | Query a resource's workload |

## Key resources

- **Projects** — Create, query, export, and version projects, with custom fields, statuses, and members
- **Tasks** — Create, link, assign, tag, and schedule recurring tasks inside projects
- **Timesheets** — Log time entries and submit, approve, or reject timesheets
- **Resources** — People and teams with skills, workload, and hourly rates
- **Risks** — Record, tag, and export project risks

## AI readiness

This API is usable in Jentic One now. Its AI-readiness score against Jentic's framework shows where it stands today and where improvements would make it even easier for agents to use.

- **Score:** 49 / 100
- **Maturity:** Foundational
- **Dimensions:**
  - Foundational Compliance: 73 / 100
  - Developer Experience & Jentic Compatibility: 57 / 100
  - AI-Readiness & Agent Experience: 35 / 100
  - Agent Usability: 43 / 100
  - Security: 60 / 100
  - AI Discoverability: 76 / 100
- **View full report:** https://jentic.com/apis/projectmanager.com/projectmanager/scorecard
- **How the score is calculated:** https://docs.jentic.com/reference/api-readiness-framework/overview/
- **More about the dimensions:** https://docs.jentic.com/reference/api-readiness-framework/specification/#dimensional-model-overview

### Score it yourself

Every API in the directory is allowlisted, so you can re-score it with no key required.

- **Score your own API:** https://jentic.com/scorecard.md
- **Scoring CLI agent skill:** https://github.com/jentic/jentic-api-scorecard/blob/main/skills/jentic-api-scorecard/SKILL.md

```sh
npx @jentic/api-scorecard-cli score <openapi-url>
```

## Why Jentic

- **Setup:** Wiring ProjectManager by hand means minting a bearer token, learning its OData-style $filter and $expand parameters, and mapping project, task, and timesheet ids across a large operation set. Through Jentic you install once, import ProjectManager from the API Directory, store the token once, and your agent calls it.
- **Permission scoping:** ProjectManager puts the project id in the URL path for task creation, risk creation, members, and project fields (`/api/data/projects/{projectId}/...`), so a rule can pin your agent to one project for those operations. You choose the operations it may call, so destructive ones like project deletion or revoking all API keys are not included unless you add them.
- **Credential handling:** Your ProjectManager bearer token is stored once, encrypted, by your own Jentic One instance and injected at execution time. It never enters the agent's prompt, logs, or context.
- **Discovery method:** Agents search Jentic by intent such as 'create a task in a project' or 'submit a timesheet', and Jentic returns the matching ProjectManager operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Asana** — Asana tracks projects and tasks for teams, overlapping with ProjectManager's task planning.
- **Smartsheet** — Smartsheet manages project plans as sheets with rows, columns, and dependencies.
- **ClickUp** — ClickUp organizes tasks, lists, and docs across workspaces.
- **Clockify** — Clockify tracks time across projects and clients, pairing with ProjectManager task plans.

## FAQ

### What authentication does the ProjectManager API use?

The ProjectManager API authenticates with a bearer token in the Authorization header, declared in its OpenAPI spec as the scheme named oauth2 of type http bearer. Through Jentic the token is stored encrypted by your own Jentic One instance and injected at call time, so it never reaches the agent's prompt, logs, or context.

### Can I log time and approve timesheets with the ProjectManager API?

Yes. You create time entries with a date, hours, minutes, and the taskId they apply to, then submit a timesheet for a date through the approvals operation. Separate approve and reject operations let a manager act on submitted timesheets.

### What are the rate limits for the ProjectManager API?

The OpenAPI spec does not specify rate limits. Check https://developer.projectmanager.com for the current limits that apply to your account.

### Is there a ProjectManager MCP server?

You don't need an MCP server to give your agent ProjectManager. Jentic connects it directly from the API Directory: import it, store your credential once, and your agent calls it. Operations are found on demand, so the full task, timesheet, and resource surface is reachable without loading every tool definition into the agent's context.

### Can I limit what my agent is allowed to do with the ProjectManager API?

Yes. For example, write a rule that allows task creation and project risk creation under `/api/data/projects/1a2b3c` only, plus the time entry create operation, so the agent can add tasks and risks to that one project and log hours, while project deletion and timesheet approval stay out of reach. Every call it makes is logged.

### How do I create a task in a project with the ProjectManager API through Jentic?

Import the ProjectManager API from the Jentic API Directory, store your bearer token once, and have your agent search Jentic for 'create a task in a project'. Jentic returns the operation for POST `/api/data/projects/{projectId}/tasks` with its input schema, where name is the required field. To run it on your own infrastructure, install Jentic One from its GitHub repo.

### How do I filter tasks or time entries with the ProjectManager API?

The task, project, and timesheet query operations accept OData-style query parameters: $filter to narrow results, $orderby to sort, $top and $skip to page, and $expand to include related records. An agent can use these to pull only the tasks or entries it needs instead of reading the whole workspace.
