# Nutzerprofil abrufen

Nutzerprofile im Projekt per Benutzerzugriff verwalten.

`GET /v1/identify/profile?project=my-project&userId=customer_123`

**Authentifizierung:** Benutzer-Access-JWT mit Projektzugriff.

## Query-Parameter

`project` ist der Projekt-Slug. `userId` ist erforderlich und identifiziert den Eintrag.

## Antwort

HTTP `200` mit dem Eintrag. Ein API-Token berechtigt nur zu den dokumentierten Schreibzugriffen.


## SDK-Nutzung

Die SDK-Beispiele stehen neben den HTTP-Requests unter **SDKs**. Installation und Einrichtung: [JavaScript / TypeScript](/sdks/javascript), [Next.js](/sdks/nextjs) und [Swift](/sdks/swift). Projekt-Slugs werden vom Client ergänzt.

Diese Operation benötigt einen Benutzer-Access-JWT mit Projektzugriff. Der API-Token allein genügt nicht. Next.js-Beispiele gehören in eine Serverumgebung; Swift-Zugänge stammen aus deiner Laufzeitkonfiguration.

## Request

```bash
curl -X GET 'https://api.tracklytic.de/v1/identify/profile?project=my-project&userId=customer_123' \
  -H "Authorization: Bearer $TRACKLYTIC_ACCESS_TOKEN"
```

```js
const response = await fetch("https://api.tracklytic.de/v1/identify/profile?project=my-project&userId=customer_123", {
  method: "GET",
  headers: {
    Authorization: `Bearer ${process.env.TRACKLYTIC_ACCESS_TOKEN}`
  }
});

if (!response.ok) throw new Error(await response.text());
const result = await response.json();
```

```python
import json
import os
from urllib.request import Request, urlopen

request = Request(
    "https://api.tracklytic.de/v1/identify/profile?project=my-project&userId=customer_123",
    method="GET",
    headers={
        "Authorization": "Bearer " + os.environ["TRACKLYTIC_ACCESS_TOKEN"]
    }
)

with urlopen(request) as response:
    result = json.load(response)
```

## SDKs

### JavaScript / TypeScript

```ts
import Tracklytic from 'tracklytic';

const tracklytic = new Tracklytic({
  token: process.env.TRACKLYTIC_API_TOKEN!,
  project: "my-project",
  accessToken: process.env.TRACKLYTIC_ACCESS_TOKEN!,
});

const profile = await tracklytic.profiles.get("customer_123");
```

### Next.js

```ts
import { TracklyticServer } from 'tracklytic-next/server';

const tracklytic = new TracklyticServer({
  token: process.env.TRACKLYTIC_API_TOKEN!,
  project: "my-project",
  accessToken: process.env.TRACKLYTIC_ACCESS_TOKEN!,
});

const profile = await tracklytic.profiles.get("customer_123");
```

### Swift

```swift
import Foundation
import Tracklytic

let tracklytic = TracklyticClient(
    project: "my-project",
    token: apiToken,
    accessToken: userAccessToken
)

let profile = try await tracklytic.getProfile(userId: "customer_123")
```