Artículos

Listar artículos

Devuelve el catálogo de artículos de inventario, paginado por cursor.

GET
/api/v1/items

Ejemplos de petición

curl https://app.filmo.io/api/v1/items \
  --header "Authorization: Bearer $FILMO_API_KEY"
{
  "data": [
    {
      "id": "item_9f3a2b",
      "name": "Example item",
      "sku": "CAM-FX6-01",
      "description": "Example text.",
      "orderInfo": "Example order info",
      "ean": "0000000000000",
      "itemType": "fixed",
      "stockCalculationMethod": "bulk",
      "collectionId": "collection_9f3a2b",
      "collectionName": "Example collection name",
      "images": [
        "Example images"
      ],
      "salePrice": "120.00",
      "depositValue": "120.00",
      "minStock": 1,
      "serializedItemsCount": 1,
      "pricingSettings": {
        "type": "periodPrice",
        "price": "120.00",
        "period": "hour"
      },
      "insuranceEnabled": true,
      "discountEnabled": true,
      "bufferBefore": 1,
      "bufferBeforeUnit": "hour",
      "bufferAfter": 1,
      "bufferAfterUnit": "hour",
      "physicalProperties": {
        "weight": 1,
        "width": 1,
        "height": 1,
        "length": 1,
        "volume": 1,
        "current": 1,
        "power": 1
      },
      "variants": [
        {
          "variantId": "variant_9f3a2b",
          "variantName": "Example variant name",
          "variantPrice": "120.00",
          "salePrice": "120.00",
          "ean": "0000000000000"
        }
      ],
      "tags": [
        {
          "id": "tag_9f3a2b",
          "name": "Example tag"
        }
      ],
      "customFields": {
        "example": "example"
      },
      "createdAt": "2026-09-01T08:00:00.000Z",
      "updatedAt": "2026-09-01T08:00:00.000Z"
    }
  ],
  "pagination": {
    "nextCursor": "eyJvIjoyMH0",
    "hasMore": true,
    "total": 1
  }
}

Generado a partir del esquema

Aislamiento estricto por suscripción.

Autorizaciones

Clave de API como Bearer, con el permiso de abajo. items:read

Parámetros de consulta

limitintegerpredeterminado:50

Tamaño de página (1-500). Por defecto es 50.

Límites: mín. 1, máx. 500

cursorstring

Cursor opaco de la página que se devuelve. Pasa el valor de pagination.nextCursor de la respuesta anterior; trátalo como opaco.

Límites: longitud máx. 200

createdOnstring

La fecha de creación del recurso cae en esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

createdAfterstring

La fecha de creación del recurso es posterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

createdBeforestring

La fecha de creación del recurso es anterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

createdFromstring

La fecha de creación del recurso es igual o posterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

createdTostring

La fecha de creación del recurso es igual o anterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

updatedOnstring

La fecha de última actualización del recurso cae en esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

updatedAfterstring

La fecha de última actualización del recurso es posterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

updatedBeforestring

La fecha de última actualización del recurso es anterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

updatedFromstring

La fecha de última actualización del recurso es igual o posterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

updatedTostring

La fecha de última actualización del recurso es igual o anterior a esta fecha. Una fecha sin hora (YYYY-MM-DD, interpretada en la zona horaria del negocio) o un instante ISO 8601 con desplazamiento.

Límites: patrón ^\d{4}-\d{2}-\d{2}(T\d{2}:\d{2}:\d{2}(\.\d+)?(Z|[+-]\d{2}(:?\d{2})?))?$

sortstring

Orden: hasta 3 campos separados por comas, cada uno con un "-" inicial para descendente (p. ej. "-updatedAt,name"). Campos ordenables: createdAt, updatedAt, name, sku, salePrice, depositValue, serializedItemsCount, collectionName. Por defecto, "-createdAt". Los empates se resuelven por id, así que el orden es estable entre páginas, y un cursor queda ligado al orden con el que se emitió.

Límites: longitud máx. 200

querystring

Búsqueda de texto libre (actualmente ILIKE sobre nombre, SKU, sinónimos y códigos de unidades serializadas). La semántica NO es contractual: puede evolucionar sin previo aviso.

