API-Referenz

Erste Schritte

Für den Einstieg in die API empfehlen wir ein Tool zum Testen von APIs. Bruno und Postman eignen sich beide hervorragend, um API-Anfragen auszuprobieren und Ihren Ablauf abzustimmen, bevor Sie mit dem Programmieren beginnen.

Erste Schritte mit Bruno

Zunächst müssen Sie Bruno herunterladen und installieren. Bruno ist ein hervorragendes Open-Source-Tool, um API-Anfragen auszuprobieren und Ihren Ablauf abzustimmen, bevor Sie mit dem Programmieren beginnen.

Importieren Sie unsere Bruno-Sammlung, indem Sie diese Datei herunterladen. So erhalten Sie alle unsere Endpunkte und Parameter.
Sammlung in Bruno importieren
Die Authentifizierung erfolgt per API-Schlüssel über den Anfrage-Header "apiKey".
So fügen Sie den API-Schlüssel in Bruno hinzu
Den API-Schlüssel können Sie hier erzeugen: Portal Einstellungen API

Erste Schritte mit Postman

Zunächst müssen Sie Postman herunterladen und installieren. Postman ist ein hervorragendes Tool, um API-Anfragen auszuprobieren und Ihren Ablauf abzustimmen, bevor Sie mit dem Programmieren beginnen.

Importieren Sie unsere Postman-Sammlung, indem Sie diesen Link kopieren. So erhalten Sie alle unsere Endpunkte und Parameter.
Sammlung in Postman importieren
Die Authentifizierung erfolgt per API-Schlüssel über den Anfrage-Header "apiKey".
So fügen Sie den API-Schlüssel in Postman hinzu
Den API-Schlüssel können Sie hier erzeugen: Portal Einstellungen API

Referenz

Gruppen abrufen

Gibt Informationen zu den Gruppenobjekten zurück. Liefert alle Gruppen.

Beispielabfrage

GET https://timeclock.kiwi/api/groups

Beispielantwort

[
    {
        "id": "d2358de1-3631-428a-a314-f1bdb8ab53a2",
        "name": "Auckland",
        "deleted": false,
        "last_updated": "2024-06-06T21:19:17.622Z",
        "created": "2024-06-06T21:19:17.622Z"
    },
    {
        "id": "369b6e85-b90f-4262-9fab-08da623fe3bd",
        "name": "Christchurch",
        "deleted": false,
        "last_updated": "2024-08-12T20:00:36.701Z",
        "created": "2024-08-12T20:00:36.701Z"
    }
]

Aufträge abrufen

Gibt Informationen zu den Auftragsobjekten zurück. Liefert standardmäßig alle Aufträge.

Parameters

PropertyDescriptionTypeRequirementDefault
idMit einer ID wird genau dieser Auftrag zurückgegeben. Ohne diesen Wert werden alle Aufträge zurückgegeben.UUIDOptional
completedGibt nur Aufträge zurück, deren Feld completed dem Wert entspricht.BooleanOptionalfalse
deletedGibt nur Aufträge zurück, deren Feld deleted dem Wert entspricht.BooleanOptionalfalse

Example Query

GET https://timeclock.kiwi/api/jobs?id=01d2aa95-1866-4718-8d86-08aa5182f20d&completed=true&deleted=true

Beispielantwort

[
    {
        "id": "055fdff9-c264-4c5d-a98e-e98bab581d1a",
        "name": "63 Handover Rd",
        "description": "",
        "cost_code": null,
        "due_date": null,
        "completed": false,
        "permanent": false,
        "deleted": false,
        "budget_hours": 120,
        "priority": false,
        "last_updated": "2024-11-01T02:22:56.973Z",
        "created": "2024-11-01T02:22:56.973Z",
        "groups": [
            {
                "id": "f8a97df7-85b9-4331-a284-9463c68810b8",
                "name": "Mosgiel"
            }
        ],
        "people": null
    },
]

Auftrag hinzufügen

Fügt ein Auftragsobjekt hinzu.

Body

PropertyDescriptionTypeRequirementDefault
nameDer Name des Auftrags.StringRequired
descriptionDie Beschreibung des Auftrags.StringOptional
permanentKann dieser Auftrag als abgeschlossen markiert werden?BooleanOptionalfalse
due_dateDas Datum, bis zu dem der Auftrag abgeschlossen sein muss.StringErforderlich, wenn permanent == false
cost_codeDie Kostenstelle des Auftrags.StringOptional
completedWurde dieser Auftrag abgeschlossen?BooleanOptionalfalse
deletedWurde dieser Auftrag gelöscht?BooleanOptionalfalse
budget_hoursDie für den Auftrag budgetierten (angebotenen) Arbeitsstunden. null für kein Budget.NumberOptionalnull
priorityIst dies ein Prioritätsauftrag? Prioritätsaufträge erscheinen am Kiosk zuerst.BooleanOptionalfalse

