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

# Nutcache API

Jentic publishes the only available OpenAPI specification for Nutcache API, keeping it validated and agent-ready. Nutcache is a project management and time-tracking platform used by agencies and small teams to plan tasks, log billable hours, and invoice clients. The API exposes endpoints to list and create projects and to list and log timesheet entries, allowing automation around resourcing and billing. It is typically integrated by agencies that want to push timesheet entries from external tools and pull project data into reporting dashboards.

## For AI agents

Create projects and log timesheet entries in Nutcache, and pull project and time data for reporting.

## Scope

Does not handle invoicing, expenses, or payroll - use for Nutcache project listing and timesheet logging only.

## Capabilities

- List active projects in a Nutcache workspace
- Create a new project in Nutcache
- List logged timesheet entries across a workspace
- Log a new time entry against a project
- Sync external timesheet data into Nutcache for invoicing
- Pull Nutcache project data into external reporting dashboards

## Use cases

### External Timer Sync

Agencies that prefer a desktop timer push completed sessions into Nutcache by calling POST /timesheets with the project ID and duration. This keeps Nutcache's billing and reporting accurate without forcing consultants to use the in-app timer. Integration is straightforward thanks to the small endpoint surface.

Example prompt: Call POST /timesheets with the project ID, user ID, and duration captured by an external timer

### Project Reporting Dashboard

Operations leads pull Nutcache project lists into a BI dashboard via GET /projects to monitor active engagements alongside revenue and utilisation metrics. The endpoint returns enough metadata to filter by client, status, or owner without a full export.

Example prompt: Call GET /projects, filter the response by status, and pipe the results into a reporting warehouse

### Agent-Driven Timesheet Logging

An AI assistant working alongside a consultant logs time entries to Nutcache as meetings end. Through Jentic the agent searches for 'log time entry', loads the POST /timesheets schema, and executes with the project and duration, eliminating the manual stopwatch step.

Example prompt: Search Jentic for 'log a Nutcache time entry', load the schema for POST /timesheets, and execute when a calendar event ends

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | `/projects` | List projects |
| POST | `/projects` | Create a project |
| GET | `/timesheets` | List time entries |
| POST | `/timesheets` | Log a time entry |

## Key resources

- **Projects** — List and create projects
- **Timesheets** — List and create logged time entries

## Why Jentic

- **Setup:** Wiring Nutcache by hand means setting up its API key auth against api.nutcache.com and handling the request plumbing yourself. Through Jentic you install once, import Nutcache from the API Directory, store the key once, and your agent calls it.
- **Permission scoping:** Nutcache carries no resource id in the paths you use, so scope the agent to the operations it needs: you can allow listing projects and logging timesheets while leaving project creation out. You choose the operations it may call, so it only reaches the endpoints you list.
- **Credential handling:** Your Nutcache API key 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 'log a time entry' or 'list Nutcache projects', and Jentic returns the matching Nutcache operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Toggl Track** — Time-tracking platform with broader reporting and timer features
- **Clockify** — Free time-tracking API with project and task structure
- **Asana** — Task management to plan project work that gets time-logged into Nutcache

## FAQ

### Why is there no official OpenAPI spec for Nutcache API?

Nutcache does not publish an OpenAPI specification. Jentic generates and maintains this spec so that AI agents and developers can call Nutcache API via structured tooling. It is validated against the live API and kept up to date. Get started with Jentic One, the self-hosted execution layer.

### What authentication does the Nutcache API use?

The spec declares an apiKey scheme. Through Jentic the API key is stored encrypted in the vault and injected at execution, so it never appears in the agent's prompt or chat history.

### Can I create a new project through the API?

Yes. POST /projects creates a project and returns its identifier, which downstream POST /timesheets calls reference. Use this to provision projects when a new client engagement starts in your CRM.

### How do I log time entries through Jentic?

Search Jentic for 'log a Nutcache time entry', load the schema for POST /timesheets, and execute with the project ID and duration. Jentic injects the API key from the vault and returns the created timesheet record.

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

Rate limits are not declared in the OpenAPI spec. Nutcache applies plan-based limits in production; check your account dashboard for the exact quota that applies to your API key.

### Does the Nutcache API expose invoicing or expenses?

No. This spec covers projects and timesheets only. Invoicing, expenses, and budgets remain in-app for now and are not exposed through these endpoints.

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

Yes. Because you run Jentic One yourself, your own rules decide which Nutcache operations the agent can reach, and it only calls the endpoints you list. The Nutcache paths carry no resource id, so you scope at the operation level: for example, allow listing projects (GET /projects) and logging time (POST /timesheets) while leaving project creation (POST /projects) out. Your API key stays with your instance and is injected only when the agent runs one of the operations you have permitted.
