canonical: https://jentic.com/apis/example.ilucca.net/lucca-timmi-absences

# Example Ilucca Timmi Absences API

Timmi Absences is Lucca's leave-management API for requesting, approving, and importing employee absences. Agents create leave requests, list approvals, and bulk-import leave entitlements through dedicated import endpoints. The spec separates the request-and-approval workflow from entitlement management so HR automations can target each side cleanly.

## For AI agents

Submit leave requests, manage approvals, and bulk-import leave entitlements for employees in the Lucca HR suite.

## Scope

Does not handle timesheet entries, payroll, or expenses - use for leave requests, approvals, and entitlement imports only.

## Capabilities

- List employee leaves with filters for owner, status, and date range
- Retrieve a specific leave record by id for approval review
- Submit a new leave request through the request workflow
- List and inspect leave-request approval steps
- Bulk-import leave entitlements via the figgo and timmi-absences import endpoints
- Replace existing leave entitlements with a fresh dataset for migration scenarios

## Use cases

### Self-service leave request via chat agent

An employee asks an HR assistant to book three days of holiday. The agent calls POST /api/v3/leaveRequests to submit the request on the employee's behalf, then polls /api/v3/leaveRequests/{leaveRequestId}/approvals to confirm the manager has approved it. Lucca handles balance checks and routing.

Example prompt: Submit a leave request for ownerId 1234 from 2026-06-20 to 2026-06-24 with reason 'annual leave', then verify the approval status.

### Annual entitlement import

At the start of each fiscal year, HR loads new leave-entitlement balances for every employee. The integration agent calls the Timmi Absences entitlement-import endpoints to push balances in bulk, replacing or topping up existing records without manual UI work.

Example prompt: POST a batch of leave-entitlement records for the new fiscal year to /timmi-absences/api/public/services/v1.0/leaveEntitlementsImport and confirm the response counts match the input.

### Manager approval dashboard

A manager-facing dashboard pulls all pending leave-request approvals so the manager can act on them in one view. The agent lists leave requests, filters by approver, and surfaces approval steps via /api/v3/leaveRequests/{leaveRequestId}/approvals.

Example prompt: List pending leave requests where the manager is the assigned approver and return each request id, requester, and date range.

### AI agent absence assistant via Jentic

An AI assistant integrated through Jentic answers questions like 'how many days off do I have left?' and 'book me out next Friday'. Jentic handles credential isolation and operation discovery, so the assistant calls Timmi Absences endpoints without ever holding the raw API key.

Example prompt: Use Jentic to search for 'submit a leave request', load the operation, and book a one-day absence for the current user on the requested date.

## Key endpoints

| Method | Path | Description |
| --- | --- | --- |
| GET | /api/v3/leaves | List leave records |
| GET | /api/v3/leaves/{leaveId} | Retrieve a specific leave |
| GET | /api/v3/leaveRequests | List leave requests |
| GET | /api/v3/leaveRequests/{leaveRequestId} | Retrieve a specific leave request |
| GET | /api/v3/leaveRequests/{leaveRequestId}/approvals | List approval steps for a leave request |
| POST | /timmi-absences/api/public/services/v1.0/leaveEntitlementsImport | Bulk-import leave entitlements |

## Key resources

- **Leaves** — Approved leave records that show actual time off taken
- **Leave Requests** — Submitted requests that flow through the approval workflow
- **Imports** — Bulk-import endpoints for leave entitlements

## Why Jentic

- **Setup:** Wiring the Timmi Absences API by hand means learning its header API key auth on your ilucca.net tenant host and tracking two path shapes, the /api/v3 leave endpoints and the /timmi-absences public services import, yourself. Through Jentic you install once, import Timmi Absences from the API Directory, store the API key once, and your agent calls it.
- **Permission scoping:** Timmi Absences puts the leave request id in the URL path (/api/v3/leaveRequests/{leaveRequestId}), so a rule can pin your agent to one leave request and its approvals. You choose the operations it may call, so the entitlements import is not included unless you add it.
- **Credential handling:** Your Lucca 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 'submit a leave request' or 'import leave entitlements', and Jentic returns the matching Timmi Absences operation with its input schema so the agent calls the right endpoint without browsing the reference docs.

## Related APIs

- **Timmi Timesheet** — Tracks worked hours that pair with absences for full attendance reporting
- **Lucca Directory** — Provides the user records that own leave requests and entitlements
- **BambooHR** — All-in-one HRIS with built-in time-off management
- **Personio** — European HRIS that bundles absences with employee records

## FAQ

### What authentication does the Timmi Absences API use?

Timmi Absences uses an API key passed in the Authorization header. Through Jentic, the key sits in your Jentic One instance and is exchanged for a scoped token at call time so the raw secret never reaches the agent.

### Can I submit leave requests through the Timmi Absences API?

Yes. /api/v3/leaveRequests supports creating new leave requests, and /api/v3/leaveRequests/{leaveRequestId}/approvals exposes the approval steps so an agent can submit a request and track its progress to approval.

### How do I bulk-import leave entitlements for a new fiscal year?

Use /timmi-absences/api/public/services/v1.0/leaveEntitlementsImport to add entitlements, or /timmi-absences/api/public/services/v1.0/leaveEntitlementsReplace to overwrite existing balances. The figgo aliases under /figgo/api/public/services/v1.0/ provide the same operations for legacy callers.

### What are the rate limits for the Timmi Absences API?

The spec does not publish explicit rate limits. Lucca enforces tenant-level throttling, so bulk-import jobs should chunk inputs and handle 429 responses with backoff and Retry-After awareness.

### How do I list pending leave requests through Jentic?

Run pip install jentic, search for 'list pending lucca leave requests', load the GET /api/v3/leaveRequests operation, and execute with status filters. Jentic returns the parsed response for the agent to act on.

### Does Timmi Absences include timesheet entries?

No. Timmi Absences covers leaves, leave requests, approvals, and entitlement imports. Time entries and worked hours are managed by the separate Timmi Timesheet API in the Lucca suite.

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

Yes. Because you self-host Jentic One, your own rules decide which Timmi Absences operations and credentials your agent may use. Since the leave request id sits in the URL path (/api/v3/leaveRequests/{leaveRequestId}), a rule can pin the agent to a single leave request and its approval steps rather than the whole tenant. You also pick which operations are callable, so high-impact calls like the entitlements import at /timmi-absences/api/public/services/v1.0/leaveEntitlementsImport stay off unless you explicitly allow them.
