Zum Hauptinhalt springen

Unterhaltungen

Eine Konversation erstellen​

POST/api/v1/workspaces/{workspaceId}/conversations

Erstellen Sie eine neue Chat-Konversation im Arbeitsbereich. Die Konversations-ID wird serverseitig generiert und in der Antwort zurĂŒckgegeben — verwenden Sie sie als {'{'}conversationId{'}'} auf nachfolgenden Endpunkten. Der optionale Body konfiguriert die initiale Steuerung der Konversation (Persönlichkeit, Brand Voice, Zielgruppe, LLM).

Pfadparameter​

ParameterTypErforderlichBeschreibung
workspaceIdstringJaDer Arbeitsbereich, auf den sich die Anfrage bezieht. Muss dem Workspace-Anspruch im Gateway-Token entsprechen.

Anfrage-Body​

FeldTypErforderlichBeschreibung
personalitystringNeinFreiformige Persönlichkeitsbeschreibung, die in den System-Prompt fĂŒr diese Konversation eingewoben wird. Falls sowohl personality als auch eine Brand-Voice-Auflösung von brandVoiceId vorhanden sind, gewinnt die explizite personality Zeichenfolge.
personalityIdintegerNeinKennung einer gespeicherten Persönlichkeits-Voreinstellung, die dieser Konversation zugeordnet ist. Nur fĂŒr RĂŒckreferenz gespeichert — die eigentliche Persönlichkeitstexte, die zum Zeitpunkt der Generierung verwendet werden, stammt immer noch von personality.
brandVoiceIdstringNeinKennung der Brand Voice, die Assistenzantworten steuern sollte. Der Service löst die Brand Voice serverseitig aus dieser ID auf.
targetAudienceIdstringNeinKennung der Zielgruppe, die Antworten des Assistenten steuern soll. Der Dienst löst die Zielgruppenbeschreibung serverseitig anhand dieser ID auf.
modelNamestringNeinEine Enumeration.

Antwort​

FeldTypBeschreibung
idstringStabile Kennung der Konversation. Serverseitig bei POST /conversations generiert; erforderlich fĂŒr alle nachfolgenden Operationen auf der Konversation.
createdAtstringZeitpunkt, zu dem die Konversation erstmals erstellt wurde.
modelNamestringLLM, das fĂŒr Assistenzantworten verwendet wird. null fĂ€llt auf den serviceweit gĂŒltigen Standard zurĂŒck. Wird als freie Textzeichenfolge und nicht als Enumeration zurĂŒckgegeben, damit historische Konversationen, die mit Modellen erstellt wurden, die sich nicht mehr im akzeptierten Erstellungssatz befinden (siehe :class:ConversationCreateCmd.modelName), immer noch durch LesevorgĂ€nge durchlaufen.
legacyCustomerIdintegerVerfasser der Konversation, erfasst vom Gateway-Token zum Zeitpunkt der Erstellung. null fĂŒr Konversationen, die vor Existenz dieses Feldes erstellt wurden — der Besitz fĂŒr diese fĂ€llt auf den api_master.ai_writer_projects.author_id Join zurĂŒck.

Beispiel​

curl -X POST "https://app.neuroflash.com/api/v1/workspaces/{workspace_id}/conversations" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"personality": "string",
"personalityId": 0,
"brandVoiceId": "string",
"targetAudienceId": "string",
"modelName": "string"
}'

Antwort:

{
"id": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2026-05-01T09:00:00",
"modelName": "gpt-4",
"legacyCustomerId": 42
}

Nachricht senden und synchrone Antwort erhalten​

POST/api/v1/workspaces/{workspaceId}/conversations/{conversationId}/messages

FĂŒgen Sie eine Benutzernachricht zur Unterhaltung hinzu und geben Sie die Antwort des Assistenten zurĂŒck, sobald die Generierung abgeschlossen ist. Das Wiederholen derselben Nachricht id ist idempotent: Die zuvor generierte Antwort wird zurĂŒckgegeben, ohne einen neuen LLM-Aufruf durchzufĂŒhren.

FĂŒr Streaming-Antworten verwenden Sie stattdessen POST .../message-streams.

Pfadparameter​

