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"
    ]
  }
}
Aktualisiert einen vorhandenen Agenten 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 Agenten, 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, description oder instruction um sie zu 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 Agenten
namestringNeinAktualisierter Name (1-255 Zeichen)
descriptionstringNeinAktualisierte Beschreibung (max. 256 Zeichen, null zum Löschen)
emojistringNeinAktualisiertes Emoji-Icon (null zum Löschen)
instructionstringNeinAktualisierte Systemanweisung (max. 16384 Zeichen, null 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 Agent Create API Dokumentation.

Beispiele

Grundlegende Eigenschaften aktualisieren

const axios = require("axios");

async function updateAssistantName() {
  const response = await axios.patch(
    "https://api.langdock.com/api/public/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("Agent aktualisiert:", response.data.message);
}

Validierungsregeln

Die API wendet mehrere Validierungsregeln an:
  • Agent-Zugriff - Dein API-Schlüssel muss Zugriff auf den Agenten haben
  • Workspace-Übereinstimmung - Der Agent 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-255 Zeichen sein
  • Beschreibung - Falls angegeben, maximal 256 Zeichen
  • Instruktion - Falls angegeben, maximal 16384 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/api/public/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 Agenten');
        break;
      case 404:
        console.error('Agent 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 Agent-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
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