> For the complete documentation index, see [llms.txt](https://docs.airops.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.airops.com/docs/de/integrationen/overview/integrations/sanity.md).

# Sanity

Die Sanity-Integration ermöglicht es Ihnen, Inhalte auf Ihrer Sanity.io-Website aufzulisten, zu erstellen, zu aktualisieren und abzufragen.

<div align="center" data-full-width="true"><figure><img src="https://1960680173-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FX2n5yPRPynbnWuO4SH0M%2Fuploads%2Fgit-blob-e27a0b7062ab6de2c18690fd8ff1b5be375d719b%2Fimage.png?alt=media" alt="" width="375"><figcaption><p>Beispiel-Workflow zum Auflisten von Ressourcen</p></figcaption></figure></div>

## Authentifizierung

1. **Einen API-Schlüssel generieren**
   1. Gehen Sie zum Dashboard Ihres Projekts auf Sanity.io
   2. Gehen Sie zum API-Tab
   3. Klicken Sie auf die Schaltfläche „API-Token hinzufügen“
   4. Legen Sie einen Namen für Ihr Token fest (z. B. „AirOps“)
   5. Legen Sie die Berechtigungen auf „Editor“ fest
   6. Klicken Sie auf „Speichern“
   7. Kopieren Sie das generierte Token
2. **Fügen Sie den API-Schlüssel zu AirOps hinzu**
   1. Gehen Sie zur Seite AirOps > Einstellungen > Integrationen
   2. Klicken Sie auf „Neu hinzufügen“ und wählen Sie Sanity aus
   3. Fügen Sie das generierte Token in das Feld „API-Schlüssel“ ein
   4. Klicken Sie auf „Speichern“

**Sicherheitshinweis:** Behandeln Sie Ihren API-Schlüssel wie ein Passwort. Er bietet REST-API-Zugriff auf Ihre Sanity-Instanz und sollte nicht weitergegeben werden. Bewahren Sie ihn sicher auf und verwenden Sie ihn nur in serverseitigen oder sicheren/authentifizierten Umgebungen.

## Funktionen und ihre Parameter <a href="#user-content-functions-and-their-parameters" id="user-content-functions-and-their-parameters"></a>

#### Allgemeine Konfigurationsparameter

1. **Projekt-ID**: Die ID Ihres Sanity-Projekts. (z. B. "w22x3y4z")
2. **Datensatz**: Der Datensatz, den Sie verwenden möchten. (z. B. "production")

### **Ressourcen auflisten**

Ruft eine Liste von Ressourcen aus Ihrem Sanity-Projekt ab. Dies ist nützlich, um vorhandene Beiträge, Bilder oder andere Inhaltstypen abzurufen. Gibt 100 Datensätze pro Seite zurück.

1. **Ressourcentyp**: Der Typ der Ressource, die Sie auflisten möchten. (z. B. "post")
2. **Letzte ID**: Um die Seitennummerierung zu verwenden, können Sie die letzte ID der vorherigen Anfrage angeben. (Optional)
3. **Entwürfe einschließen?**: Ob Entwurfsressourcen in den Ergebnissen enthalten sein sollen. (Optional)

### **Ressource abrufen**

Ruft eine einzelne Ressource aus Ihrem Sanity-Projekt ab. Dies ist nützlich, um detaillierte Informationen zu einem bestimmten Beitrag oder Bild abzurufen.

Array von Blöcken wird unverändert zurückgegeben, aber eine begleitende Datenstruktur wird mit den Blockattributen zurückgegeben, die in reines HTML umgewandelt wurden, innerhalb der `__airops.html` JSON-Pfad.

1. **Ressourcen-ID**: Die ID der Ressource, die Sie abrufen möchten. (z. B. "4ddb0459-2734-4611-b1af-4ee13f3d5630")

### **Ressource erstellen**

Erstellt eine neue Ressource in Ihrem Sanity-Projekt. Dies ist nützlich, um neue Beiträge, Bilder oder andere Inhaltstypen hinzuzufügen.

1. **Ressourcen-JSON**: Das JSON-Objekt, das die zu erstellende Ressource darstellt.
   * Zum Beispiel: `{ "title": "Mein neuer Beitrag", "category": "Blog" }`
   * Wenn es zusammen mit der Eingabe „Resource HTML“ verwendet wird, werden HTML-Attribute aus dieser Eingabe ignoriert.
   * Siehe <https://www.sanity.io/docs/js-client#creating-documents>.
2. **Ressourcen-HTML**: Ein JSON-Objekt, das den Namen des Ressourcenattributs als Schlüssel und das HTML-Dokument als Wert enthält. (Optional)
   * Zum Beispiel: `{ "body": "<h1>Mein neuer Beitrag</h1><p>Dies ist der Inhalt meines neuen Beitrags.</p>" }`
   * Dies ist nützlich, um Beiträge mit Rich-Text-Inhalten zu erstellen.
   * Das HTML wird in Sanitys Portable-Text-Struktur umgewandelt und in der Nutzlast verwendet, um die Ressource zu erstellen. Senden Sie so viele HTML-Attribute wie nötig.

### **Ressource aktualisieren**

Aktualisiert eine vorhandene Ressource in Ihrem Sanity-Projekt.

1. **Ressourcen-ID**: Die ID der Ressource, die Sie aktualisieren möchten. (z. B. "4ddb0459-2734-4611-b1af-4ee13f3d5630")
2. **Ressourcen-JSON**: Das JSON-Objekt, das die zu aktualisierende Ressource darstellt.
   * Zum Beispiel: `{ "title": "Mein aktualisierter Beitrag", "category": "Blog" }`
   * Wenn es zusammen mit der Eingabe „Resource HTML“ verwendet wird, werden HTML-Attribute aus dieser Eingabe ignoriert.
   * Siehe <https://www.sanity.io/docs/js-client#patchupdate-a-document>.
3. **Ressourcen-HTML**: Ein JSON-Objekt, das den Namen des Ressourcenattributs als Schlüssel und das HTML-Dokument als Wert enthält. (Optional)
   * Zum Beispiel: `{ "body": "<h1>Mein neuer Beitrag</h1><p>Dies ist der Inhalt meines neuen Beitrags.</p>" }`
   * Dies ist nützlich, um Beiträge mit Rich-Text-Inhalten zu erstellen.
   * Das HTML wird in Sanitys Portable-Text-Struktur umgewandelt und in der Nutzlast verwendet, um die Ressource zu erstellen. Senden Sie so viele HTML-Attribute wie nötig.

### **Bild hochladen**

Lädt ein Bild in Ihr Sanity-Projekt hoch. Dies ist nützlich, um Bilder zu Ihrem Inhalt oder Ihrer Medienbibliothek hinzuzufügen.

1. **Bild-URL**: Die URL des Bildes, das Sie zu Sanity hochladen möchten. (z. B. "<https://example.com/image.jpg>")

### **Ressource veröffentlichen**

Veröffentlicht eine Entwurfsressource in Ihrem Sanity-Projekt und macht sie live und für Ihr Publikum sichtbar.

1. **Ressourcen-ID**: Die ID der Entwurfsressource, die Sie veröffentlichen möchten. (z. B. "drafts.4ddb0459-2734-4611-b1af-4ee13f3d5630")

### **Abfrage ausführen**

Führt eine beliebige [GROQ](https://www.sanity.io/docs/groq) Abfrage gegen Ihr Sanity-Projekt aus. Dies ist nützlich, um Daten mit benutzerdefinierter Filterung, Sortierung oder Projektionen abzurufen, die über die integrierte Aktion „Ressourcen auflisten“ hinausgehen.

1. **Abfrage**: Die GROQ-Abfrage, die gegen Ihren Datensatz ausgeführt werden soll. (z. B. `*[_type == "post" && status == "veröffentlicht"] | order(publishedAt desc) { _id, title, slug, publishedAt }`)
2. **Abfrageparameter**: Ein JSON-Objekt mit benannten Parametern, die an die Abfrage übergeben werden sollen. (Optional)
   * Zum Beispiel: `{ "status": "veröffentlicht" }` kann mit einer Abfrage wie verwendet werden `*[_type == "post" && status == $status]`
   * Siehe <https://www.sanity.io/docs/query-cheat-sheet> für die GROQ-Syntaxreferenz.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.airops.com/docs/de/integrationen/overview/integrations/sanity.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