ParameterTypErforderlichBeschreibung
conversationIdstringJaKennung der Unterhaltung, zu der die Nachricht hinzugefĂŒgt wird.
workspaceIdstringJaDer Arbeitsbereich, auf den sich die Anfrage bezieht. Muss dem Workspace-Anspruch im Gateway-Token entsprechen.

Anfrage-Body​

FeldTypErforderlichBeschreibung
idstringJaVon Clients bereitgestellte ID fĂŒr die Benutzernachricht. Idempotent: Das Wiederholen derselben ID gibt die zuvor generierte Assistenten-Antwort zurĂŒck, ohne das LLM erneut auszufĂŒhren.
textstringJaDer Text der Benutzernachricht.
createdAtstringJaClient-seitiger Zeitstempel, wann der Benutzer die Nachricht gesendet hat.
additionalContextarray<object>NeinZusĂ€tzliche Kontextausschnitte, die fĂŒr diese Runde in den Prompt eingefĂŒgt werden (z. B. Produktfakten, ReferenzauszĂŒge). Jeder Eintrag hat content und optionales source.
idintegerJa
contentstringJa
category_namestringNein
contextSizeintegerNeinMaximale Anzahl von Input-Token der Unterhaltungshistorie, die an das LLM zugefĂŒhrt werden. Ältere Nachrichten werden gekĂŒrzt, um zu passen. Standard ist 16000.

Antwort​

FeldTypBeschreibung
idstringStabile Kennung der Nachricht.
textstringDer Nachrichtentext.
sourcestringEine Enumeration.
createdAtstringZeitpunkt, zu dem die Nachricht gespeichert wurde.

Beispiel​

curl -X POST "https://app.neuroflash.com/api/v1/workspaces/{workspace_id}/conversations/{conversation_id}/messages" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": "string",
"text": "string",
"createdAt": "string",
"additionalContext": [],
"contextSize": 16000
}'

Antwort:

{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"text": "What's a catchy headline for a sustainable shoe brand?",
"source": "user",
"createdAt": "2026-05-01T09:01:30"
}

Streaming-Antwort fĂŒr eine Unterhaltungsrunde öffnen​

POST/api/v1/workspaces/{workspaceId}/conversations/{conversationId}/message-streams

FĂŒgen Sie eine Benutzernachricht hinzu und streamen Sie die Assistenten-Antwort als Server-Sent Events (Content-Type: text/event-stream). Jedes Event enthĂ€lt entweder ein partielles delta, die endgĂŒltige message-Nutzlast oder einen error.

Es darf sich jeweils nur ein aktiver Stream pro Unterhaltung befinden — ein zweiter Aufruf gibt 409 conversationLocked zurĂŒck, bis der aktive Stream beendet wird oder ĂŒber DELETE .../message-streams abgebrochen wird. Streams werden nicht persistiert: Es gibt kein GET, um sie abzurufen.

Pfadparameter​

ParameterTypErforderlichBeschreibung
conversationIdstringJaKennung der Unterhaltung, in der eine Antwort gestreamt werden soll.
workspaceIdstringJaDer Arbeitsbereich, auf den sich die Anfrage bezieht. Muss dem Workspace-Anspruch im Gateway-Token entsprechen.

Anfrage-Body​

FeldTypErforderlichBeschreibung
idstringJaVon der Nachricht des Benutzers bereitgestellte ID, die den Stream startet. Idempotent: Das Wiederholen derselben ID gibt die vorhandene Assistenzantwort zurĂŒck, ohne die LLM erneut auszufĂŒhren (seien Sie also vorsichtig bei Wiederholungen – diese triggern KEINE neue Generierung).
textstringJaDer Text der Benutzernachricht.
createdAtstringJaClient-seitiger Zeitstempel, wann der Benutzer die Nachricht gesendet hat.
additionalContextarray<object>NeinZusĂ€tzliche Kontextausschnitte, die fĂŒr diese Runde in den Prompt eingefĂŒgt werden (z. B. Produktfakten, ReferenzauszĂŒge). Jeder Eintrag hat content und optionales source.
idintegerJa
contentstringJa
category_namestringNein
contextSizeintegerNeinMaximale Anzahl von Input-Token der Unterhaltungshistorie, die an das LLM zugefĂŒhrt werden. Ältere Nachrichten werden gekĂŒrzt, um zu passen. Standard ist 16000.

