Modulify

Reveal a deploy hook URL

get_deploy_hook_url

Returns the full URL of one deploy hook in plain text.

POST /v1/get_deploy_hook_urlScopecredentials:revealRead only

The URL is the credential: anyone holding it can start a publish of the site with a plain GET, with no other check. It lands wherever the response goes, an AI client's transcript included, which is why it sits behind credentials:reveal, a scope that is unticked by default.

The tool tells the client never to print it, put it in a page, a committed file or a public CI configuration, or send it anywhere you did not ask for. It also tells the client to reach for it only when you are wiring the hook into the system that will call it, and to store it there as a secret. See Deploy hooks.

Request

Call it with a POST to https://api.modulify.ai/v1/get_deploy_hook_url, sending the inputs below as a JSON object. The token needs the credentials:reveal scope.

It only reads and changes nothing, so retrying it is safe.

curl -X POST https://api.modulify.ai/v1/get_deploy_hook_url \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"projectId":"PROJECT_ID","hookId":"HOOK_ID"}'

Over MCP, the same method is the get_deploy_hook_url tool.

Inputs

Input Type Required Description
projectId string Yes The site id.
hookId string Yes The hook id from list_deploy_hooks.

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.