Sign inGet Started

List workspace media-library assets

GET
/v1/assets
for await (const asset of bird.assets.list({ kind: "image" })) {
  console.log(asset.id, asset.url);
}
Odpowiedź200
{
  "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.

Parametry zapytania

sortstring

Field to sort by. Defaults to created_at.

Possible values: created_at

kindstring

Return only assets in this category. This groups exact content_type values into images, video, audio, and documents.

Possible values: image, video, audio, document

content_typestring

Return 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

deletedstring

Whether 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

qstring

A case-insensitive substring match against the asset's name.

folder_idstring

Return 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_onlyboolean

Return only the assets at the top level of the library, filed in no folder. Cannot be combined with folder_id.

orderstring

Sort direction. Defaults to desc, which sorts from newest to oldest or largest to smallest, depending on the selected sort field.

Possible values: asc, desc

limitinteger

Maximum number of items to return per page.

starting_afterstring

Cursor from the next_cursor field of a previous list response. Returns items immediately after the cursor position in the current sort order.

ending_beforestring

Cursor 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_totalboolean

When true, the response includes a total field with the total number of items matching the request's filters across all pages.

Treść odpowiedzi

data
array of object
wymagane
Pokaż atrybuty podrzędne
data.created_at
string
wymagane
data.updated_at
string
wymagane
data.id
string
wymagane
data.url
string
wymagane

The asset's permanent public URL. Safe to embed or link in sent messages; for a document the usable form is a link.

data.thumbnail_url
nullable string
wymagane

A 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.name
string
wymagane

The asset's display name. Defaults to the uploaded file's name.

data.content_type
string
wymagane

The stored file's media type, determined from its contents.

data.kind
string
wymagane

The 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_bytes
integer
wymagane

The 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.width
nullable integer
wymagane

The stored image's width in pixels. Null for every kind but image.

data.height
nullable integer
wymagane

The stored image's height in pixels. Null for every kind but image.

data.alt_text
nullable string
wymagane

Default 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_id
nullable string
wymagane

The 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_at
nullable string
wymagane

When the asset was removed from the library, or null if it is still listed. A removed asset keeps serving at its original URL.

next_cursor
nullable string
wymagane

Cursor for the next page. Pass back as starting_after to advance forward. null when no next page exists.

prev_cursor
nullable string
wymagane

Cursor for the previous page. Pass back as ending_before to step backward. null when no previous page exists.

refresh_cursor
nullable string
wymagane

Refresh 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.

total
nullable integer

Total number of items matching the request's filters across all pages. Present only when include_total=true was passed; otherwise null.

Przejdź do dokumentacji, przewodników i przykładów dotyczących tego tematu.