mothermachine

Browse / Scheduling and staffing

Kimai

Self-hosted team time tracking with invoicing and a Builder-documented JSON API.

AdaptableOperable Business appWeb app Deterministic PHPJavaScript API License: AGPL-3.0

Kimai is a multi-user time-tracking web application for freelancers and companies: timesheets, customers, projects, activities, budgets, invoicing, exports and a plugin store. The Builder publishes a bearer-token REST API with an OpenAPI export, and sells a hosted edition at kimai.cloud. Self-hosting is configured through .env and config/packages/local.yaml.

Use it when
  • my team bills by the hour and I want timesheets, rates and invoices in one place I run myself
  • I want my agent to log time and pull project hours through an API instead of a spreadsheet
Gotchas
  • AGPL-3.0: modifications to a hosted instance must be shared with its users; some Adopters cannot accept this
  • Must run on a subdomain; installing in a subdirectory is not supported
  • API tokens are shown once at creation; API attribute order is not stable and DateTime values must use YYYY-MM-DDTHH:mm:ss, not ISO 8601
  • Leave management, overtime and expenses are paid plugins or Cloud Professional features, not core

Last activity Aug 31, 2026. Fit: adaptable 2, operable 3.

Editions

Self-hosted · Free open source

  • Clonegit clone https://github.com/kimai/kimai
  • ImageContainer

closed source

closed source

For agents: JSON · Markdown

Adaptable: what is yours to change

Make it yours

Config only6 things to edit

Deploy with Docker or Composer, set DATABASE_URL, MAILER_URL and MAILER_FROM in .env, then put shop rules in config/packages/local.yaml: multiple time-rounding rules (per weekday), weekday rate multipliers, permission sets and role maps, active-entry limits, invoice template search paths, and LDAP or SAML login. Time-tracking mode, lockdown periods, invoice number formats, branding, rates, budgets, customers and projects are set in the UI under System > Settings.

Env vars
DATABASE_URL MAILER_URL APP_ENV MAILER_FROM
Config files
.env config/packages/local.yaml
Prompt files
none
Accounts you need
Kimai Cloud (hosted edition only)

Source

Operable: what an agent can drive

Interface

OfficialAPIpublished by the builderremote or local

How an agent can drive an Operable Listing, in five levels: native (built for the agent as the primary interface), official (the Builder ships an agent interface), wrapped (a third party wraps the software's API), config (an agent can only drive it by editing files), gui (screen control only). An interface is official only when it is published by the same organization that ships the software. GUI-level Listings are allowed and sorted last.

Docs
www.kimai.org/documentation/rest-api.html

Reach

Partial coverage. 3 of 9 jobs reachable through the stated interface.

JobThrough the interfaceEvidence
Record and edit timesheetsReachablerest-api.html lists timesheets as an API resource; OpenAPI export at /api/doc
Manage customers, projects and activitiesReachablerest-api.html lists customers, projects and activities resources
Manage usersReachablerest-api.html lists users as an API resource
Manage teams and permissionsUndeterminednot named on the REST API page; check the /api/doc export on a running instance
Create invoicesUndeterminedrest-api.html does not say whether invoices can be created through API
Run reports and exportsUndeterminedreports and exports are UI features; no report endpoint named in the REST docs
Configure timesheet rules, rounding and lockdownNot reachablethese live in config/packages/local.yaml, not the API
Install plugins from the storeNot reachableplugins are installed on the server filesystem; no API
Authenticate with SAML or LDAPNot reachableconfigured in local.yaml; not an API job

Code stack

Languages
PHPJavaScript
Frameworks
SymfonyDoctrineTablerBootstrap
Package manager
composer
Database
MariaDBMySQL
Hosting target
dockeron-premisehetznerdigitaloceansynology
Built
Human-written (recorded, never ranked)

Evidence and confidence

FieldWhere it was seenConfidence
formFactorREADME: web-based multi-user application, PHP 8.2+, MariaDB/MySQL95%
executionModelno model SDK or AI feature in README or config docs95%
operabilitykimai.org/documentation/rest-api.html published by the Kimai project; bearer token; OpenAPI export at /api/doc90%
effortkimai.org/documentation/configurations.html names config/packages/local.yaml and .env keys DATABASE_URL, MAILER_URL, APP_ENV80%
editionsREADME links kimai.cloud; kimai.cloud lists Standard EUR 3.99 and Professional EUR 4.99 per user per month with a 30-day trial85%
activeshortlist pushedAt 2026-08-31; README says releases every couple of weeks–
reach70%

Open questions

  • Does the REST API expose invoice creation and team management? Export /api/doc from a running instance to settle Reach
  • Is the API available on Kimai Cloud plans without restriction?
  • glazperle/kimai_mcp (34 stars, pushed 2026-08-14) exists as a third-party MCP wrapper; note it as a convenience, not the basis of operability

Sources