# API-Referenz

Authentifizierung, Endpunkte und Konventionen der Tracklytic API.

## Basis-URL

`https://api.tracklytic.de/v1`

Requests und Antworten verwenden JSON. Setze für Requests mit JSON-Body `Content-Type: application/json`. Die Beispiele enthalten Platzhalter, keine echten Zugangsdaten.

## Externe Integration

| Methode | Pfad | Zweck |
| --- | --- | --- |
| POST | [/v1/event](/api/create-event) | Event einschließlich optionaler Pipeline erstellen. |
| POST | [`/v1/event/{eventId}/step`](/api/update-step) | Pipeline-Status melden oder Folgeschritte anhängen. |
| POST | [/v1/identify](/api/identify) | Nutzerprofil erstellen oder aktualisieren. |
| POST | [/v1/insight](/api/set-insight) | Kennzahl oder Textwert setzen. |
| PATCH | [/v1/insight/mutate](/api/mutate-insight) | Numerischen Insight-Wert verändern. |

Diese Endpunkte verwenden einen API-Token des zugehörigen Projekts. Die weiteren Referenzseiten kennzeichnen Lese- und Verwaltungsendpunkte mit Benutzer-Access-JWT.

## Konventionen

- `project` und `channel` sind Slugs. Event-IDs kommen aus der API.
- Normale Event-Erstellung, Identify und Insight-Schreibzugriffe liefern `{}` bei Erfolg.
- Eine Pipeline-Erstellung liefert `id`, `status` und `pipeline`. Speichere die ID für Step-Updates.
- Listen liefern `results`, `page`, `limit`, `totalPages` und `totalResults`.
- `204` enthält keinen Antwort-Body und darf nicht als JSON geparst werden.

[Authentifizierung](/docs/getting-started/authentication) · [Fehler](/api/errors) · [Event-Generator](/docs/guides/event-builder)


## Feldnamen

Alle Tracklytic-Feldnamen und Query-Parameter verwenden camelCase, zum Beispiel `logLevel`, `userId` und `actionId`. Verwende `userId` sowohl für Events als auch für Identify und die zugehörigen Filter. Die früheren Namen `user_id` und `action_id` werden in Requests nicht mehr akzeptiert. Frei vergebene Schlüssel in `tags`, `properties` und `details` behalten deine eigene Benennung.