Twins
Basis-URL: https://app.neuroflash.com/api/digital-twin-service
Rufen Sie einzelne digitale Zwillings-Personas aus statischen Gruppen ab.
Statische Gruppen-Twins auflisten
GET
/v1/workspaces/{workspace_id}/static-groups/{group_key}/twinsPfadparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
workspace_id | string | Ja | |
group_key | string | Ja |
Abfrageparameter
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
page | integer | 1 | Seitennummer (1-basiert) |
size | integer | 20 | Anzahl der Elemente pro Seite |
order | string | — | Sortierreihenfolge nach Name |
twinIds | string | — | Kommagetrennte Twin-IDs zum Filtern |
language | string | — | Nach Sprache filtern |
Antwort
FeldTypBeschreibung
dataarray<object>Liste der Twins für diese Seite
idstringEindeutige KennungcreatedAtstringZeitstempel der DatensatzerstellungupdatedAtstringZeitstempel der letzten Aktualisierung des DatensatzescreatedByUserIdobjectID des Benutzers, der diesen Datensatz erstellt hattargetAudienceIdobjectZielgruppen-ID (entweder diese oder staticGroupKey muss festgelegt sein)staticGroupKeyobjectSchlüssel der zugehörigen statischen Gruppe (entweder diese oder targetAudienceId muss festgelegt sein)subjectIdstringID des Subjekts, auf dem dieser Digital Twin basiertnamestringVollständiger Name des Digital TwinlanguagestringSprachcode: 'en' oder 'de'titleobjectBeschreibender Titel für den Digital TwinageobjectAlter des Digital TwingenderobjectGeschlecht des Digital TwinlocationobjectStandort des Digital TwinjobTitleobjectBerufsbezeichnung des Digital TwinselfDescriptionobjectSelbstbeschreibung des Digital Twin aus Umfrageantworten_linksobjectHATEOAS-Links (z. B. avatarUrl)pageobjectPaginierungsmetadaten
sizeintegerAnzahl der Elemente pro SeitetotalElementsintegerGesamtanzahl der übereinstimmenden ElementetotalPagesintegerGesamtanzahl der SeitencurrentPageintegerAktuelle Seitennummer (1-basiert)Beispiel
- cURL
- Python
- Node.js
- Go
curl "https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/{workspace_id}/static-groups/{group_key}/twins" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import requests
response = requests.get(
f"https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/{workspace_id}/static-groups/{group_key}/twins",
headers={"Authorization": f"Bearer {token}"},
).json()
const response = await fetch(
`https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/${workspaceId}/static-groups/${groupKey}/twins`,
{ headers: { Authorization: `Bearer ${token}` } }
).then((r) => r.json());
req, _ := http.NewRequest("GET", "https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/"+workspaceID+"/static-groups/"+groupKey+"/twins", nil)
req.Header.Set("Authorization", "Bearer "+token)
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
Antwort:
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z",
"createdByUserId": "12345",
"targetAudienceId": "aud_12345",
"staticGroupKey": "millennials",
"subjectId": "550e8400-e29b-41d4-a716-446655440000",
"name": "Jens Bauer",
"language": "en",
"title": "Tech-Savvy Millennial",
"age": 28,
"gender": "Male",
"location": "Berlin, Germany",
"jobTitle": "Software Engineer",
"selfDescription": "I'm a tech enthusiast who loves innovation and problem-solving.",
"_links": {}
}
],
"page": {
"size": 0,
"totalElements": 0,
"totalPages": 0,
"currentPage": 0
}
}
Mit Twin chatten
POST
/v1/workspaces/{workspace_id}/twins/{twin_id}/chat-completionsPfadparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
workspace_id | string | Ja | |
twin_id | string | Ja |
Anfrage-Body
FeldTypErforderlichBeschreibung
messagesarray<object>JaGesprächsverlauf (mindestens eine Nachricht erforderlich, letzte Nachricht muss vom Benutzer sein)
rolestringJaRolle: 'user' oder 'assistant'contentstringJaNachrichteninhaltattachmentsobjectNeinListe der Datei-IDs zum Anhängen an diese Nachricht (nur Benutzernachrichten)responseFormatobjectNeinStrukturiertes Ausgabeformat mit JSON-Schema. Falls null, verwendet Standardschema mit Feldern 'answer' und 'reason'.temperatureobjectNeinSampling-Temperatur für AnteilgenerierunguseWebSearchobjectNeinWebsuch-Modus: 'never', 'auto' oder 'always'useVerbalizedSamplingobjectNein5 wahrscheinlichkeitsgewichtete Antwortoptionen generieren (tau=0,10). Gegenseitig ausschließlich mit benutzerdefiniertem responseFormat.Beispiel
- cURL
- Python
- Node.js
- Go
curl -X POST "https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/{workspace_id}/twins/{twin_id}/chat-completions" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"messages": [],
"responseFormat": {},
"temperature": {},
"useWebSearch": {},
"useVerbalizedSampling": {}
}'
import requests
response = requests.post(
f"https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/{workspace_id}/twins/{twin_id}/chat-completions",
headers={"Authorization": f"Bearer {token}", "Content-Type": "application/json"},
json={
"messages": [],
"responseFormat": {},
"temperature": {},
"useWebSearch": {},
"useVerbalizedSampling": {}
},
).json()
const response = await fetch(
`https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/${workspaceId}/twins/${twinId}/chat-completions`,
{
method: "POST",
headers: {
Authorization: `Bearer ${token}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"messages": [],
"responseFormat": {},
"temperature": {},
"useWebSearch": {},
"useVerbalizedSampling": {}
}),
}
).then((r) => r.json());
body, _ := json.Marshal(map[string]any{
"messages": []any{},
"responseFormat": map[string]any{},
"temperature": map[string]any{},
"useWebSearch": map[string]any{},
"useVerbalizedSampling": map[string]any{},
})
req, _ := http.NewRequest("POST", "https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/"+workspaceID+"/twins/"+twinID+"/chat-completions", bytes.NewReader(body))
req.Header.Set("Authorization", "Bearer "+token)
req.Header.Set("Content-Type", "application/json")
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
Antwort:
{}
Digital Twins auflisten
GET
/v1/workspaces/{workspace_id}/twinsPfadparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
workspace_id | string | Ja |
Abfrageparameter
| Parameter | Typ | Standard | Beschreibung |
|---|---|---|---|
page | integer | 1 | Seitennummer (1-basiert) |
size | integer | 20 | Anzahl der Elemente pro Seite |
sort | string | — | Sortierfeld: 'name' oder 'createdAt' |
order | string | — | Sortierreihenfolge |
targetAudienceId | string | — | Nach Zielgruppe filtern |
name | string | — | Nach Namenspräfix filtern (Groß-/Kleinschreibung ignoriert) |
Antwort
FeldTypBeschreibung
dataarray<object>Liste der Twins für diese Seite
idstringEindeutige KennungcreatedAtstringZeitstempel der DatensatzerstellungupdatedAtstringZeitstempel der letzten Aktualisierung des DatensatzescreatedByUserIdobjectID des Benutzers, der diesen Datensatz erstellt hattargetAudienceIdobjectZielgruppen-ID (entweder diese oder staticGroupKey muss festgelegt sein)staticGroupKeyobjectSchlüssel der zugehörigen statischen Gruppe (entweder diese oder targetAudienceId muss festgelegt sein)subjectIdstringID des Subjekts, auf dem dieser Digital Twin basiertnamestringVollständiger Name des Digital TwinlanguagestringSprachcode: 'en' oder 'de'titleobjectBeschreibender Titel für den Digital TwinageobjectAlter des Digital TwingenderobjectGeschlecht des Digital TwinlocationobjectStandort des Digital TwinjobTitleobjectBerufsbezeichnung des Digital TwinselfDescriptionobjectSelbstbeschreibung des Digital Twin aus Umfrageantworten_linksobjectHATEOAS-Links (z. B. avatarUrl)pageobjectPaginierungsmetadaten
sizeintegerAnzahl der Elemente pro SeitetotalElementsintegerGesamtanzahl der übereinstimmenden ElementetotalPagesintegerGesamtanzahl der SeitencurrentPageintegerAktuelle Seitennummer (1-basiert)Beispiel
- cURL
- Python
- Node.js
- Go
curl "https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/{workspace_id}/twins" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import requests
response = requests.get(
f"https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/{workspace_id}/twins",
headers={"Authorization": f"Bearer {token}"},
).json()
const response = await fetch(
`https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/${workspaceId}/twins`,
{ headers: { Authorization: `Bearer ${token}` } }
).then((r) => r.json());
req, _ := http.NewRequest("GET", "https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/"+workspaceID+"/twins", nil)
req.Header.Set("Authorization", "Bearer "+token)
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
Antwort:
{
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z",
"createdByUserId": "12345",
"targetAudienceId": "aud_12345",
"staticGroupKey": "millennials",
"subjectId": "550e8400-e29b-41d4-a716-446655440000",
"name": "Jens Bauer",
"language": "en",
"title": "Tech-Savvy Millennial",
"age": 28,
"gender": "Male",
"location": "Berlin, Germany",
"jobTitle": "Software Engineer",
"selfDescription": "I'm a tech enthusiast who loves innovation and problem-solving.",
"_links": {}
}
],
"page": {
"size": 0,
"totalElements": 0,
"totalPages": 0,
"currentPage": 0
}
}
Digital Twin abrufen
GET
/v1/workspaces/{workspace_id}/twins/{twin_id}Pfadparameter
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
workspace_id | string | Ja | |
twin_id | string | Ja |
Antwort
FeldTypBeschreibung
idstringEindeutige KennungcreatedAtstringZeitstempel der DatensatzerstellungupdatedAtstringZeitstempel der letzten Aktualisierung des DatensatzescreatedByUserIdobjectID des Benutzers, der diesen Datensatz erstellt hattargetAudienceIdobjectZielgruppen-ID (entweder diese oder staticGroupKey muss festgelegt sein)staticGroupKeyobjectSchlüssel der zugehörigen statischen Gruppe (entweder diese oder targetAudienceId muss festgelegt sein)subjectIdstringID des Subjekts, auf dem dieser Digital Twin basiertnamestringVollständiger Name des Digital TwinlanguagestringSprachcode: 'en' oder 'de'titleobjectBeschreibender Titel für den Digital TwinageobjectAlter des Digital TwingenderobjectGeschlecht des Digital TwinlocationobjectStandort des Digital TwinjobTitleobjectBerufsbezeichnung des Digital TwinselfDescriptionobjectSelbstbeschreibung des Digital Twin aus Umfrageantworten_linksobjectHATEOAS-Links (z. B. avatarUrl)Beispiel
- cURL
- Python
- Node.js
- Go
curl "https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/{workspace_id}/twins/{twin_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
import requests
response = requests.get(
f"https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/{workspace_id}/twins/{twin_id}",
headers={"Authorization": f"Bearer {token}"},
).json()
const response = await fetch(
`https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/${workspaceId}/twins/${twinId}`,
{ headers: { Authorization: `Bearer ${token}` } }
).then((r) => r.json());
req, _ := http.NewRequest("GET", "https://app.neuroflash.com/api/digital-twin-service/v1/workspaces/"+workspaceID+"/twins/"+twinID+"", nil)
req.Header.Set("Authorization", "Bearer "+token)
resp, _ := http.DefaultClient.Do(req)
defer resp.Body.Close()
Antwort:
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2024-01-15T10:30:00Z",
"updatedAt": "2024-01-15T10:30:00Z",
"createdByUserId": "12345",
"targetAudienceId": "aud_12345",
"staticGroupKey": "millennials",
"subjectId": "550e8400-e29b-41d4-a716-446655440000",
"name": "Jens Bauer",
"language": "en",
"title": "Tech-Savvy Millennial",
"age": 28,
"gender": "Male",
"location": "Berlin, Germany",
"jobTitle": "Software Engineer",
"selfDescription": "I'm a tech enthusiast who loves innovation and problem-solving.",
"_links": {}
}