Límites: longitud máx. 200

stockTypestring

Filtra por método de cálculo del stock: serialized (por unidades serializadas) o bulk (a granel).

Opciones disponibles: serialized, bulk

stockTypesstring[]

Filtra por stockType, como lista: repite el parámetro o separa los valores con comas. Acepta hasta 50 valores y devuelve lo que coincida con cualquiera de ellos.

Opciones disponibles: serialized, bulk

Límites: mín. 1 elementos, máx. 50 elementos

collectionIdstring

Filtra por identificador de la colección a la que pertenece el artículo.

Límites: longitud máx. 100

collectionIdsstring[]

Filtra por collectionId, como lista: repite el parámetro o separa los valores con comas. Acepta hasta 50 valores y devuelve lo que coincida con cualquiera de ellos.

Límites: mín. 1 elementos, máx. 50 elementos, cada uno: longitud máx. 100

idsstring

Consulta por lotes mediante identificadores separados por comas (entre 1 y 100), pensada para la sincronización.

Límites: longitud máx. 4000

includeTotalbooleanpredeterminado:false

Ponlo en true para incluir pagination.total, el número de resultados que coinciden con los filtros en todas las páginas. Desactivado por defecto.

Respuesta

application/json

Respuesta correcta.

Esquema de la respuesta: ItemDto

Sobre: ItemList. meta.warnings solo aparece cuando la operación está obsoleta.

Cabeceras: X-Request-Id · RateLimit-Limit · RateLimit-Remaining · RateLimit-Reset

dataobject[]

Mostrar atributos hijos
data.idstring

Identificador único del artículo.

data.namestring

Nombre del artículo.

data.skustring | null

Referencia SKU del artículo; null si no consta.

data.descriptionstring | null

Descripción del artículo; null si no consta.

data.orderInfostring | null

Información adicional del pedido (notas de preparación y entrega); null si no consta.

data.eanstring | null

EAN/código de barras; null si no consta.

data.itemTypestring

Tipo de artículo: fixed (artículo simple) o variant (artículo con variantes).

Opciones disponibles: fixed, variant

data.stockCalculationMethodstring

Método de cálculo del stock: bulk (a granel, por cantidad) o serialized (por artículos serializados).

Opciones disponibles: bulk, serialized

data.collectionIdstring | null

Identificador de la colección a la que pertenece; null si no está en ninguna.

data.collectionNamestring | null

Nombre de la colección a la que pertenece; null si no está en ninguna.

data.imagesstring[]

URLs de las imágenes del artículo.

data.salePricestring | null

Precio de venta como cadena decimal "1234.50" (ROUND_HALF_UP); null si no tiene.

Límites: patrón ^-?\d+\.\d{2}$

data.depositValuestring | null

Importe de la fianza como cadena decimal "1234.50" (ROUND_HALF_UP); null si no tiene.

Límites: patrón ^-?\d+\.\d{2}$

data.minStocknumber | null

Stock mínimo configurado para las alertas; null si no está configurado.

data.serializedItemsCountnumber

Número de unidades serializadas registradas del artículo.

data.pricingSettingsobject | null

Configuración de precios de alquiler; null si no está configurada.

Mostrar atributos hijos
data.pricingSettings.typestring | null

Modo de precio: periodPrice (precio por periodo), fixedPrice (precio fijo) o pricingStructure (estructura de precios); null si el artículo no tiene ninguno configurado.

Opciones disponibles: periodPrice, fixedPrice, pricingStructure

data.pricingSettings.pricestring | null

Precio base de alquiler como cadena decimal "1234.50" (ROUND_HALF_UP); null si no aplica.

Límites: patrón ^-?\d+\.\d{2}$

data.pricingSettings.periodstring | null

Unidad de periodo del precio: hour, day, week o month; null si el artículo no tiene ninguna configurada.

Opciones disponibles: hour, day, week, month

data.insuranceEnabledboolean

Si el artículo admite seguro.

data.discountEnabledboolean

Si el artículo admite descuentos.

data.bufferBeforenumber | null

Tiempo de margen reservado antes del alquiler; null si no aplica.