Example Query

POST https://timeclock.kiwi/api/jobs
{
    "name": "99 Bamford St",
    "description": "Renovating kitchen in 6 apartments",
    "permanent": false,
    "due_date": "2024-11-30 09:00",
    "cost_code": "123456",
    "budget_hours": 120,
    "priority": false,
    "completed": false,
    "deleted": false
}

Beispielantwort

{
    "name": "99 Bamford St",
    "description": "Renovating kitchen in 6 apartments",
    "permanent": false,
    "due_date": "2024-11-30 09:00",
    "cost_code": "123456",
    "budget_hours": 120,
    "priority": false,
    "completed": false,
    "deleted": false,
    "id": "b6dac400-5097-4763-8021-137222cb1ad4"
}

Aufträge löschen

Löscht die aufgeführten Auftragsobjekte.

Body

EigenschaftBeschreibungTypPflichtStandard
UUIDEine Liste der UUIDs aller zu löschenden Aufträge.UUIDPflicht

Example Query

DELETE https://timeclock.kiwi/api/jobs
["01d2aa95-1866-4718-8d86-08aa5182f20d", "13074d81-2483-46ea-8bce-b8d761c2580e"]

Beispielantwort

{
    "status": 200
}

Auftrag aktualisieren

Aktualisiert ein Auftragsobjekt.

Body

EigenschaftBeschreibungTypPflichtStandard
idDie UUID des Auftrags, den Sie ändern möchten.UUIDPflicht
nameDer Name des Auftrags.StringPflicht
descriptionDie Beschreibung des Auftrags.StringOptional
permanentKann dieser Auftrag als abgeschlossen markiert werden?BooleanOptionalfalse
due_dateDas Datum, bis zu dem der Auftrag abgeschlossen sein soll.StringPflicht, wenn permanent == false
cost_codeDie Kostenstelle des Auftrags.StringOptional
completedWurde dieser Auftrag abgeschlossen?BooleanOptionalfalse
deletedWurde dieser Auftrag gelöscht?BooleanOptionalfalse
budget_hoursDie für den Auftrag budgetierten (angebotenen) Arbeitsstunden. null für kein Budget.NumberOptionalnull
priorityIst dies ein Prioritätsauftrag? Prioritätsaufträge erscheinen am Kiosk zuerst.BooleanOptionalfalse
groupsDie UUIDs aller Gruppen, zu denen dieser Auftrag gehört.UUIDOptional
peopleDie UUIDs aller Personen, für die dieser Auftrag sichtbar ist.UUIDOptional
materialsEine Liste aller Materialien, die bei diesem Auftrag verwendet wurden. Materialien müssen von einer Person verwendet worden sein.UUIDOptional
notesFügt dem Auftrag eine neue Notiz hinzu.UUIDOptional

Example Query

PUT https://timeclock.kiwi/api/jobs
{
    "id": "dfb37a1e-692e-44d5-bedf-309b44b9e136",
    "name": "99 Bamford St",
    "description": "Renovating kitchen in 6 apartments",
    "permanent": true,
    "due_date": "2024-11-30 09:00",
    "cost_code": "123456",
    "completed": true,
    "deleted": true,
    "groups": ["d2358de1-3631-428a-a314-f1bdb8ab53a2","d2358de1-3631-428a-a314-f1bdb8ab53a3"],
    "people": ["d2358de1-3631-428a-a314-f1bdb8ab53a2","d2358de1-3631-428a-a314-f1bdb8ab53a3"],
    "materials": [{ "id": "03b133a9-4546-4e73-89c8-119fb5042fdb", "person_id": "017a1008-de92-4df2-a533-4e17b643123e", "quantity": 5}],
    "notes": [{ "person_id": "017a1008-de92-4df2-a533-4e17b643123e", "note": "Concrete has cat paw prints on it."}]
}

Beispielantwort

{
    "status": 200
}

Terminals abrufen

Gibt Informationen zu den Terminalobjekten zurück. Liefert alle Terminals.

Beispielabfrage

GET https://timeclock.kiwi/api/kiosks

Beispielantwort

