List deploy hooks
list_deploy_hooks
Lists the deploy hooks on a site with their name, whether each is on and how their calls went.
A deploy hook is a secret URL that starts a publish of the site when anything calls it with a plain GET, which is how an outside system such as a CI pipeline or a CMS rebuilds the site. Each hook comes back with when it was last called and how that call went, and Calls, the number of calls in the last 30 days (total) and how many of them started a build (started).
Each hook carries Masked_Url, the URL with its secret part hidden, which tells hooks apart but cannot be called. The real URL is never returned here. Read it with get_deploy_hook_url, which needs the separate credentials:reveal scope.
A site holds at most 10 hooks, so one call returns all of them. See Deploy hooks.
Request
Call it with a POST to https://api.modulify.ai/v1/list_deploy_hooks, sending the inputs below as a JSON object. The token needs the config:read scope.
It only reads and changes nothing, so retrying it is safe.
curl -X POST https://api.modulify.ai/v1/list_deploy_hooks \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
-d '{"projectId":"PROJECT_ID"}'Over MCP, the same method is the list_deploy_hooks tool.
Inputs
| Input | Type | Required | Description |
|---|---|---|---|
projectId |
string | Yes | The site id. |
Response
Every call answers with the JSON envelope of success, message, data, code and version. data holds the result described above, and on a method that returns a total, count carries it. The response headers carry the call's X-Request-Id and what is left of your per-minute budget in X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. Errors explains every status code a call can answer with.