Zum Hauptinhalt springen
PATCH
/
assistant
/
v1
/
update
curl --request PATCH \
  --url https://api.langdock.com/assistant/v1/update \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "assistantId": "550e8400-e29b-41d4-a716-446655440000",
  "name": "Advanced Document Analyzer",
  "description": "Analyzes documents with enhanced capabilities",
  "creativity": 0.7
}
'
{
  "status": "success",
  "message": "Assistant updated successfully",
  "assistant": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "<string>",
    "emojiIcon": "<string>",
    "model": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "temperature": 0.5,
    "inputType": "PROMPT",
    "webSearchEnabled": true,
    "imageGenerationEnabled": true,
    "codeInterpreterEnabled": true,
    "canvasEnabled": true,
    "createdAt": "2023-11-07T05:31:56Z",
    "updatedAt": "2023-11-07T05:31:56Z",
    "description": "<string>",
    "instruction": "<string>",
    "conversationStarters": [
      "<string>"
    ],
    "actions": [
      {
        "actionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "requiresConfirmation": true
      }
    ],
    "inputFields": [
      {
        "slug": "<string>",
        "type": "TEXT",
        "label": "<string>",
        "required": true,
        "order": 1,
        "description": "<string>",
        "options": [
          "<string>"
        ],
        "fileTypes": [
          "<string>"
        ]
      }
    ],
    "attachments": [
      "3c90c3cc-0d44-4b50-8888-8dd25736052a"
    ]
  }
}
Die Assistants API wird in einem zukünftigen Release eingestellt.Für neue Projekte empfehlen wir die Agents API. Die Agents API bietet native Vercel AI SDK Kompatibilität und entfernt benutzerdefinierte Transformationen.Siehe den Migrations-Guide für Details zu den Unterschieden.
Aktualisiert einen vorhandenen Assistenten in deinem Workspace. Nur die von dir angegebenen Felder werden aktualisiert, was partielle Updates ermöglicht, ohne andere Konfigurationen zu beeinflussen.
Erfordert einen API-Schlüssel mit dem AGENT_API Scope und Zugriff auf den Assistenten, den du aktualisieren möchtest.

Aktualisierungsverhalten

Der Update-Endpunkt verwendet partielle Update-Semantik mit spezifischem Verhalten für verschiedene Feldtypen:
  • Partielle Updates - Nur in der Anfrage enthaltene Felder werden aktualisiert; ausgelassene Felder bleiben unverändert
  • Array-Felder ersetzen - actions, inputFields, conversationStarters und attachments ersetzen bei Angabe vollständig die vorhandenen Werte
  • Leere Arrays - Sende [] um alle Actions/Felder/Anhänge zu entfernen
  • Null-Behandlung - Sende null für emoji um es zu löschen. Für description und instruction sende einen leeren String "" zum Löschen
  • Unveränderte Felder - Felder, die nicht in der Anfrage enthalten sind, behalten ihre aktuellen Werte

Anfrageparameter

Alle Felder sind optional außer assistantId:
ParameterTypErforderlichBeschreibung
assistantIdstringJaUUID des zu aktualisierenden Assistenten
namestringNeinAktualisierter Name (1-80 Zeichen)
descriptionstringNeinAktualisierte Beschreibung (max. 500 Zeichen, "" zum Löschen)
emojistringNeinAktualisiertes Emoji-Icon (null zum Löschen)
instructionstringNeinAktualisierte Systemanweisung (max. 40000 Zeichen, "" zum Löschen)
modelstringNeinAktualisierte Modell-UUID
creativitynumberNeinAktualisierte Temperatur zwischen 0-1
conversationStartersstring[]NeinAktualisiertes Array von vorgeschlagenen Prompts (ersetzt vorhandene)
actionsarrayNeinAktualisiertes Array von Actions (ersetzt vorhandene)
inputFieldsarrayNeinAktualisiertes Array von Formularfeldern (ersetzt vorhandene)
attachmentsstring[]NeinAktualisiertes Array von Anhang-UUIDs (ersetzt vorhandene)
webSearchbooleanNeinAktualisierte Websuche-Einstellung
imageGenerationbooleanNeinAktualisierte Bildgenerierungs-Einstellung
dataAnalystbooleanNeinAktualisierte Code-Interpreter-Einstellung
canvasbooleanNeinAktualisierte Canvas-Einstellung
Array-Felder (actions, inputFields, conversationStarters, attachments) werden vollständig ersetzt, nicht zusammengeführt. Gib immer das vollständige gewünschte Array an, einschließlich aller vorhandenen Elemente, die du behalten möchtest.

Actions-Konfiguration

Jede Action im actions Array sollte enthalten:
  • actionId (erforderlich) - UUID der Action aus einer aktivierten Integration
  • requiresConfirmation (optional) - Ob vor der Ausführung eine Benutzerbestätigung erforderlich ist

Eingabefelder-Konfiguration

Für die inputFields Array-Struktur, siehe die Assistant Create API Dokumentation.

Beispiele

Grundlegende Eigenschaften aktualisieren

const axios = require("axios");

async function updateAssistantName() {
  const response = await axios.patch(
    "https://api.langdock.com/assistant/v1/update",
    {
      assistantId: "550e8400-e29b-41d4-a716-446655440000",
      name: "Erweiterter Dokumentenanalyst",
      description: "Analysiert Dokumente mit erweiterten Fähigkeiten",
      creativity: 0.7
    },
    {
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
        "Content-Type": "application/json"
      }
    }
  );

  console.log("Assistent aktualisiert:", response.data.message);
}