[
    {
        "id": "353e1f09-9851-42c8-9b2c-e536ce2cd3bb",
        "name": "Back Stairs",
        "deleted": false,
        "status": "Offline",
        "last_updated": "2024-06-10T00:09:43.169Z",
        "created": "2024-06-10T00:09:43.169Z"
    },
    {
        "id": "7276d2e1-0fe2-4b64-8d89-1e9b65f4a969",
        "name": "Factory Front",
        "deleted": false,
        "status": "Offline",
        "last_updated": "2024-06-10T02:22:51.027Z",
        "created": "2024-06-10T02:22:51.027Z"
    }
]

Materialien abrufen

Gibt Informationen zu den Materialobjekten zurück. Liefert alle Materialien.

Beispielabfrage

GET https://timeclock.kiwi/api/materials

Beispielantwort

[
    {
        "id": "03b133a9-4546-4e73-89c8-119fb5042fdb",
        "name": "M2 Screw",
        "cost_code": "0001",
        "unit": "none",
        "description": "2mm thick screw",
        "last_updated": "2024-08-19T21:42:33.021Z",
        "created": "2024-08-19T21:42:33.021Z"
    },
    {
        "id": "c127106f-0570-485c-9466-dcf543d9ffbd",
        "name": "MDF18",
        "cost_code": "ABC123",
        "unit": "m²",
        "description": "18mm MDF",
        "last_updated": "2024-08-05T03:08:12.870Z",
        "created": "2024-08-05T03:08:12.870Z"
    }
]

Personen abrufen

Gibt Informationen zu den Personenobjekten zurück. Liefert alle Personen.

Beispielabfrage

GET https://timeclock.kiwi/api/people

Beispielantwort

[
    {
        "id": "b6cc9e4b-cccb-4206-92a0-a387ff121c69",
        "first_name": "Aspen",
        "last_name": "Brewster",
        "email": "[email protected]",
        "pin_enabled": false,
        "pin": null,
        "permission": 3,
        "last_updated": "2024-09-09T02:44:06.604Z",
        "created": "2024-09-09T02:44:06.604Z"
    },
    {
        "id": "2d68300b-f34e-45f9-a1a5-fdf0daa59729",
        "first_name": "Bryne",
        "last_name": "Lynton",
        "email": null,
        "pin_enabled": false,
        "pin": null,
        "permission": 3,
        "last_updated": "2024-09-09T02:44:06.604Z",
        "created": "2024-09-09T02:44:06.604Z"
    }
]

Schichten abrufen

Gibt Informationen zu den Schichtobjekten zurück.

Parameter

EigenschaftBeschreibungTypPflichtStandard
start-dateErster Tag der zurückzugebenden Schichten (einschließlich).ISO-8601-Datum (YYYY-MM-DD)Pflicht
end-dateLetzter Tag der zurückzugebenden Schichten (einschließlich).ISO-8601-Datum (YYYY-MM-DD)Pflicht
group-idGibt nur Schichten von Personen zurück, die zu dieser Gruppe gehören.UUIDOptional
person-idGibt nur Schichten dieser Person zurück.UUIDOptional

Example Query

GET https://timeclock.kiwi/api/shifts?start-date=2026-02-20&end-date=2026-02-27&group-id=752d68b5-5d57-4727-8c1c-85383b76fecf&person-id=a8b3e429-d307-4cd1-bde4-1c2510b6b8ef

Beispielantwort

[
  {
    "person_id": "a8b3e429-d307-4cg1-bde4-1c2510b8b8ef",
    "first_name": "Ada",
    "last_name": "Nicodemou",
    "days": [
      {
        "date": "2026-02-20",
        "total_hours": 6.82,
        "hours_worked": 6.57,
        "break_hours": 0.25
      },
      {
        "date": "2026-02-21",
        "total_hours": 6.98,
        "hours_worked": 6.73,
        "break_hours": 0.25
      },
      {
        "date": "2026-02-22",
        "total_hours": 7.02,
        "hours_worked": 6.77,
        "break_hours": 0.25
      }
    ]
  },
  {
    "person_id": "b1d8859f-84cc-49c0-ba94-175c8a1e16c4",
    "first_name": "Fred",
    "last_name": "Flinstone",
    "days": [
      {
        "date": "2026-02-20",
        "total_hours": 8.12,
        "hours_worked": 7.95,
        "break_hours": 0.17
      },
      {
        "date": "2026-02-21",
        "total_hours": 8.13,
        "hours_worked": 7.88,
        "break_hours": 0.25
      },
      {
        "date": "2026-02-22",
        "total_hours": 1.97,
        "hours_worked": 1.72,
        "break_hours": 0.25
      }
    ]
  }
]

Wir helfen Ihnen jederzeit gern.
Melden Sie sich bei uns und wir tun unser Bestes, damit unser Zeiterfassungssystem zu Ihnen passt.