POST https://api.render.com/v1/services/{serviceId}/deploys. Optional body: clearCache ('clear'|'do_not_clear' — 'clear' wipes the build cache first), commitId (deploy a specific git SHA; does NOT disable autodeploys), imageUrl (image-backed services; host/repository/name must match the service's existing image config), deployMode ('deploy_only'|'build_and_deploy') (https://api-docs.render.com/reference/create-deploy).
201/202 = deploy queued. Poll GET https://api.render.com/v1/services/{serviceId}/deploys — supports status array filter, createdBefore/After, updatedBefore/After, finishedBefore/After (ISO 8601), cursor + limit (1-100, default 20) (https://api-docs.render.com/reference/list-deploys).
Stop polling when the latest deploy reaches a live/succeeded status; treat failed/canceled statuses as terminal.
Known gotchas
deployMode cannot be combined with commitId, imageUrl, or clearCache — mutually exclusive (https://api-docs.render.com/reference/create-deploy).
409 = resource state conflict (e.g. service in a state that can't deploy); 429 = rate limited (https://api-docs.render.com/reference/create-deploy).
Deploying a specific commitId does not turn off autodeploys — a later push can replace your pinned deploy (https://api-docs.render.com/reference/create-deploy).
Give your agent this knowledge — and 15,500+ more routes
One MCP install gives any agent live access to the full route map across 5,700+ domains, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp
Need this verified for your stack — or a route we don't have yet?