---
title: "Academy Article"
canonical_url: "https://academy.laioutr.com/artikel/delivery-management-und-assets-api"
locale: de
meta:
  "og:title": "Academy Article"
---

[Zur Startseite](https://academy.laioutr.com/)

- [Für Entwickler](https://academy.laioutr.com/bereiche/fuer-entwickler)

- [Plattform und APIs](https://academy.laioutr.com/leitfaeden/plattform-und-apis)

- [Delivery API, Management API und Assets API](https://academy.laioutr.com/artikel/delivery-management-und-assets-api)

# Delivery API, Management API und Assets API

Die Delivery API liefert veröffentlichte Laioutr-Inhalte an Frontends und andere Kanäle, die Management API legt Inhalte und Assets programmatisch an und ändert sie. Der Assets-Teil läuft über die Routen /api/public/media/\* der Storefront und wird mit einem projektgebundenen Restricted Key autorisiert.

## Bevor du startest

<dl>

<dt>Rolle</dt>
<dd>Berechtigung, API-Keys der Organisation und Projekteinstellungen zu verwalten</dd>

<dt>Dauer</dt>
<dd>8 Min.</dd></dl>

### Voraussetzungen

- Deployte Storefront
- Restricted Key mit passenden Scopes

Zuletzt geprüft am 15. Oktober 2026

Laioutr stellt Inhalte und Assets über eigene APIs bereit, damit auch Systeme außerhalb von Cockpit und Studio damit arbeiten können.

- **Delivery API**: liefert veröffentlichte Inhalte an Storefronts und andere Abnehmer. Die Storefront selbst liest Content-Collection-Einträge darüber, in der Vorschau die Entwürfe.
- **Management API**: legt Inhalte und Assets programmatisch an, ändert und verwaltet sie, ohne den Umweg über Cockpit oder Studio.
- **Assets API**: sechs Routen unter `/api/public/media/` der Storefront zum Auflisten von Bibliotheken, Durchsuchen, Hochladen und Bearbeiten von Assets. Derselbe Aufruf erreicht Shopify Files, das Laioutr CDN oder ein eigenes DAM, die Antwort bleibt gleich.

Die Assets-Routen sind für Clients gedacht wie interne Tools, Partnerseiten, Migrationsskripte oder einen MCP-Server. Ein **Restricted Key** gilt für genau ein Projekt und trägt nur die gewählten Scopes `media:read`, `media:write` oder `media:delete`. Eine Ratenbegrenzung gibt es nicht; die Kontrolle liegt im Widerrufen einzelner Keys. Jede Storefront beschreibt die Routen als OpenAPI-Dokument unter `/api/public/openapi.json`.

## Schritt für Schritt

1. 1 ### Schritt 1: Origin freigeben

   In den Projekteinstellungen unter **Allowed origins** mindestens eine Herkunft eintragen und neu deployen. Ohne Eintrag antworten alle Routen unter `/api/public/` mit `404`.
2. 2 ### Schritt 2: Restricted Key anlegen

   Unter **API keys** mit **Create key** den Typ **Restricted** wählen, das Projekt festlegen und nur die nötigen Scopes ankreuzen. Der vollständige Wert erscheint nur einmal.
3. 3 ### Schritt 3: Bibliotheken abfragen

   `POST /api/public/media/libraries` mit `Authorization: Bearer rstk_…` aufrufen. Die Antwort nennt die Bibliotheken und ihre Fähigkeiten für alle weiteren Aufrufe.
4. 4 ### Schritt 4: Client erzeugen

   Das Dokument `/api/public/openapi.json` in Postman, Insomnia oder Bruno importieren oder daraus mit `openapi-typescript` einen typisierten Client erzeugen.

## Häufige Fragen

Warum antwortet jede Route mit 404?

Das Projekt hat noch keine Origin unter **Allowed origins**, oder die Storefront wurde seit der Änderung nicht neu deployt. Die Liste gelangt erst mit dem Build in die Storefront.

Funktioniert der Zugriff auch von Server zu Server?

Ja. Ein Aufruf ohne `Origin`-Header kommt nicht aus einem Browser, dann autorisiert allein der Key. Für eigene Nutzerregeln den Key im eigenen Backend halten und Anfragen weiterleiten.

Funktioniert ein Organisations-API-Key für die Assets-Routen?

Nein. Die Routen akzeptieren nur Restricted Keys, und ein Restricted Key funktioniert umgekehrt nur dort.

## Passend dazu

- [API-Keys anlegen und verwalten](https://academy.laioutr.com/artikel/api-keys-anlegen-und-verwalten)6 Min.

  API-Keys werden in den Organisationseinstellungen unter API-Keys erstellt. Ein Organisationsschlüssel authentifiziert CLI und CI/CD, ein eingeschränkter Schlüssel gibt einer externen Anwendung nur Zugriff auf die Medien eines Projekts.
- [Content Collections im Code deklarieren](https://academy.laioutr.com/artikel/content-collections-im-code-deklarieren)15 Min.

  Welche Inhaltstypen das Laioutr CMS verwaltet, legt das Projekt in der Option collections von @laioutr-app/cms fest. Nach dem nächsten Deployment erscheinen die Typen im Cockpit unter Content, und ihre Einträge beantworten Orchestr-Queries wie jedes andere Backend.
- [Medien in Cockpit und Studio verwalten](https://academy.laioutr.com/artikel/medien-in-cockpit-und-studio-verwalten)5 Min.

  Bilder, Videos und Audiodateien werden zentral in der Media Library unter Content in Cockpit verwaltet. In Studio wählt der Medienwähler Dateien aus allen verbundenen Bibliotheken, etwa aus dem Shop-System, und lädt neue hoch, wo die Bibliothek es erlaubt.
- [Laioutr MCP mit einem KI-Assistenten verbinden](https://academy.laioutr.com/artikel/laioutr-mcp-mit-ki-assistenten-verbinden)5 Min.

  Laioutr MCP verbindet Claude, ChatGPT, Cursor oder einen anderen MCP-Client per OAuth mit den eigenen Laioutr-Projekten. Nach der Freischaltung durch Laioutr genügt die Anmeldung mit dem Laioutr-Konto, ein API-Key ist nicht nötig.

## In einer Lektion lernen

- [Architektur verstehen](https://academy.laioutr.com/lektionen/entwickler-architektur)10 Min.

## [Plattform und APIs](https://academy.laioutr.com/leitfaeden/plattform-und-apis)

In diesem Leitfaden suchen

1. [Delivery API, Management API und Assets API](https://academy.laioutr.com/artikel/delivery-management-und-assets-api)8 Min.
2. [Design System 1.0: Tokens, Farbskalen und Themes](https://academy.laioutr.com/artikel/design-system-1-0-tokens-farbskalen-und-themes)7 Min. In Vorbereitung

## Structured Data

```json
{
  "@context": "https://schema.org",
  "@graph": [
    {
      "@id": "https://academy.laioutr.com/#website",
      "@type": "WebSite",
      "inLanguage": "de",
      "name": "Default",
      "url": "https://academy.laioutr.com/",
      "workTranslation": {
        "@id": "https://academy.laioutr.com/#website"
      }
    },
    {
      "@id": "https://academy.laioutr.com/artikel/delivery-management-und-assets-api#webpage",
      "name": "Academy Article",
      "url": "https://academy.laioutr.com/artikel/delivery-management-und-assets-api",
      "@type": [
        "WebPage",
        "FAQPage"
      ],
      "breadcrumb": {
        "@id": "https://academy.laioutr.com/artikel/delivery-management-und-assets-api#breadcrumb"
      },
      "isPartOf": {
        "@id": "https://academy.laioutr.com/#website"
      },
      "mainEntity": [
        {
          "@id": "https://academy.laioutr.com/artikel/delivery-management-und-assets-api#/schema/question/1"
        },
        {
          "@id": "https://academy.laioutr.com/artikel/delivery-management-und-assets-api#/schema/question/2"
        },
        {
          "@id": "https://academy.laioutr.com/artikel/delivery-management-und-assets-api#/schema/question/3"
        }
      ],
      "potentialAction": [
        {
          "@type": "ReadAction",
          "target": [
            "https://academy.laioutr.com/artikel/delivery-management-und-assets-api"
          ]
        }
      ]
    },
    {
      "@id": "https://academy.laioutr.com/artikel/delivery-management-und-assets-api#breadcrumb",
      "@type": "BreadcrumbList",
      "itemListElement": [
        {
          "@type": "ListItem",
          "name": "Home",
          "item": "https://academy.laioutr.com/",
          "position": 1
        },
        {
          "@type": "ListItem",
          "name": "Für Entwickler",
          "item": "https://academy.laioutr.com/bereiche/fuer-entwickler",
          "position": 2
        },
        {
          "@type": "ListItem",
          "name": "Plattform und APIs",
          "item": "https://academy.laioutr.com/leitfaeden/plattform-und-apis",
          "position": 3
        },
        {
          "@type": "ListItem",
          "name": "Delivery API, Management API und Assets API",
          "item": "https://academy.laioutr.com/artikel/delivery-management-und-assets-api",
          "position": 4
        }
      ]
    },
    {
      "@id": "https://academy.laioutr.com/artikel/delivery-management-und-assets-api#/schema/question/1",
      "@type": "Question",
      "inLanguage": "de",
      "name": "Warum antwortet jede Route mit 404?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<p>Das Projekt hat noch keine Origin unter <strong>Allowed origins</strong>, oder die Storefront wurde seit der Änderung nicht neu deployt. Die Liste gelangt erst mit dem Build in die Storefront.</p>"
      }
    },
    {
      "@id": "https://academy.laioutr.com/artikel/delivery-management-und-assets-api#/schema/question/2",
      "@type": "Question",
      "inLanguage": "de",
      "name": "Funktioniert der Zugriff auch von Server zu Server?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<p>Ja. Ein Aufruf ohne <code>Origin</code>-Header kommt nicht aus einem Browser, dann autorisiert allein der Key. Für eigene Nutzerregeln den Key im eigenen Backend halten und Anfragen weiterleiten.</p>"
      }
    },
    {
      "@id": "https://academy.laioutr.com/artikel/delivery-management-und-assets-api#/schema/question/3",
      "@type": "Question",
      "inLanguage": "de",
      "name": "Funktioniert ein Organisations-API-Key für die Assets-Routen?",
      "acceptedAnswer": {
        "@type": "Answer",
        "text": "<p>Nein. Die Routen akzeptieren nur Restricted Keys, und ein Restricted Key funktioniert umgekehrt nur dort.</p>"
      }
    }
  ]
}
```