data.bufferBeforeUnitstring | null

Unidad del margen previo: hora o día; null si no aplica.

Opciones disponibles: hour, day

data.bufferAfternumber | null

Tiempo de margen reservado después del alquiler; null si no aplica.

data.bufferAfterUnitstring | null

Unidad del margen posterior: hour o day; null si no aplica.

Opciones disponibles: hour, day

data.physicalPropertiesobject | null

Propiedades físicas (peso y dimensiones); null si no se han registrado.

Mostrar atributos hijos
data.physicalProperties.weightnumber | null

Peso del artículo en kilogramos; null si no está registrado.

data.physicalProperties.widthnumber | null

Ancho del artículo en centímetros; null si no está registrado.

data.physicalProperties.heightnumber | null

Altura del artículo en centímetros; null si no consta.

data.physicalProperties.lengthnumber | null

Longitud del artículo en centímetros; null si no consta.

data.physicalProperties.volumenumber | null

Volumen del artículo en metros cúbicos (m³); null si no está registrado.

data.physicalProperties.currentnumber | null

Consumo de corriente en amperios; null si no consta.

data.physicalProperties.powernumber | null

Potencia en vatios; null si no se ha registrado.

data.variantsobject[]

Variantes del artículo (vacío si el artículo es de tipo fixed).

Mostrar atributos hijos
data.variants.variantIdstring

Identificador único de la variante.

data.variants.variantNamestring

Nombre de la variante.

data.variants.variantPricestring

Precio de alquiler de la variante como cadena decimal "1234.50" (ROUND_HALF_UP).

Límites: patrón ^-?\d+\.\d{2}$

data.variants.salePricestring | null

Precio de venta de la variante como cadena decimal "1234.50" (ROUND_HALF_UP); null si no tiene.

Límites: patrón ^-?\d+\.\d{2}$

data.variants.eanstring | null

EAN/código de barras de la variante; null si no consta.

data.tagsobject[]

Etiquetas asociadas al artículo.

Mostrar atributos hijos
data.tags.idstring

Identificador único de la etiqueta.

data.tags.namestring

Nombre de la etiqueta.

data.customFieldsobject<string, any>

Valores de los campos personalizados por identificador de campo personalizado; las definiciones están en /api/v1/custom-fields.

data.createdAtstring<date-time>

Fecha de creación en ISO 8601 con desplazamiento.

data.updatedAtstring<date-time>

Fecha de la última actualización en ISO 8601 con desplazamiento.

paginationobject

Metadatos de paginación por cursor opaco.

Mostrar atributos hijos
pagination.nextCursorstring | null

Cursor opaco de la página siguiente; null cuando no hay más resultados. Pásalo como cursor en la siguiente petición.

pagination.hasMoreboolean

Si existen más resultados después de esta página.

pagination.totalinteger

Número de resultados que coinciden con los filtros en todas las páginas. Solo aparece cuando la petición establece includeTotal=true.

Límites: mín. 0

metaobject

Información adicional sobre la respuesta.

Mostrar atributos hijos
meta.warningsobject[]

Avisos del ciclo de vida; solo aparecen cuando la operación está obsoleta.

Mostrar atributos hijos
meta.warnings.codestring

Código de aviso estable.

Opciones disponibles: deprecated

meta.warnings.messagestring

Para personas: qué está obsoleto, hasta cuándo y qué usar.

meta.warnings.sunsetstring

Día (YYYY-MM-DD) en que la operación deja de estar disponible.

meta.warnings.replacementstring | null

operationId de la operación que hay que usar en su lugar, o null si no hay ninguna.

Errores

EstadoCódigosSignificado
400validation_errorConsulta o cuerpo mal formados. errors[] enumera cada campo erróneo con su código estable.

401, 403, 429, 500 los puede devolver cualquier operación. Errores

Obsolescencia

Esta operación no está obsoleta. Las obsolescencias se anuncian con la cabecera Deprecation y una fecha de retirada. Política de versiones

  • Catálogo e inventario

    Artículo

    El artículo, tal como lo devuelve la API.

¿Te ha resultado útil esta página?