Beispiel​

curl -X POST "https://app.neuroflash.com/api/v1/workspaces/{workspace_id}/conversations/{conversation_id}/message-streams" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"id": "string",
"text": "string",
"createdAt": "string",
"additionalContext": [],
"contextSize": 16000
}'

Antwort:

{}

Konversationen im Arbeitsbereich auflisten​

GET/api/v1/workspaces/{workspaceId}/conversations

Geben Sie die Konversationen im Arbeitsbereich zurĂŒck, die der aktuelle Aufrufer verfasst hat, neueste zuerst, im Standard-Paginierungs-Envelope.

Pfadparameter​

ParameterTypErforderlichBeschreibung
workspaceIdstringJaDer Arbeitsbereich, auf den sich die Anfrage bezieht. Muss dem Workspace-Anspruch im Gateway-Token entsprechen.

Abfrageparameter​

ParameterTypStandardBeschreibung
pageinteger1Page number to retrieve. The first page is 1 (not 0).
sizeinteger20Number of elements per page. Maximum 100.

Antwort​

FeldTypBeschreibung
pageobject
sizeintegerRequested page size. Echoed back even when data contains fewer elements (e.g. on the last page).
totalElementsintegerTotal number of elements across all pages.
totalPagesintegerTotal number of pages given the requested size.
currentPageintegerPage number returned. The first page is 1 (not 0).
dataarray<object>Elements on the current page. May contain fewer than page.size on the last page.
idstringStabile Kennung der Konversation. Serverseitig bei POST /conversations generiert; erforderlich fĂŒr alle nachfolgenden Operationen auf der Konversation.
createdAtstringZeitpunkt, zu dem die Konversation erstmals erstellt wurde.
modelNamestringLLM, das fĂŒr Assistenzantworten verwendet wird. null fĂ€llt auf den serviceweit gĂŒltigen Standard zurĂŒck. Wird als freie Textzeichenfolge und nicht als Enumeration zurĂŒckgegeben, damit historische Konversationen, die mit Modellen erstellt wurden, die sich nicht mehr im akzeptierten Erstellungssatz befinden (siehe :class:ConversationCreateCmd.modelName), immer noch durch LesevorgĂ€nge durchlaufen.
legacyCustomerIdintegerVerfasser der Konversation, erfasst vom Gateway-Token zum Zeitpunkt der Erstellung. null fĂŒr Konversationen, die vor Existenz dieses Feldes erstellt wurden — der Besitz fĂŒr diese fĂ€llt auf den api_master.ai_writer_projects.author_id Join zurĂŒck.

Beispiel​

curl "https://app.neuroflash.com/api/v1/workspaces/{workspace_id}/conversations" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Antwort:

{
"page": {
"size": 20,
"totalElements": 137,
"totalPages": 7,
"currentPage": 1
},
"data": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"createdAt": "2026-05-01T09:00:00",
"modelName": "gpt-4",
"legacyCustomerId": 42
}
]
}

Nachrichten in einer Unterhaltung auflisten​

GET/api/v1/workspaces/{workspaceId}/conversations/{conversationId}/messages

Geben Sie die Nachrichten der Unterhaltung in chronologischer Reihenfolge (Ă€lteste zuerst) in der Standard-Pagination-HĂŒlle zurĂŒck. Offset / Limit werden aus den Abfrageparametern page und size abgeleitet.

Pfadparameter​

ParameterTypErforderlichBeschreibung
conversationIdstringJaKennung der Unterhaltung.
workspaceIdstringJaDer Arbeitsbereich, auf den sich die Anfrage bezieht. Muss dem Workspace-Anspruch im Gateway-Token entsprechen.

Abfrageparameter​

ParameterTypStandardBeschreibung
pageinteger1Page number to retrieve. The first page is 1 (not 0).
sizeinteger20Number of elements per page. Maximum 100.

Antwort​

