openapi: 3.0.3
info:
title: hakuna Time Tracking Absences Organization API
description: 'The hakuna REST API provides programmatic access to the hakuna time-tracking and personnel-management platform: the running timer, time entries, absences, projects, tasks, clients, users, and account-wide company settings. Personal endpoints act in the context of the authenticated user; management endpoints require an admin token and the organization endpoint requires an organization-level token. All requests and responses are JSON. Generated by the API Evangelist enrichment pipeline from the published API documentation; not an official hakuna machine-readable specification.'
version: v1
x-apievangelist-generated: '2026-07-19'
x-apievangelist-method: generated
x-apievangelist-source: https://app.hakuna.ch/api_docs
contact:
name: hakuna Support
url: https://www.hakuna.ch/kontakt
termsOfService: https://www.hakuna.ch/rechtliches/agb
servers:
- url: https://app.hakuna.ch/api/v1
description: Production
security:
- AuthToken: []
tags:
- name: Organization
description: Organization-wide presence and absence status
paths:
/organization/status:
get:
operationId: getOrganizationStatus
summary: Get organization status
description: Retrieve the presence and absence status for all users in the organization. Requires an organization-level token.
tags:
- Organization
responses:
'200':
description: Organization presence status
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/OrganizationStatus'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
components:
schemas:
Error:
type: object
description: JSON error object with a descriptive message.
properties:
message:
type: string
description: Human-readable description of the error.
OrganizationStatus:
type: object
description: Presence/absence status for a user.
properties:
user:
$ref: '#/components/schemas/User'
status:
type: string
description: e.g. present, absent
since:
type: string
format: date-time
User:
type: object
description: A user of the account.
properties:
id:
type: string
name:
type: string
email:
type: string
format: email
role:
type: string
responses:
Unauthorized:
description: The auth token is missing or invalid.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
RateLimited:
description: Too many requests. Limited to 100 requests per minute per customer.
headers:
X-RateLimit-Limit:
schema:
type: integer
description: Maximum requests allowed in the window.
X-RateLimit-Remaining:
schema:
type: integer
description: Requests remaining in the current window.
X-RateLimit-Reset:
schema:
type: integer
description: Seconds until the window resets.
Retry-After:
schema:
type: integer
description: Seconds to wait before retrying.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
securitySchemes:
AuthToken:
type: apiKey
in: header
name: X-Auth-Token
description: Personal API token managed under "My Settings". Organization endpoints require a separate organization-level token; management endpoints require an admin token.