art_…) and the persisted event carries a media_ref block pointing at it:
media_ref with the two endpoints on this page.
Model context identifies conversation attachments by their public artifact_id, allowing an agent with download_file to copy one to an attached machine using path: "/artifacts/<artifact_id>" and a machine destination.
Artifacts uploaded by an agent
A successfulupload_file result contains the path as structured data and a media_ref for presentation. Use the artifact ID from the final component of the path with the metadata and content endpoints below.
The relevant fields in the resulting event look like this:
Get artifact metadata
Fetch the descriptor first when you need to decide how to render or whether to download:digest is a content hash — useful for caching and deduplication on your side: if you’ve already stored that digest, skip the download.
Full schema and playground: Get artifact.
Download the content
The content endpoint returns the raw bytes with the artifact’s content type:Full schema and playground: Get artifact content.
Where artifacts come from
There’s no general-purpose public endpoint for creating artifacts; they’re created during agent interactions.
Next
Streaming events
Where media_ref blocks appear in each event kind
Sending input
Attach files to your messages