API and MCP capability map

Which endpoint, MCP tool, CLI command and scope does each job: the hosted agent, the twelve tools, files, webhooks and workspace settings.

Updated

Everything Wavemaker makes goes through one of two doors. The session API hands a brief to the hosted agent, which picks the method itself. The twelve tools let your own code or agent do the work step by step. The session API is reached over HTTP, the CLI and the SDKs; the tools are reached over all of those and MCP. Every surface applies the same validation, scopes, policies and result envelope.

Image, video, speech, music and editing are routes, model profiles and graphs behind these tools, not one endpoint per model. search finds them; read shows what each needs.

Choose a door

You want toUseGuide
Hand over a brief and get finished ads backThe session API, /v1/sessionsMake an ad
Drive each step yourself: one model, one edit, your own timeline or graphThe tools, POST /v1/tools/{tool}Quote and run work
Let an outside agent such as Claude, ChatGPT, Cursor or Grok use WavemakerThe same twelve tools over MCP at https://api.wavemaker.io/mcpMCP setup
Work from a terminalThe wavemaker CLICLI

Task map

The MCP tool always has the same name and arguments as the HTTP tool, flattened, plus optional project and request_id. The CLI column lists the wavemaker command; wavemaker api call {tool} reaches any tool, and a tool that can spend also needs --request-id {id}. A dash means there is no dedicated command.

Make and price work with the hosted agent

TaskHTTPCLIScope
Price a brief without a sessionPOST /v1/quoteswavemaker make "..." --quote-onlyany
Start a session and post a briefPOST /v1/sessions, then POST /v1/sessions/{id}/turnswavemaker make "..."run
Price a turn in a sessionPOST /v1/sessions/{id}/turns with quote_only: true–run
Follow a session's eventsGET /v1/sessions/{id}/eventswavemaker production watch {id}read
Read a turn's outcome and deliveriesGET /v1/sessions/{id}/requests/{request_id}–read
List sessionsGET /v1/sessionswavemaker production listread
Send a follow-up or revisionPOST /v1/sessions/{id}/turnswavemaker production steer {id} "..."run
Accept or decline an approvalPOST /v1/sessions/{id}/approvals/{approval_id}wavemaker production approve {id} {approval_id}run
Stop a running turnPOST /v1/sessions/{id}/interruptwavemaker production interrupt {id}run
Close a sessionPOST /v1/sessions/{id}/close–run
Take over a session after a restartPOST /v1/sessions/{id}/claim with takeover: true–run

Find and read

TaskHTTP or MCP toolCLIScope
Find models, routes, graphs, nodes, cards, styles, formats, fonts, worked examples and past worksearchwavemaker api call searchread
Read a file, artifact, job, card, graph, model, route or receiptreadwavemaker api call readread
See the credit balanceread of wm://creditswavemaker api call readread
List projectsread of wm://file/wavemaker api call readread
List a project's filesread of wm://file/{project}/wavemaker api call readread
Search the webgenerate with route firecrawl.search (firecrawl.scrape for one page)wavemaker api call generaterun

Make media yourself

TaskHTTP or MCP toolCLIScope
Price a generate, edit, compose or run callthat tool with quote_only: truewavemaker api call {tool}run
Run a partner model route or a model profilegenerate with route or modelwavemaker api call generaterun
Run a Comfy graphgenerate with graphwavemaker run {graph} --request-id {id}run
Check a graph without running itgenerate with graph and validate_only: truewavemaker graph validate {graph}run
Trim, crop, resize, reframe, fit an ad size, cut a 360 view, upscale, retime, grade, mix, extract audio, prepare a logoeditwavemaker api call editrun
Render a timeline at draft or final tier, or package an HTML5 bannercomposewavemaker api call composerun
Run Python with the SDK, Pillow and fonts in a sandboxrunwavemaker api call runrun
Wait on a jobread of wm://job/{id} with wait_swavemaker watch {id}read
Cancel a jobwrite with {uri: "wm://job/{id}", cancel: true}wavemaker cancel {id}write
Collect a job's outputsread of each wm://artifact/{sha256}wavemaker outputs {id} --out {dir}read

Check and deliver

