Skip to Content
Welcome to 10ex Docs — explore Tutorials, Guides, Reference, Concepts, Use Cases, and the Agent Store.
Reference

assets

Base path: /api/v1/assets

The assets module is the artifact store for everything generative agents produce. It tracks ad copy variants, hero images, slide decks, video files, blog drafts, and rendered creative bundles. Each asset carries provenance (which agent produced it, against which brand and brief), a preview URL, version history, and an approval state so a human can sign off before publishing. Schemas live in app/modules/assets/schemas.py.

What you can do with the assets API

  • Browse assets produced by a specific agent run or campaign
  • Fetch preview URLs for in-app rendering or external review
  • Move an asset between draft, pending review, approved, and archived
  • Roll back to an earlier version when a regeneration goes sideways
  • Tag assets with brand, audience, or channel metadata for search

Common operations

  • List assets, filtered by type (image, copy, slide, video), agent, or status
  • Fetch a single asset with its full version history
  • Update approval state (mark approved, request changes, archive)
  • Get a signed preview URL for embedding in dashboards or emails
  • Bulk export approved assets for a campaign handoff
  • Delete a draft asset that you no longer want

Authentication & scoping

Workspace-scoped via API key in the Authorization: Bearer tnx_... header. Assets are visible only to the workspace that produced them.

Pagination & filtering

List endpoints paginate with cursor-based limit + next_cursor and accept filters by type, status, agent slug, and date range. See Pagination.

What you can do with the assets API beyond storage

Assets become inputs to the next stage of a campaign. The marketing module reads approved ad copy when launching campaigns. The webinars module pulls approved slide decks. The landing module embeds approved hero images. Approval state is the contract between generation and publishing.

MCP equivalents

MCP prompt

list_assets({ campaign_id, status: "approved" })

MCP prompt

approve_asset({ asset_id })

Last updated on