punchify.Documentation Deutsch punchify.app

Integrations

REST API

Punchify offers a REST API at https://<your domain>/api/v1, e.g. for payroll, reporting or your own programs. The full description (OpenAPI) is at https://<your domain>/api/v1-docs.

Authenticate with the header:

Authorization: Bearer <API key or OAuth token>

Available scopes:

Scope Content
people:read read people
entries:read read entries
entries:write create entries
account:read read month and balance
absences:read read absences
projects:read read customers and projects
reports:read read project report

Example:

curl -H "Authorization: Bearer $PUNCHIFY_API_KEY" https://time.yourcompany.com/api/v1/people

API keys

Under Company → Integrations an admin creates keys with selected scopes and an expiry date. The key is shown only once; it can be revoked at any time.

OAuth 2.0 for apps

Third-party programs connect via OAuth 2.0 (authorization code with PKCE). An admin registers the app under Company → Integrations → Apps; the person agrees on a consent page when connecting for the first time. Grants can be revoked under Settings → Connected apps. Endpoints: /oauth/authorize, /oauth/token, /oauth/revoke. Access tokens are valid for one hour, refresh tokens for 60 days.

Webhooks

Punchify reports selected events immediately via HTTPS to other systems:

punch, entry.created, entry.updated, entry.deleted, absence.requested, absence.created, absence.approved, absence.rejected, absence.cancelled, month.closed, month.reopened

Each delivery is signed with HMAC-SHA256 (header X-Punchify-Signature; the secret is shown once when created). Failed deliveries are retried for about a day; after 50 consecutive failures the webhook is switched off. A delivery log and "Send test" help with the setup.

Data import

Under Company → Data import admins import entries from another system – as CSV or Excel (.xlsx), one row per work block:

Column Required Example
Person (email or name) yes anna@company.com
Date yes 03.11.2026
Start yes 07:30
End yes 16:00
Break (minutes or h:mm) no 30
Type (work, away, travel) no work
Project no Renovation Miller
Note no

Punchify recognises the columns by common headings, shows a preview with errors per row and only imports rows without errors. A break is placed in the middle of the block; if a block ends before it starts, it runs past midnight. An import can be undone.

Version: Punchify 0.10.1 · Found a mistake? Let us know