TaskHTTP or MCP toolCLIScope
Filmstrip, cuts, motion, on-screen text, faces, identity against plateswatchwavemaker api call watchread
Loudness, transcript against expected text, mix balance, voice auditionslistenwavemaker api call listenrun
Score takes against plates, references or each othercomparewavemaker api call comparerun
Critique a still, display set, video or audio against the brief and destinationreviewwavemaker api call reviewrun
Check a file against a destination's spec and record the deliverydeliverwavemaker api call deliverwrite

Move files

TaskHTTP or MCP toolCLIScope
Upload a filewrite with upload, PUT, then write with commit; or POST /api/v1/inputswavemaker files upload {path}write
Import a file from a public URLwrite with from_urlwavemaker api call writewrite
Write project files and memorywrite to wm://file/{project}/{path} or wm://memory/{path}wavemaker api call writewrite
Download a file with the credentialGET /api/v1/files/artifact/{sha256}wavemaker files download artifact {sha256} --out {path}read
Get a signed download linkread of wm://artifact/{sha256}wavemaker api call readread
Copy files to your own S3-compatible bucket/v1/destinations, POST /v1/exports–write (listing read)

Account and workspace

TaskHTTPCLIScope
See who a credential isGET /v1/identitywavemaker auth status shows the saved sign-inany
List the tools and their schemasGET /v1/toolswavemaker api list lists the tool names without connectingany
Push events to your server/v1/webhooks/endpoints, /v1/webhooks/deliveries–write (reads read)
Read or set the model and route policyGET, PUT /v1/workspace/policy–read; write and owner or admin to set
Account, credits, content, support and other older operations still servedPOST /api/v1/ops/{name}wavemaker api call {operation}the operation's

"Any" means any live credential. See Account API access for the older operations that remain.

The twelve tools

ToolWhat it doesScope
searchFind tools, cards, graphs, models, routes, nodes, worked examples, past work, fonts, formats, styles and recipes. Never spends.read
readRead a file, folder, artifact (with a signed link), job, card, tool, graph, model, route, recipe, node, format, font, receipt or the balance; wait on jobs.read
writeWrite or delete files and memory, upload or import media, cancel a job.write
generateRun a route, a model profile or a Comfy graph; quote or validate first.run
editChange one owned file into a new one; a still stays a still and audio stays audio.run
composeRender a timeline at draft or final tier, or package an HTML5 banner.run
watchLook at video: filmstrips, motion, cuts, on-screen text, faces and drift.read
listenHear audio: loudness, silences, transcript, balance and voice auditions.run
compareCompare takes or candidates for identity, look, motion or text.run
reviewMeasure and critique a still, display set, video or audio. Advisory.run
deliverCheck final files against a destination's spec and record the delivery.write
runPython in a sandbox with the SDK, Pillow and fonts, for batches and pixel work.run

generate, edit, compose, listen, compare, review and run can spend credits and need a request_id. generate, edit, compose and run also take quote_only: true to price a call first; listen, compare and review report what their model call cost in cost. MCP hosts see search, read, watch, listen, compare and review marked as read-only, because they change no project, file or delivery; listen, compare and review still charge credits.

Resources

Tools address resources by URI:

  • wm://file/{project}/{path}, and wm://file/ for the list of projects
  • wm://artifact/{sha256}
  • wm://memory/{path}
  • wm://job/{id} and wm://receipt/{id}
  • wm://card/{id}, wm://tool/{name}, wm://graph/{id}, wm://model/{id}, wm://route/{name}, wm://recipe/{name}, wm://node/{class}, wm://format/{id}, wm://font/{family}
  • wm://credits

Deliberate boundaries

  • Sign-in, OAuth consent, credential creation, provider-key entry, passwords and legal agreements stay in the browser. Never put a password or provider key in a tool argument.
  • Generating doesn't publish anything. Only deliver with a delivery_* role marks a file delivered, and Wavemaker doesn't buy media or launch campaigns.
  • review is advisory. Delivery checks a destination's spec; it doesn't judge quality.
  • A session can't switch to another agent mid-conversation. To use your own agent, give it the tools over MCP, the CLI or an SDK.
  • The older agents.*, productions.*, jobs.*, compute.*, creative.*, generation.*, capabilities.* and api.* operations are not served (501 operation_not_ported).

Related guidance