FeldTypBeschreibung
pageobject
sizeintegerRequested page size. Echoed back even when data contains fewer elements (e.g. on the last page).
totalElementsintegerTotal number of elements across all pages.
totalPagesintegerTotal number of pages given the requested size.
currentPageintegerPage number returned. The first page is 1 (not 0).
dataarray<object>Elements on the current page. May contain fewer than page.size on the last page.
idstringStabile Kennung der Nachricht.
textstringDer Nachrichtentext.
sourcestringEine Enumeration.
createdAtstringZeitpunkt, zu dem die Nachricht gespeichert wurde.

Beispiel​

curl "https://app.neuroflash.com/api/v1/workspaces/{workspace_id}/conversations/{conversation_id}/messages" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Antwort:

{
"page": {
"size": 20,
"totalElements": 137,
"totalPages": 7,
"currentPage": 1
},
"data": [
{
"id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"text": "What's a catchy headline for a sustainable shoe brand?",
"source": "user",
"createdAt": "2026-05-01T09:01:30"
}
]
}

Unterhaltung aktualisieren​

PATCH/api/v1/workspaces/{workspaceId}/conversations/{conversationId}

Patchet die Steuerkonfiguration einer Unterhaltung. Ausgelassene Felder bleiben unverÀndert; das Senden eines expliziten null löscht ein Feld. Der Body muss mindestens eines der folgenden Felder enthalten: personality, brandVoiceId oder targetAudienceId.

Pfadparameter​

ParameterTypErforderlichBeschreibung
conversationIdstringJaKennung der zu aktualisierenden Unterhaltung.
workspaceIdstringJaDer Arbeitsbereich, auf den sich die Anfrage bezieht. Muss dem Workspace-Anspruch im Gateway-Token entsprechen.

Anfrage-Body​

FeldTypErforderlichBeschreibung
personalityobjectNeinErsetzen Sie die Persönlichkeit der Unterhaltung durch diese Zeichenkette. Senden Sie null, um sie zu löschen. Lassen Sie das Feld aus, um es unverÀndert zu lassen.
personalityIdintegerNeinKennung einer gespeicherten Persönlichkeitsvorgabe, die der Unterhaltung zugeordnet ist. Wird nur zu Referenzzwecken gespeichert — der tatsĂ€chliche Persönlichkeitstext zur Generierungszeit stammt aus personality.
brandVoiceIdobjectNeinErsetzen Sie die Brand-Voice-Steuerung der Unterhaltung durch die Brand Voice mit dieser ID. Der Dienst löst die Brand-Voice-Nutzlast serverseitig auf. Senden Sie null, um sie zu löschen; lassen Sie das Feld aus, um es unverÀndert zu lassen.
targetAudienceIdobjectNeinErsetzen Sie die Zielgruppen-Steuerung der Unterhaltung durch die Zielgruppe mit dieser ID. Der Dienst löst die Zielgruppenbeschreibung serverseitig auf. Senden Sie null, um sie zu löschen; lassen Sie das Feld aus, um es unverÀndert zu lassen.

Beispiel​

curl -X PATCH "https://app.neuroflash.com/api/v1/workspaces/{workspace_id}/conversations/{conversation_id}" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"personality": {},
"personalityId": 0,
"brandVoiceId": {},
"targetAudienceId": {}
}'

Antwort:

{}

Aktive Streaming-Antwort abbrechen​

DELETE/api/v1/workspaces/{workspaceId}/conversations/{conversationId}/message-streams

Signal an den Service, um den aktiven SSE-Stream fĂŒr die angegebene Konversation zu stoppen. Der SSE-Kanal des Streams wird sich kurz darauf schließen (bereits erzeugte Teilausgabe bleibt erhalten). Dies aufzurufen, wenn kein Stream aktiv ist, ist ein No-Op und gibt trotzdem 200 zurĂŒck.

Pfadparameter​

ParameterTypErforderlichBeschreibung
conversationIdstringJaKennung der Konversation, deren Stream abgebrochen werden soll.
workspaceIdstringJaDer Arbeitsbereich, auf den sich die Anfrage bezieht. Muss dem Workspace-Anspruch im Gateway-Token entsprechen.

Beispiel​

curl -X DELETE "https://app.neuroflash.com/api/v1/workspaces/{workspace_id}/conversations/{conversation_id}/message-streams" \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"

Antwort:

{}