Create a build hook in the Netlify site Settings > Build & deploy > Build hooks; specify a hook name and the target branch to build
Trigger via POST to the provided hook URL 'https://api.netlify.com/build_hooks/{hook-id}' with an empty body; optionally include JSON body 'clear_cache: true' to clear the build cache
For API-based deploys, use a Netlify personal access token or OAuth token; POST to 'https://api.netlify.com/api/v1/sites/{site_id}/builds' with 'Authorization: Bearer YOUR_TOKEN'
Monitor build status via GET '/api/v1/sites/{site_id}/builds' or '/api/v1/deploys/{deploy_id}' checking the 'state' field for 'ready', 'error', or 'processing'
For atomic file deploys (without git), POST to '/api/v1/sites/{site_id}/deploys' with a JSON body containing a 'files' map of paths to SHA1 digests, then upload changed files via PUT
Known gotchas
Build hook URLs encode the hook secret in the path; they offer no authentication beyond knowing the URL, so rotate them if exposed
The 'clear_cache' option in the hook body is only supported when Netlify's build system respects it; some framework caches (e.g. Next.js ISR) have separate cache invalidation mechanisms
Concurrent build limits apply per team plan; if a build is already running for a site, a new trigger may queue rather than cancel the existing build, depending on account settings
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp