MiteBundle

A Symfony bundle for the time tracking tool mite: typed services and DTOs for every API resource, configured with two environment variables.

Release v1.0.0 · last active Oct 10, 2026

Source: GitHub API, as of Oct 24, 2026, 14:15

What it does

MiteBundle is a Symfony bundle for the API of the time tracking tool mite. It provides autowirable services built on the Symfony HttpClient, and read-only DTOs and enums instead of arrays.

It covers every resource of the mite API: account, time entries (including grouped reports), tracker, bookmarks, customers, projects, services, users and the changes feed. Time entries, customers, projects and services can also be created, updated and deleted.

Each mite error (401, 403, 404, 422, 423, 5xx) has its own exception. All of them can be caught as MiteExceptionInterface. Configuration is a single file, and the API key is only sent as a header to your mite domain.

In production on jacomeit.de

jacomeit.de uses the bundle in production for its connection to mite, instead of maintaining its own mite client.

An import job reads the time entries of the user behind the configured API key page by page through TimeEntriesApi and stores them in its own database. It runs twice a day.

Installation

Install the bundle with composer require stejac/mite-bundle. With Symfony Flex it is registered automatically, otherwise add it to config/bundles.php.

Set the two environment variables MITE_DOMAIN and MITE_API_KEY. MITE_DOMAIN is the sub-domain name of your account, that is acme for acme.mite.de. You create the API key in your mite user settings under "Allow API access".

Then reference both variables in config/packages/mite.yaml through the keys domain and api_key.