Zum Hauptinhalt springen
PATCH
/
agent
/
v1
/
update
Updates an existing agent
curl --request PATCH \
  --url https://api.langdock.com/agent/v1/update \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "agentId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "name": "<string>",
  "instructions": "<string>",
  "description": "<string>",
  "temperature": 0.5,
  "model": "<string>",
  "capabilities": {
    "webSearch": true,
    "dataAnalyst": true,
    "imageGeneration": true
  },
  "actions": [
    "<unknown>"
  ],
  "vectorDb": [
    "<unknown>"
  ],
  "knowledgeFolderIds": [
    "<string>"
  ],
  "attachmentIds": [
    "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 agentId:
ParameterTypErforderlichBeschreibung
agentIdstringJaUUID 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 updateAgentName() {
  const response = await axios.patch(
    "https://api.langdock.com/agent/v1/update",
    {
      agentId: "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: "Agent updated successfully";
  agent: {
    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/agent/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
agentId
string<uuid>
erforderlich
name
string
erforderlich
Maximum string length: 64
instructions
string
erforderlich
Maximum string length: 16384
description
string
Maximum string length: 256
temperature
number
Erforderlicher Bereich: 0 <= x <= 1
model
string
Maximum string length: 64
capabilities
object
actions
any[]
vectorDb
any[]
knowledgeFolderIds
string[]
attachmentIds
string<uuid>[]

Array of UUID strings identifying attachments for this message

Antwort

200

Agent updated successfully