# Uso de los filtros en Skyone Studio

Para realizar consultas avanzadas en la API de **Skyone Studio**, utilice el parámetro de consulta (*query*). El valor de este parámetro debe ser un objeto JSON válido enviado bajo el patrón de *underline query.*&#x20;

### Estructura Base del JSON

A continuación, se presenta la estructura completa que incluye ordenamiento, filtrado por período y paginación:

```json
{
  "sort": {
    "startTimeUTC": -1
  },
  "filter": {
    "startTimeUTC": {
      "_period_greater_equal": "2026-01-01T00:00:00Z",
      "_period_smaller_equal": "2026-01-06T23:59:59Z"
    }
  },
  "pagination": {
    "limit": 10,
    "skip": 0
  }
}
```

A continuación, comprenda mejor cada elemento:

### Paginación (Pagination)

Controla la cantidad de datos devueltos por solicitud para optimizar el rendimiento.

* **limit:** Define el número máximo de elementos por página.
* **skip:** Define cuántos elementos se deben omitir (offset) para acceder a las siguientes páginas.

Ejemplo:

```json
"pagination": {
  "limit":10
  "skip": 0
}

```

### Filtro (Filter)

El objeto *filter* permite refinar su búsqueda utilizando claves específicas y operadores de comparación.

<table data-header-hidden><thead><tr><th width="145.78515625"></th><th width="193.35546875"></th><th></th></tr></thead><tbody><tr><td><strong>Operador</strong></td><td><strong>Descripción</strong></td><td><strong>Ejemplo de Uso</strong></td></tr><tr><td><code>_equal</code></td><td>Filtra los registros cuyo valor de la columna coincide exactamente con el valor especificado, respetando los caracteres y la distinción entre mayúsculas y minúsculas.</td><td><code>"status": {"_equal": "active"}</code></td></tr><tr><td><code>_diff</code></td><td>Filtra los registros cuyo valor de la columna no coincide con el valor especificado.</td><td><code>"id": {"_diff": 0}</code></td></tr><tr><td><code>_like</code></td><td>Filtra los registros en los que el valor de la columna contiene el término buscado, permitiendo búsquedas parciales.</td><td><code>"name": {"_like": "Sky"}</code></td></tr><tr><td><code>_greater</code></td><td>Filtra los registros cuyo valor de la columna es mayor que el valor especificado.</td><td><code>"price": {"_greater": 50}</code></td></tr><tr><td><code>_smaller</code></td><td>Filtra los registros cuyo valor es menor que el valor límite especificado.</td><td><code>"stock": {"_smaller": 10}</code></td></tr><tr><td><code>_greater_equal</code></td><td>Filtra los registros cuyo valor es mayor o igual al valor límite especificado.</td><td><code>"age": {"_greater_equal": 18}</code></td></tr><tr><td><code>_smaller_equal</code></td><td>Filtra los registros cuyo valor es menor o igual al valor límite especificado.</td><td><code>"limit": {"_smaller_equal": 100}</code></td></tr><tr><td><code>_exists</code></td><td>Filtra los registros con base en la existencia del campo/columna en el documento, devolviendo aquellos en los que el campo está presente (<code>true</code>) o ausente (<code>false</code>), independientemente de su valor.</td><td><code>"tag": {"_exists": true}</code></td></tr><tr><td><code>_not_exists</code></td><td>Filtra los registros en los que el campo/columna no existe en el documento, independientemente del valor.</td><td><code>"deletedAt": {"_not_exists": true}</code></td></tr><tr><td><code>_in</code></td><td>Filtra los registros cuyo valor de la columna está contenido en una lista (array) de valores proporcionados.</td><td><code>"role": {"_in": ["admin", "editor"]}</code></td></tr></tbody></table>

#### Filtros de Período (Fecha/Hora)

Para campos de fecha como ***startTimeUTC***, utilice los siguientes prefijos de período:

* **\_period\_greater:** Fecha posterior a.
* **\_period\_smaller:** Fecha anterior a.
* **\_period\_greater\_equal:** Fecha inicial (inclusive).
* **\_period\_smaller\_equal:** Fecha final (inclusive).

En el escenario siguiente, el filtro actúa como un operador && (and):

```json
"startTimeUTC": {
      "_period_greater_equal": "2026-01-01T00:00:00Z",
      "_period_smaller_equal": "2026-01-06T23:59:59Z"
    }
```

### Ordenamiento (Sort)

Define la dirección en la que se devuelven los resultados basándose en una clave:

* -1: Orden Descendente (por defecto).
* 1: Orden Ascendente.

\
Ejemplo:

```json
{
  "sort":{
    "startTimeUTC":-1
  }
```


---

# Agent Instructions: Querying This Documentation

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

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.skyone.cloud/espanol/skyone-studio/how-to/uso-de-los-filtros-en-skyone-studio.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
