List workspace media-library assets
/v1/assetsfor await (const asset of bird.assets.list({ kind: "image" })) {
console.log(asset.id, asset.url);
}for asset in client.assets.list(kind="image"):
print(asset.id, asset.url)for asset, err := range client.Assets.List(context.Background(), bird.AssetsListParams{Kind: "image"}) {
if err != nil {
log.Fatal(err)
}
fmt.Println(asset.Id, *asset.Url)
}foreach ($bird->assets->list(['kind' => 'image']) as $asset) {
echo $asset->getId(), ' ', $asset->getUrl(), PHP_EOL;
}bird assets listcurl -X GET "https://us1.platform.bird.com/v1/assets" \
-H "Authorization: Bearer $TOKEN" \
--url-query "sort=created_at" \
--url-query "deleted=exclude" \
--url-query "order=desc" \
--url-query "limit=25" \
--url-query "include_total=false"{
"data": [
{
"created_at": "2026-05-20T09:14:52Z",
"updated_at": "2026-05-25T16:42:01Z",
"id": "ast_01krdgeqcxet5s7t44vh8rt9mg",
"kind": "image",
"folder_id": "asf_01krdgeqcxet5s7t44vh8rt9mg"
}
],
"next_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE0OjAzOjEwWlwiIiwiaSI6IjAxOTJmM2IxLTRjN2UtN2EyYi05ZDYxLThmM2E1YzJlN2I0MCJ9",
"prev_cursor": null,
"refresh_cursor": "eyJ2IjoxLCJzIjoiXCIyMDI2LTA1LTI1VDE2OjQyOjAxWlwiIiwiaSI6IjAxOTJmM2IxLTllMDQtN2NkMy1iODE3LTJhNmY0ZDFjOGUwOSJ9"
}
Returns a cursor page of the workspace's media-library assets, most recently created first. Filters can narrow results by media type, name, deletion status, or folder placement.
查询参数
sortstringField to sort by. Defaults to created_at.
Possible values: created_at
kindstringReturn only assets in this category. This groups exact content_type values into images, video, audio, and documents.
Possible values: image, video, audio, document
content_typestringReturn only assets stored with this media type.
Possible values: image/png, image/jpeg, image/gif, video/mp4, video/webm, video/quicktime, audio/mpeg, audio/mp4, audio/ogg, audio/wav, application/pdf
deletedstringWhether to include assets that have been removed from the library. Removed assets keep serving at their original URL, so they remain listable.
Possible values: exclude, include, only
qstringA case-insensitive substring match against the asset's name.
folder_idstringReturn only the assets filed directly in this folder. Subfolders are not included, and a folder that does not exist matches nothing. Cannot be combined with root_only.
root_onlybooleanReturn only the assets at the top level of the library, filed in no folder. Cannot be combined with folder_id.
orderstringSort direction. Defaults to desc, which sorts from newest to oldest or largest to smallest, depending on the selected sort field.
Possible values: asc, desc
limitintegerMaximum number of items to return per page.
starting_afterstringCursor from the next_cursor field of a previous list response. Returns items immediately after the cursor position in the current sort order.
ending_beforestringCursor from the prev_cursor or refresh_cursor field of a previous list response. Returns items immediately before the cursor position in the current sort order. prev_cursor returns the preceding page. refresh_cursor anchors at the first row of that response, which on a newest-first sort is how to fetch the items that have appeared since.
include_totalbooleanWhen true, the response includes a total field with the total number of items matching the request's filters across all pages.
响应载荷
data显示子属性
data.created_atdata.updated_atdata.iddata.urlThe asset's permanent public URL. Safe to embed or link in sent messages; for a document the usable form is a link.
data.thumbnail_urlA small preview of the asset, for rendering a picker or a grid. Intended for your own interfaces rather than for embedding in messages. Null for every kind but image: generating a preview of a video, an audio file, or a document would mean rendering its contents, which the library does not do. Show an icon for the kind instead.
data.nameThe asset's display name. Defaults to the uploaded file's name.
data.content_typeThe stored file's media type, determined from its contents.
data.kindThe category a media-library asset's type falls into. Use it to group or filter a mixed library.
image: covers PNG, JPEG, and GIF.video: covers MP4, WebM, and QuickTime.audio: covers MP3, M4A, Ogg, and WAV.document: covers PDF.
Possible values (may grow over time): image, video, audio, document
data.size_bytesThe stored file's size in bytes. Images are re-encoded on upload, so for those this can differ from the size of the file you sent. Every other kind is stored byte-for-byte.
data.widthThe stored image's width in pixels. Null for every kind but image.
data.heightThe stored image's height in pixels. Null for every kind but image.
data.alt_textDefault alternative text describing the asset, carried along whenever it is placed. Most mail clients block images by default, so for an image this is often the only thing a recipient reads.
data.folder_idThe folder the asset is filed in, or null when it sits at the top level of the library. Filing an asset never changes its URL.
data.deleted_atWhen the asset was removed from the library, or null if it is still listed. A removed asset keeps serving at its original URL.
next_cursorCursor for the next page. Pass back as starting_after to advance forward. null when no next page exists.
prev_cursorCursor for the previous page. Pass back as ending_before to step backward. null when no previous page exists.
refresh_cursorRefresh anchor, the first row of this response. Pass back as ending_before to fetch what precedes it in the current sort order. On a newest-first sort those are the items that have appeared since; on any other sort they are the items that sort earlier, so refreshing such a list means re-fetching it instead. Non-null whenever data is non-empty; null only on an empty page. Distinct from prev_cursor.
totalTotal number of items matching the request's filters across all pages. Present only when include_total=true was passed; otherwise null.