> For the complete documentation index, see [llms.txt](https://docs-vnext.kiflo.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs-vnext.kiflo.com/developers/api-reference/assets/list-assets.md).

# List assets

Lists the assets of the library. When 'folder\_id' is provided, only the direct children of that folder are returned (the listing is not recursive). When 'folder\_id' is omitted, all assets across every folder level are returned as a flat, paginated list.

For File and Cobranded assets, the 'downloadUrl' is a pre-signed link that is valid for 3 hours only. Once it expires, list the asset again to obtain a fresh link.

```json
{"openapi":"3.0.1","info":{"title":"Kiflo Public API v3","version":"v3"},"security":[{"oauth2":["Asset.View","Api"]}],"components":{"securitySchemes":{},"schemas":{"AssetType":{"enum":["Unknown","File","Url","Cobranded","Folder"],"type":"string"},"AssetListResponseDto":{"type":"object","properties":{"items":{"type":"array","items":{"$ref":"#/components/schemas/AssetDto"},"nullable":true},"paginationSkipCount":{"type":"integer","format":"int32"},"totalCount":{"type":"integer","description":"Gets or sets the total number of items that could be returned by this command (without pagination).","format":"int32"}},"additionalProperties":false},"AssetDto":{"type":"object","properties":{"id":{"type":"integer","description":"The unique identifier of the asset.","format":"int32"},"name":{"type":"string","description":"The name of the asset.","nullable":true},"description":{"type":"string","description":"The description of the asset.","nullable":true},"type":{"$ref":"#/components/schemas/AssetType"},"parentFolderId":{"type":"integer","description":"The identifier of the folder that contains this asset. Empty when the asset is in the root (no parent folder).","format":"int32","nullable":true},"sharingType":{"$ref":"#/components/schemas/SharingType"},"downloadUrl":{"type":"string","description":"A pre-signed link to download the file, valid for 3 hours only. Set only for File and Cobranded assets; empty otherwise.\r\nOnce it expires, list the asset again to obtain a fresh link.","nullable":true},"url":{"type":"string","description":"The external web link the asset points to. Set only for Url assets; empty otherwise.","nullable":true},"originalFileName":{"type":"string","description":"The original name of the uploaded file. Set only for File and Cobranded assets; empty otherwise.","nullable":true},"creationDate":{"type":"string","description":"The date and time the asset was created, in UTC.","format":"date-time"},"updateDate":{"type":"string","description":"The date and time the asset was last updated, in UTC. Empty when the asset has never been updated.","format":"date-time","nullable":true}},"additionalProperties":false},"SharingType":{"enum":["Unknown","Private","Restricted","Public"],"type":"string"}}},"paths":{"/v3/assets":{"get":{"tags":["Assets"],"summary":"List assets","description":"Lists the assets of the library. When 'folder_id' is provided, only the direct children of that folder are returned (the listing is not recursive).\r\nWhen 'folder_id' is omitted, all assets across every folder level are returned as a flat, paginated list.\r\n            \r\nFor File and Cobranded assets, the 'downloadUrl' is a pre-signed link that is valid for 3 hours only. Once it expires, list the asset again to obtain a fresh link.","parameters":[{"name":"folder_id","in":"query","description":"Lists the assets directly inside this folder.\r\nWhen omitted, all assets across every folder level are returned as a flat list.","schema":{"type":"integer","format":"int32"}},{"name":"type","in":"query","description":"Filters assets on their type.\r\nWhen omitted, assets of every type are returned.","schema":{"$ref":"#/components/schemas/AssetType"}},{"name":"offset","in":"query","description":"The cursor used in pagination. This is the index of the first asset to be returned.","schema":{"type":"integer","format":"int32"}},{"name":"limit","in":"query","description":"The maximum number of assets to be returned. The default is 20.","schema":{"type":"integer","format":"int32"}},{"name":"sort_by","in":"query","description":"The property used to sort the assets by. The default is Name.","schema":{"type":"string"}},{"name":"order_by","in":"query","description":"The sorting direction for the returned assets. Accepted values: ASC, DESC. The default is ASC.","schema":{"type":"string"}}],"responses":{"200":{"description":"Assets returned","content":{"application/json":{"schema":{"$ref":"#/components/schemas/AssetListResponseDto"}}}},"400":{"description":"Invalid request"},"403":{"description":"Asset feature is not available"}}}}}}
```


---

# 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 dynamically by asking a question.

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

```
GET https://docs-vnext.kiflo.com/developers/api-reference/assets/list-assets.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
