Install Jentic One Beta
Jentic One is a self-hosted execution layer for AI agents. It lets your agent call the Intervals API, or any other public or private API you need. You set the rules, the agent never sees your credentials, and every call is logged.
Two steps, two machines. Install the instance in a safe environment, then register your agent from wherever it runs.
Step 1: Jentic One Host machine
# On the machine that will host your Jentic One instance:
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmyintervals.com%2Fmyintervals" | shStep 2: Agent machine
# On the machine where your agent runs (keep this separate from the instance):
curl -fsSL "https://jentic.com/install.sh?src=apis&api=%2Fapis%2Fmyintervals.com%2Fmyintervals" | sh
jentic register # connects your agent to your Jentic One instanceJentic One is in public beta. The setup above keeps your agent separate from the instance, which is what you want before using real credentials: an agent running as the same OS user as Jentic One can read its stored keys directly. Just evaluating? A single local install is fine to start. See the secure deployment guide for the tiers.
What an agent can do with Intervals API.
Log billable or non-billable time against a task or project with worktypeid, personid, date, and hours
Open, assign, and update tasks with status, priority, milestone, due date, and owner
Start and stop timers for a person and convert the tracked time into time entries
Build invoices from line items with tax settings and terms, then record payments against them
GET STARTED
Record project expenses with date and fee for later billing
Report time by project, client, person, or date range using datebegin, dateend, and billable filters
Check the account's daily API quota and reset time with GET /quota
Patterns agents use Intervals API for, with concrete tasks.
★ Agent time logging through Jentic
A developer's agent, connected to Intervals through Jentic, turns a daily summary of work into time entries. It looks up the right task with the task search, reads the valid worktypeid values for the project, and posts each entry with personid, date, time, and billable set. Hours land on the right task and project without anyone opening the timesheet screen.
Call GET /task with projectid=1234 and title='Homepage redesign' to find the task, GET /projectworktype with projectid=1234 to get a worktypeid, then POST /time with worktypeid, personid, taskid, date='2026-11-09', time=3, and billable=true
Client billing run
At month end, an agent pulls approved billable time for a project with datebegin, dateend, and billable filters, creates an invoice with projectid, date, termid, and title, and adds invoice items with name and amount. When the client pays, it records the payment with projectid, amount, date, typeid, and the invoiceid so the invoice status stays accurate.
Call POST /invoice with projectid=1234, date='2026-11-30', termid from GET /invoiceterm, and title='November services', then POST /invoiceitem with the new invoiceid, name='Development', and amount=4200
Task triage and follow-up
A project lead asks an agent which tasks are due this week. The agent filters the task list by projectid, assigneeid, and a due-date window, reads task status and priority values from the taskstatus and taskpriority lists, and updates tasks or adds task notes where follow-up is needed.
Call GET /task with projectid=1234, dateduebegin='2026-11-09', and datedueend='2026-11-15', then POST /tasknote with taskid, note='Blocked on client feedback', and public=false for each blocked task
Project expense tracking
Teams that bill expenses alongside hours need them recorded against the right project. An agent posts each expense with projectid, date, expense, and fee, and lists expenses by project or person with date filters when preparing a client report or invoice.
Call POST /expense with projectid=1234, date='2026-11-09', expense='Stock photography license', and fee=79, then GET /expense with projectid=1234 and datebegin='2026-11-01' to confirm it is listed
125 endpoints — the intervals api reads and writes the data in an intervals account: projects, tasks, time entries, timers, expenses, invoices, payments, clients, and people.
METHOD
PATH
DESCRIPTION
/time
Log a time entry
/time
List time entries with filters
/task
Add a task
/task
List tasks with filters
/timer
Add a timer
/invoice
Add an invoice
/payment
Record a payment
/quota
Get API quota usage
/time
Log a time entry
/time
List time entries with filters
/task
Add a task
/task
List tasks with filters
/timer
Add a timer
/invoice
Add an invoice
/payment
Record a payment
/quota
Get API quota usage
What agents get from Jentic-routed access to this vendor.
Setup
Wiring Intervals by hand means passing the API token as a Basic auth username with a dummy password, setting the Accept header to get JSON instead of XML, and formatting UTC date-times with a space rather than a T. Through Jentic you install once, import Intervals from the API Directory, store the token once, and your agent calls it.
Permission scoping
Intervals record ids sit in the URL path, as in /task/{id}/ and /invoice/{id}/, so a rule can limit your agent to the operations it needs and to specific records. You choose the operations it may call, so destructive ones like deleting a time entry or an invoice are not included unless you add them.
Credential isolation
Your Intervals API 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.
Intent-based discovery
Agents search Jentic by intent such as 'log billable hours' or 'create an invoice', and Jentic returns the matching Intervals operation with its input schema so the agent calls the right endpoint without browsing the reference docs.
Alternatives and complements available in the Jentic catalogue.
Specific to using Intervals API through Jentic.
What authentication does the Intervals API use?
The Intervals API uses HTTP Basic authentication per its OpenAPI spec: your Intervals API token goes in as the username and any non-empty string as the password. The token is under My Profile in the Intervals web app, and calls run with that user's role. Through Jentic, the token is stored once by your own Jentic One instance and injected at call time.
Can I log time to a specific task with the Intervals API?
Yes. POST /time requires worktypeid, personid, date, time, and billable, and accepts taskid, projectid, moduleid, and description. Look up valid work types for the project with GET /projectworktype first, since the worktypeid must be one the project allows.
What are the rate limits for the Intervals API?
The spec says each account has a daily request quota rather than a per-second limit, and does not state the number. Call GET /quota to see current usage and the next reset time in GMT; that call does not count against the quota. See https://www.myintervals.com/api/ for details.
How do dates work in Intervals API requests?
Calendar dates use YYYY-MM-DD in the account's local calendar. Date-times use YYYY-MM-DD HH:MM:SS in UTC with a space between date and time, not a T or a Z suffix, and the space is encoded as %20 in query strings. Set the Accept header to application/json, since responses default to XML without it.
How do I log hours to Intervals through Jentic?
Install Jentic One with `curl -fsSL https://raw.githubusercontent.com/jentic/jentic-one/main/tools/install.sh | sh`, import the Intervals API from the API Directory, and store your API token once. Your agent searches for 'log time to an Intervals task', gets the time-entry operation with its input schema, and calls POST /time. To run it on your own infrastructure, install Jentic One from its GitHub repo.
Can I limit what my agent is allowed to do with the Intervals API?
Yes. For a timesheet assistant, write a rule that allows GET /task, GET /projectworktype, and POST /time, so the agent can find tasks and log hours but cannot touch invoices, payments, or people records, and cannot delete anything. Add GET /time if you also want it to read back what it logged.
For Agents
Log time against Intervals tasks, run timers, track expenses, open and update tasks, and build invoices with line items and payments, filtered by project, client, or person.
Use for: Log three billable hours to the website redesign task for today, List all time entries for a client between two dates, I need to open a new task in a project and assign it to a teammate, Find all overdue tasks assigned to me
Not supported: Does not run payroll, process card payments, or sync calendars. Use for Intervals time tracking, tasks, and invoicing only.
The Intervals API reads and writes the data in an Intervals account: projects, tasks, time entries, timers, expenses, invoices, payments, clients, and people. It covers the full loop from logging billable hours against a task to building an invoice from line items and recording the payment against it. Collection endpoints filter by fields such as projectid, personid, clientid, and date ranges, page with limit and offset, and report the total match count in listcount. Responses come back as JSON or XML depending on the Accept header, and access follows the signed-in user's role.
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.
Base layer of spec validity and structural soundness.
Aggregated quality score from linter diagnostics, weighted by severity.
Percentage of `$ref` references that resolve successfully.
Checks whether the API description parses successfully and conforms to its declared specification (e.g., OpenAPI).
Structural correctness score based on schema issues using logarithmic dampening.
Clarity, completeness, and ingestion readiness for developers and tooling.
How richly the API is illustrated with examples.
Percentage of examples that conform to their schemas.
Percentage of operations with complete response definitions (success, client error, server error).
Health of API ingestion, bundling, and resolution within Jentic pipelines.
Semantic breadth, depth, and agent comprehension for AI systems.
Coverage of descriptions across API elements.
Coverage of RFC 9457 Problem Details for error responses.
Coverage, uniqueness, and casing consistency of operationIds for AI inference.
Coverage of summaries across operations/tags/info.
Functional utility, complexity comfort, and AI orchestration readiness.
Agent comfort level based on API operational and structural complexity.
Trust, risk posture, and security compliance.
Average quality of security schemes based on authentication method strength (weakest link for OAuth2).
Findability, semantic richness, and reasoning readiness.
Clarity and depth of descriptions across API elements.
Score it yourself
Every API in the directory is allowlisted, so you can re-score it with no key required.
npx @jentic/api-scorecard-cli score <openapi-url>