---
title: "Lista los archivos del item"
method: GET
path: "/items/{itemId}/files"
tags: ["Items"]
---

# Lista los archivos del item

`GET /items/{itemId}/files`

## Request

- Base URL: `https://api.met.meteor.com.co/api/v1`
- URL: `https://api.met.meteor.com.co/api/v1/items/{itemId}/files`
- Auth: one of:
  - `bearer` (a scheme the document does not define)
  - HTTP bearer

Del más reciente al más viejo. Un item de trabajo acumula adjuntos sin techo propio: con `limit` y `page` los recorres todos, y sin esos parámetros la respuesta no cambia.

Con `paginate=true` la respuesta es `{ data, has_more, next_cursor }`: pasa `next_cursor` en `starting_after` para pedir la página siguiente, hasta que `has_more` sea `false`.

## Path parameters

- `itemId` number, required

## Query parameters

- `limit` number
- `page` number
- `paginate` boolean
- `starting_after` string

## Response `200`

Sin `paginate` ni `starting_after`, la forma de siempre. Con ellos, `{ data, has_more, next_cursor }`.

- object: Sobre en el que viaja toda respuesta correcta de la API. El recurso está en `data`. Los SDKs oficiales lo desenvuelven por ti; un cliente hecho a mano tiene que leer `.data`.
  - `success` true, required: Siempre `true` en una respuesta 2xx.
  - `data` union, required
    - ItemFileResponseDto[]
      - `asset_id` string, nullable, required: Link al mismo archivo en la Mediateca del workspace. `null` en los adjuntos anteriores a la Mediateca.
      - `created_at` string, nullable, required
      - `created_by` number, nullable, required: Usuario que lo subió.
      - `filename` string, required: Nombre saneado con el que se guardó en Storage (`{timestamp}-{nombre}`). No es el nombre que ve el usuario: ese es `original_name`.
      - `id` number, required
      - `item_id` number, required: Item al que está adjunto.
      - `mime_type` string, nullable, required
      - `original_name` string, required: Nombre legible, tal como se subió. Es el que se muestra y el que se descarga.
      - `size` number, nullable, required: Tamaño en bytes.
      - `storage_path` string, required: **La fuente de verdad del archivo.** La ruta dentro del bucket privado; es lo único estable. Guarda esto, no la URL: una URL firmada vence, y una URL pública vieja puede haber dejado de resolver cuando el objeto se privatizó.
    - ItemFileListPageDto
      - `data` ItemFileResponseDto[], required
        - `asset_id` string, nullable, required: Link al mismo archivo en la Mediateca del workspace. `null` en los adjuntos anteriores a la Mediateca.
        - `created_at` string, nullable, required
        - `created_by` number, nullable, required: Usuario que lo subió.
        - `filename` string, required: Nombre saneado con el que se guardó en Storage (`{timestamp}-{nombre}`). No es el nombre que ve el usuario: ese es `original_name`.
        - `id` number, required
        - `item_id` number, required: Item al que está adjunto.
        - `mime_type` string, nullable, required
        - `original_name` string, required: Nombre legible, tal como se subió. Es el que se muestra y el que se descarga.
        - `size` number, nullable, required: Tamaño en bytes.
        - `storage_path` string, required: **La fuente de verdad del archivo.** La ruta dentro del bucket privado; es lo único estable. Guarda esto, no la URL: una URL firmada vence, y una URL pública vieja puede haber dejado de resolver cuando el objeto se privatizó.
      - `has_more` boolean, required: `true` si hay más filas después de esta página.
      - `next_cursor` string, nullable, required: Cursor opaco para `starting_after`. `null` cuando `has_more` es `false`.

## Other responses

- `400`: La request no es válida: un campo no pasa validación, falta un parámetro requerido o el recurso no admite la transición solicitada.
- `401`: API key ausente, inválida, revocada o expirada — o el workspace está bloqueado.
- `403`: La key está autenticada pero no puede ejecutar esta operación: scope faltante, capacidad deshabilitada, modo test restringido o recurso fuera de su cartera.
- `404`: El recurso no existe o no está disponible dentro del alcance de la key. No revela la existencia de recursos de otros tenants.
- `429`: Se superó el límite por minuto de la key o la cuota del plan. Respeta `Retry-After`; el SDK ya reintenta solo.
- `500`: Error del servidor o del Met que ejecutaba. El SDK reintenta los 5xx con backoff.

---

[API](https://skmtc.dev/meteor/apis/met-public-api.md) · [All operations](https://skmtc.dev/meteor/apis/met-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meteor/apis/met-public-api/revisions/fc6d3aad75de?raw)
