Twins
Basis-URL: https://app.neuroflash.com/api/digital-twin-service
Rufen Sie einzelne digitale Zwilling-Personas aus statischen Gruppen ab.
Statische Gruppen-Digital 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 Digital Twin-IDs zum Filtern |
language | string | — | Nach Sprache filtern |
Antwort
FeldTypBeschreibung
dataarray<object>Liste der Digital 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 gesetzt sein)staticGroupKeyobjectSchlüssel der zugeordneten statischen Gruppe (entweder diese oder targetAudienceId muss gesetzt 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 UmfrageantwortenactivebooleanTrue, wenn der Digital Twin aktiv und nutzbar ist – kann mit ihm gechattet werden, wird für Reaktionen verwendet usw._linksobjectHATEOAS-Links (z. B. avatarUrl)pageobjectPaginierungsmetadaten.
sizeintegerAnzahl der Elemente pro SeitetotalElementsintegerGesamtzahl der übereinstimmenden ElementetotalPagesintegerGesamtzahl 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.",
"active": true,
"_links": {}
}
],
"page": {
"size": 0,
"totalElements": 0,
"totalPages": 0,
"currentPage": 0
}
}
Mit Digital 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 von 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 die AntwortgenerierunguseWebSearchobjectNeinWebsuchemodus: 'never', 'auto' oder 'always'useVerbalizedSamplingobjectNein5 wahrscheinlichkeitsgewichtete Antwortoptionen generieren (tau=0.10). Sich gegenseitig ausschließend 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 Digital 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 gesetzt sein)staticGroupKeyobjectSchlüssel der zugeordneten statischen Gruppe (entweder diese oder targetAudienceId muss gesetzt 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 UmfrageantwortenactivebooleanTrue, wenn der Digital Twin aktiv und nutzbar ist – kann mit ihm gechattet werden, wird für Reaktionen verwendet usw._linksobjectHATEOAS-Links (z. B. avatarUrl)pageobjectPaginierungsmetadaten.
sizeintegerAnzahl der Elemente pro SeitetotalElementsintegerGesamtzahl der übereinstimmenden ElementetotalPagesintegerGesamtzahl 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.",
"active": true,
"_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 gesetzt sein)staticGroupKeyobjectSchlüssel der zugeordneten statischen Gruppe (entweder diese oder targetAudienceId muss gesetzt 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 UmfrageantwortenactivebooleanTrue, wenn der Digital Twin aktiv und nutzbar ist – kann mit ihm gechattet werden, wird für Reaktionen verwendet usw._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.",
"active": true,
"_links": {}
}