Skip to content
AdCrunch
Esc
↑↓navigate↵open⌘Jpreview
On this page

asset_list

List the source media (images and video) your organization owns, each with where it has been registered.

Lists your organization’s Assets — the source media it owns — newest first. Each row comes back with its Registrations, so one call answers both “what creative do we have?” and “where has each piece been placed?”. See Bring your own creative for how Assets and Registrations relate.

Input

The active organization is taken from your token.

Argument Type Description
limit number The greatest number of Assets in the answer, from 1 to 500. The default is 100.
cursor string The nextCursor of the previous answer. Omit it to get the first page.

Output

{ assets: [...], nextCursor? }. When nextCursor is present, more Assets exist: call asset_list again with cursor set to that value. Each Asset row is shaped like:

Field Type Description
id ast_* The Asset id.
name string | null User-chosen name; null until renamed, falling back to filename.
filename string Original upload filename — never changes, the fallback for name.
kind 'image' | 'video' Selects how the file is registered.
mimeType string e.g. image/png, video/mp4.
sizeBytes number Stored size.
width / height number Pixel dimensions (images).
durationMs number Length in ms (video).
status 'pending' | 'ready' ready means finalized and usable.
registrations Registration[] Where the Asset is placed — see asset_get.

Assets whose bytes never arrived are excluded — a listing only shows media you can actually use.

Example

“What creative do we have on file, and where is it registered?”

Claude calls asset_list() and reads back each Asset with its kind, filename, and the advertisers it’s been registered to.

Errors

  • invalid_cursor — the cursor is not a nextCursor of this tool. Send it with no change, or omit it.
  • 401 or 403 — see Errors, which every tool shares. This one needs asset:read.

Reference

List the active organization’s Assets — the source media it owns (images and video) — newest first. Use asset_get to see which ad accounts an Asset has been registered to. The answer holds at most limit rows (default 100, maximum 500). When it carries nextCursor, more rows exist: call this tool again with the same arguments and cursor set to that value. When it carries no nextCursor, you have every row.

Input

Argument Type Required Description
cursor string, at least 1 character no The nextCursor of the previous page. Omit it to get the first page. Send it with no change, and with the same filters as the request that answered it: a cursor from a different query gets a 400 invalid_cursor. Do not build or change a cursor.
limit integer, 1 to 500 no The greatest number of rows on the page, from 1 to 500. The default is 100. A greater value gets a 400, with error of invalid_request. Default: 100.

Failure codes

A failed call has isError set, and structuredContent.error holds one of these codes. Errors describes the shape of a failed call.

  • invalid_cursor
  • forbidden
  • invalid_request
  • internal_error

Scope

The token must hold asset:read. Auth & scopes lists each scope.

Annotations

A client reads these hints. A hint that the tool does not declare has the default value of the MCP specification.

  • Read-only. The tool changes nothing.
  • Closed world. The tool reads and writes the data of AdCrunch only.

Was this page helpful?