> 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/es/integraciones/overview/integrations/sanity.md).

# Sanity

La integración con Sanity te permite listar, crear, actualizar y consultar contenido en tu sitio de Sanity.io.

<div align="center" data-full-width="true"><figure><img src="https://3036434873-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>Ejemplo de flujo de trabajo para listar recursos</p></figcaption></figure></div>

## Autenticación

1. **Generar una clave de API**
   1. Ve al panel de tu proyecto en Sanity.io
   2. Ve a la pestaña API
   3. Haz clic en el botón "Add API Token"
   4. Asigna un nombre a tu token (es decir, "AirOps")
   5. Establece los permisos como "Editor"
   6. Haz clic en "Save"
   7. Copia el token generado
2. **Añadir la clave de API a AirOps**
   1. Ve a la página AirOps > Settings > Integrations
   2. Haz clic en "Add New" y selecciona Sanity
   3. Pega el token generado en el campo API Key
   4. Haz clic en "Save"

**Nota de seguridad:** Trata tu clave de API como una contraseña. Proporciona acceso a la API REST a tu instancia de Sanity y no debe compartirse. Guárdala de forma segura y úsala solo en entornos del lado del servidor o seguros/autenticados.

## Funciones y sus parámetros <a href="#user-content-functions-and-their-parameters" id="user-content-functions-and-their-parameters"></a>

#### Parámetros de configuración comunes

1. **ID del proyecto**: El ID de tu proyecto de Sanity. (p. ej., "w22x3y4z")
2. **Conjunto de datos**: El conjunto de datos que quieres usar. (p. ej., "production")

### **Listar recursos**

Obtiene una lista de recursos de tu proyecto de Sanity. Esto es útil para recuperar entradas, imágenes u otros tipos de contenido existentes. Devuelve 100 registros por página.

1. **Tipo de recurso**: El tipo de recurso que quieres listar. (p. ej., "post")
2. **Último ID**: Para usar paginación, puedes establecer el último ID de la solicitud anterior. (Opcional)
3. **¿Incluir borradores?**: Si se deben incluir recursos en borrador en los resultados. (Opcional)

### **Obtener recurso**

Obtiene un único recurso de tu proyecto de Sanity. Esto es útil para recuperar información detallada sobre una publicación o imagen específica.

La matriz de bloques se devolverá tal cual, pero se devolverá una estructura de datos complementaria con los atributos de los bloques convertidos a HTML simple dentro de la `__airops.html` ruta JSON.

1. **ID del recurso**: El ID del recurso que quieres obtener. (p. ej., "4ddb0459-2734-4611-b1af-4ee13f3d5630")

### **Crear recurso**

Crea un nuevo recurso en tu proyecto de Sanity. Esto es útil para añadir nuevas publicaciones, imágenes u otros tipos de contenido.

1. **JSON del recurso**: El objeto JSON que representa el recurso que quieres crear.
   * Por ejemplo: `{ "title": "Mi nueva publicación", "category": "blog" }`
   * Cuando se usa junto con la entrada HTML del recurso, los atributos HTML se ignorarán de esta entrada.
   * Ver <https://www.sanity.io/docs/js-client#creating-documents>.
2. **HTML del recurso**: Un objeto JSON que contiene como clave el nombre del atributo del recurso y como valor el documento HTML. (Opcional)
   * Por ejemplo: `{ "body": "<h1>Mi nueva publicación</h1><p>Este es el contenido de mi nueva publicación.</p>" }`
   * Esto es útil para crear publicaciones con contenido de texto enriquecido.
   * El HTML se convertirá a la estructura Portable Text de Sanity y se utilizará en la carga útil para crear el recurso. Envía tantos atributos HTML como sean necesarios.

### **Actualizar recurso**

Actualiza un recurso existente en tu proyecto de Sanity.

1. **ID del recurso**: El ID del recurso que quieres actualizar. (p. ej., "4ddb0459-2734-4611-b1af-4ee13f3d5630")
2. **JSON del recurso**: El objeto JSON que representa el recurso que quieres actualizar.
   * Por ejemplo: `{ "title": "Mi publicación actualizada", "category": "blog" }`
   * Cuando se usa junto con la entrada HTML del recurso, los atributos HTML se ignorarán de esta entrada.
   * Ver <https://www.sanity.io/docs/js-client#patchupdate-a-document>.
3. **HTML del recurso**: Un objeto JSON que contiene como clave el nombre del atributo del recurso y como valor el documento HTML. (Opcional)
   * Por ejemplo: `{ "body": "<h1>Mi nueva publicación</h1><p>Este es el contenido de mi nueva publicación.</p>" }`
   * Esto es útil para crear publicaciones con contenido de texto enriquecido.
   * El HTML se convertirá a la estructura Portable Text de Sanity y se utilizará en la carga útil para crear el recurso. Envía tantos atributos HTML como sean necesarios.

### **Subir imagen**

Carga una imagen a tu proyecto de Sanity. Esto es útil para añadir imágenes a tu contenido o biblioteca multimedia.

1. **URL de la imagen**: La URL de la imagen que quieres subir a Sanity. (p. ej., "<https://example.com/image.jpg>")

### **Publicar recurso**

Publica un recurso en borrador en tu proyecto de Sanity, poniéndolo en vivo y visible para tu audiencia.

1. **ID del recurso**: El ID del recurso en borrador que quieres publicar. (p. ej., "drafts.4ddb0459-2734-4611-b1af-4ee13f3d5630")

### **Ejecutar consulta**

Ejecuta una [GROQ](https://www.sanity.io/docs/groq) consulta arbitraria contra tu proyecto de Sanity. Esto es útil para obtener datos con filtrado, ordenación o proyecciones personalizadas que van más allá de la acción integrada de List Resources.

1. **Consulta**: La consulta GROQ que se ejecutará contra tu conjunto de datos. (p. ej. `*[_type == "post" && status == "published"] | order(publishedAt desc) { _id, title, slug, publishedAt }`)
2. **Parámetros de consulta**: Un objeto JSON de parámetros con nombre que se pasarán a la consulta. (Opcional)
   * Por ejemplo: `{ "status": "published" }` puede usarse con una consulta como `*[_type == "post" && status == $status]`
   * Ver <https://www.sanity.io/docs/query-cheat-sheet> para consultar la referencia de sintaxis de GROQ.


---

# 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/es/integraciones/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.