Validierungsregeln

Die API wendet mehrere Validierungsregeln an:
  • Assistenten-Zugriff - Dein API-Schlüssel muss Zugriff auf den Assistenten haben
  • Workspace-Übereinstimmung - Der Assistent muss zum selben Workspace wie dein API-Schlüssel gehören
  • Modell - Falls angegeben, muss es in der Liste der aktiven Modelle deines Workspaces sein
  • Actions - Falls angegeben, müssen sie zu in deinem Workspace aktivierten Integrationen gehören
  • Anhänge - Falls angegeben, müssen sie in deinem Workspace existieren und nicht gelöscht sein
  • Name - Falls angegeben, muss zwischen 1-80 Zeichen sein
  • Beschreibung - Falls angegeben, maximal 500 Zeichen
  • Instruktion - Falls angegeben, maximal 40000 Zeichen
  • Creativity - Falls angegeben, muss zwischen 0 und 1 liegen

Antwortformat

Erfolgreiche Antwort (200 OK)

{
  status: "success";
  message: "Assistant updated successfully";
  assistant: {
    id: string;
    name: string;
    description: string;
    instruction: string;
    emojiIcon: string;
    model: string;
    temperature: number;
    conversationStarters: string[];
    inputType: "PROMPT" | "STRUCTURED";
    webSearchEnabled: boolean;
    imageGenerationEnabled: boolean;
    codeInterpreterEnabled: boolean;
    canvasEnabled: boolean;
    actions: Array<{
      actionId: string;
      requiresConfirmation: boolean;
    }>;
    inputFields: Array<{
      slug: string;
      type: string;
      label: string;
      description: string;
      required: boolean;
      order: number;
      options: string[];
      fileTypes: string[] | null;
    }>;
    attachments: string[];
    createdAt: string;
    updatedAt: string;
  };
}

Fehlerbehandlung

try {
  const response = await axios.patch('https://api.langdock.com/assistant/v1/update', ...);
} catch (error) {
  if (error.response) {
    switch (error.response.status) {
      case 400:
        console.error('Ungültige Parameter:', error.response.data.message);
        break;
      case 401:
        console.error('Ungültiger oder fehlender API-Schlüssel');
        break;
      case 403:
        console.error('Unzureichende Berechtigungen - kein Zugriff auf diesen Assistenten');
        break;
      case 404:
        console.error('Assistent nicht gefunden oder Ressource nicht gefunden (Modell, Action, Anhang)');
        break;
      case 500:
        console.error('Server-Fehler');
        break;
    }
  }
}

Best Practices

Vorhandene Werte beibehalten: Wenn du Array-Felder wie actions oder attachments aktualisierst, füge immer vorhandene Elemente ein, die du behalten möchtest, da das gesamte Array ersetzt wird.
  1. Vor dem Update abrufen - Wenn du vorhandene Array-Werte beibehalten musst, rufe zuerst die aktuelle Assistenten-Konfiguration ab
  2. Inkrementelle Updates - Aktualisiere nur die Felder, die geändert werden müssen
  3. Anhänge validieren - Stelle sicher, dass Anhang-UUIDs gültig sind, bevor du sie einfügst
  4. Actions testen - Überprüfe, dass Actions zu aktivierten Integrationen gehören, bevor du aktualisierst
  5. Fehler elegant behandeln - Implementiere eine ordnungsgemäße Fehlerbehandlung für Validierungsfehler

Migration zur Agents API

Die neue Agents API bietet verbesserte Kompatibilität mit modernen AI SDKs. Der Update-Endpunkt hat ähnliche Funktionalität mit aktualisierten Parameternamen. Siehe den entsprechenden Endpunkt in der Agents API:
Langdock blockiert bewusst Browser-basierte Anfragen, um deinen API-Schlüssel zu schützen und die Sicherheit deiner Anwendungen zu gewährleisten. Weitere Informationen findest du in unserem Guide zu Best Practices für API-Schlüssel.

Autorisierungen

Authorization
string
header
erforderlich

API key as Bearer token. Format "Bearer YOUR_API_KEY"

Body

application/json
assistantId
string<uuid>
erforderlich

UUID of the agent to update

name
string

Updated name

Required string length: 1 - 255
description
string | null

Updated description (null to clear)

Maximum string length: 256
emoji
string | null

Updated emoji icon (null to clear)

instruction
string | null

Updated system prompt (null to clear)

Maximum string length: 16384
inputType
enum<string>

Updated input type for the agent

Verfügbare Optionen:
PROMPT,
STRUCTURED
model
string<uuid>

Updated model UUID

creativity
number

Updated temperature

Erforderlicher Bereich: 0 <= x <= 1
conversationStarters
string[]

Updated array of suggested prompts (replaces existing)

actions
object[]

Updated array of actions (replaces existing)

inputFields
object[]

Updated array of form fields (replaces existing)

attachments
string<uuid>[]

Updated array of attachment UUIDs (replaces existing)

Updated web search capability setting

imageGeneration
boolean

Updated image generation capability setting

dataAnalyst
boolean

Updated code interpreter capability setting

canvas
boolean

Updated canvas capability setting

Antwort

Agent updated successfully

status
enum<string>
erforderlich
Verfügbare Optionen:
success
message
string
erforderlich
Beispiel:

"Assistant updated successfully"

assistant
object