---
title: "List published assets in a hub"
description: "Returns a paginated list of the published assets in a specified hub."
contentType: "api-reference"
url: "https://developer.mindtickle.com/docs/asset-hub/assets/list-published-assets-in-a-hub/"
---

## Prerequisites

1. [Authentication and setup](/docs/getting-started/authentication-and-setup/): A valid access token.
2. [List active hubs](/docs/asset-hub/hubs/list-active-hubs/): Get the hub ID to list assets from.

## Endpoint

```http
POST /api/assethub/v1/hub/{hub_id}/assets
```

Base URL: the API3 REST host for your region. See [Base URLs](/docs/getting-started/authentication-and-setup/#base-urls).

Headers: `Authorization: Bearer ACCESS_TOKEN`, `Content-Type: application/json`.

## Path parameters

| Parameter | Type | Description |
| --- | --- | --- |
| `hub_id` | string | ID of the hub whose published assets you want to list. |

## Request

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `asset_ids` | string[] | Optional | List of asset IDs to fetch details for. Invalid IDs are not present in the response. |
| `limit` | int32 | Optional | Maximum number of assets to return for pagination. Must be from 1 to 100. Default: 100. |
| `order_by.field` | string | Required if `order_by` is used | Column to order by. One of `title`, `updated_at`, `created_at`, `created_by`, `ref_asset_id`. |
| `order_by.order` | string | Required if `order_by` is used | Sort direction. `ASC` or `DESC`. |
| `sharing_type` | string | Optional | Filter by sharing type. `EXTERNAL` or `INTERNAL`. |
| `skip` | int32 | Optional | Number of assets to skip for pagination. Must be 0 or more. |

### Request example

```json
{
  "limit": 2,
  "order_by": {
    "field": "created_at",
    "order": "ASC"
  },
  "sharing_type": "EXTERNAL",
  "skip": 0
}
```

## Response

| Field | Type | Description |
| --- | --- | --- |
| `total_count` | int | Total number of assets. |
| `ref_asset[].id` | string | Asset unique identifier. |
| `ref_asset[].name` | string | Asset name. |
| `ref_asset[].description` | string | Asset description. Present only if the asset has a description. |
| `ref_asset[].sharing_type` | string | Asset sharing type, external or internal. |
| `ref_asset[].last_updated_time` | string | Epoch in seconds. |
| `ref_asset[].expiry_time` | string | Epoch in seconds. |

### Response example

```json
{
  "total_count": 2,
  "ref_asset": [
    {
      "id": "123456789012345101",
      "name": "MigratingfromSeismic.pptx",
      "sharing_type": "EXTERNAL",
      "last_updated_time": "1747671107",
      "expiry_time": "1725372698"
    },
    {
      "id": "123456789012345102",
      "name": "Screenshot 2024-04-15 at 4.18.51PM.png",
      "sharing_type": "EXTERNAL",
      "last_updated_time": "1747671107",
      "expiry_time": "1725845593"
    }
  ]
}
```

## Notes

- **Validation:** `field` and `order` are both required if `order_by` is used.
- **Behavior:** If multiple `asset_ids` are passed, only valid IDs are returned. Invalid ones are ignored silently.
- **Behavior:** If no results remain after applying `skip`, the `ref_asset` key may be missing from the response.

## Related

- [Get asset details](/docs/asset-hub/assets/get-asset-details/): Get the full metadata of an asset in the list.
- [Get asset media and transcript](/docs/asset-hub/assets/get-asset-media-and-transcript/): Get the media and transcript of an asset in the list.
