> ## Documentation Index
> Fetch the complete documentation index at: https://docs.langdock.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Agent Veröffentlichen API

> Veröffentliche einen Agenten-Entwurf als neue Version

<Info>
  **⚠️ Du nutzt unsere API in einem Dedicated Deployment?** Ersetze einfach `api.langdock.com` durch die Base URL deines Deployments: **`<deployment-url>/api/public`**
</Info>

<Info>
  Dies ist die neue Agents API mit nativer Vercel AI SDK Kompatibilität. Wenn du die veraltete Assistants API verwendest, siehe den [Migrations-Guide](/de/developer/assistants-api/assistant-to-agent-migration).
</Info>

Veröffentlicht den aktuellen Entwurf eines Agenten als neue Version. Dies entspricht dem **Update**-Button im Agenten-Editor: Eine veröffentlichte Version ist ein eingefrorener Snapshot des Entwurfs und wird zur aktiven Version, die Workspace-Mitglieder sehen.

Änderungen über [`/agent/v1/update`](/de/developer/agents-api/agent-update) wirken sich nur auf den Entwurf aus. Bis du `publish` aufrufst, sind diese Änderungen für Workspace-Mitglieder nicht sichtbar.

## Anwendungsfälle

* **Entwurfsänderungen** über die Update-API in eine neue aktive Version überführen
* **Änderungen programmatisch ausrollen** als Teil einer CI/CD-Pipeline
* **Neue Revision veröffentlichen** mit optionaler Änderungsbeschreibung in der Versionshistorie

## Request-Parameter

| Parameter     | Typ    | Erforderlich | Beschreibung                                                           |
| ------------- | ------ | ------------ | ---------------------------------------------------------------------- |
| `agentId`     | string | Ja           | UUID des zu veröffentlichenden Agenten                                 |
| `description` | string | Nein         | Kurze Änderungsbeschreibung in der Versionshistorie (max. 100 Zeichen) |

## Beispiel

```javascript theme={null}
const axios = require("axios");

async function publishAgent(agentId, description) {
  const response = await axios.post(
    "https://api.langdock.com/agent/v1/publish",
    {
      agentId: agentId,
      description: description,
    },
    {
      headers: {
        Authorization: "Bearer YOUR_API_KEY",
        "Content-Type": "application/json",
      },
    },
  );

  console.log("Veröffentlichte Version:", response.data.version);
}

publishAgent(
  "550e8400-e29b-41d4-a716-446655440000",
  "System-Prompt geschärft",
);
```

## Antwort-Format

### Erfolgreiche Antwort (200 OK)

```typescript theme={null}
{
  status: "success";
  message: "Agent published successfully";
  version: {
    id: string;          // UUID der neuen Version
    version: number;     // Monoton steigende Versionsnummer
    createdAt: string;   // ISO 8601 Zeitstempel
  };
}
```

## Validierungsregeln

* **Agenten-Zugriff** — Der API-Schlüssel muss `owner`- oder `editor`-Zugriff auf den Agenten haben (wie bei [Update](/de/developer/agents-api/agent-update)).
* **Workspace-Übereinstimmung** — Der Agent muss zum selben Workspace gehören wie der API-Schlüssel.
* **Nur Agenten** — Projekte (`type=PROJECT`) werden nicht unterstützt und liefern `403`.
* **Entwurfsänderungen erforderlich** — Der Entwurf muss sich von der zuletzt veröffentlichten Version unterscheiden. Ein Aufruf ohne ausstehende Änderungen liefert `409 Conflict` und spiegelt damit den deaktivierten "Update"-Button in der UI wider.

## Fehlerbehandlung

| Status-Code | Beschreibung                                                                              |
| ----------- | ----------------------------------------------------------------------------------------- |
| 400         | Ungültiger Request-Body (fehlende/ungültige `agentId` oder `description` zu lang)         |
| 401         | Ungültiger oder fehlender API-Schlüssel                                                   |
| 403         | API-Schlüssel hat keinen Editier-Zugriff, Agent in anderem Workspace oder ist ein Projekt |
| 409         | Keine Entwurfsänderungen zum Veröffentlichen                                              |
| 429         | Rate Limit überschritten                                                                  |

<Info>
  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](/de/admin/ai-adoption-and-rollout/best-practices/api-key-best-practices).
</Info>


## OpenAPI

````yaml POST /agent/v1/publish
openapi: 3.0.0
info:
  title: Langdock API
  version: 3.0.0
servers:
  - url: https://api.langdock.com
    description: Production
security:
  - bearerAuth: []
paths:
  /agent/v1/publish:
    post:
      tags:
        - Agent Build
      summary: Publishes a draft agent as a new version
      description: >-
        Publishes the current draft of an agent as a new version. Mirrors the
        "Update" button in the agent editor — only agents (not projects) are
        supported, and the draft must differ from the latest published version.
      operationId: publishAgentV2
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - agentId
              properties:
                agentId:
                  type: string
                  format: uuid
                  description: UUID of the agent to publish
                description:
                  type: string
                  maxLength: 100
                  description: Optional change description shown in version history
      responses:
        '200':
          description: Agent published successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: string
                  message:
                    type: string
                  version:
                    type: object
                    properties:
                      id:
                        type: string
                        format: uuid
                      version:
                        type: integer
                      createdAt:
                        type: string
                        format: date-time
        '403':
          description: >-
            API key lacks edit access, agent is in a different workspace, or the
            resource is a project
        '409':
          description: No draft changes to publish
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: API Key
      description: API key as Bearer token. Format "Bearer YOUR_API_KEY"

````