Replace webhooks

Replaces a webhook's tag, address and whether it is enabled.

PUT /v1/form/forms/{id}/webhooks/{webhook}

Addresshttps://api.hanzo.ai/v1/form/forms/{id}/webhooks/{webhook}
MethodPUT
Operationreplace_form_webhook
AuthAuthorization: Bearer $HANZO_API_KEY

Replaces a webhook's tag, address and whether it is enabled. A secret given is kept in place of the one held, rotate mints a new one, and either is answered once; otherwise the secret held stays. An org admin only.

Request

9 fields, body application/json (required).

FieldInTypeRequiredDescription
idpathstringyesID is the form's id or slug, from the path.
webhookpathstringyesWebhook is the webhook's id, from the path of a replace.
enabledbodyboolean—Enabled is whether responses are posted.
idbodystring—ID is the form's id or slug, from the path.
rotatebodyboolean—Rotate mints a new secret on a replace, and answers it.
secretbodystring—Secret sets the signing secret: 16 to 256 characters.
tagbodystring—Tag names the webhook in its form, at most 64 characters.
urlbodystring—URL is the https address posted to.
webhookbodystring—Webhook is the webhook's id, from the path of a replace.

Response

StatusBodyMeaning
200form.Webhookok
defaultproblem-detailsrefused

200 body — 8 fields.

FieldInTypeAlwaysDescription
createdbodystring—Created is when the webhook was made, RFC 3339.
enabledbodyboolean—Enabled is whether responses are posted.
formbodystring—Form is the form's id.
idbodystring—ID is the webhook's id.
secretbodystring—Secret is the signing secret, answered once: when the webhook is made or its secret is set or rotated.
tagbodystring—Tag names the webhook in its form.
updatedbodystring—Updated is when it last changed, RFC 3339.
urlbodystring—URL is the https address posted to.

Failure carries the platform error shape — see Errors.

Examples

hanzo form forms webhooks set <id> <webhook>
import { Configuration, FormApi } from 'hanzoai';

const api = new FormApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.replaceFormWebhook({ id: 'id', webhook: 'webhook', enabled: false, id: "<id>" });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import FormApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = FormApi(client).replace_form_webhook(id='id', webhook='webhook', enabled=False, id="<id>")
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.FormAPI.ReplaceFormWebhook(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, form_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = form_api::replace_form_webhook(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.FormApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new FormApi(client).replaceFormWebhook();

The method above is the one at the current release of the document. [email protected] (npm) and [email protected] (PyPI) were generated from an earlier release, where this operation carried a different id, so it spells the method differently — regenerating the clients is what makes the two agree. SDKs →

curl -X PUT https://api.hanzo.ai/v1/form/forms/<id>/webhooks/<webhook> \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "enabled": false,
       "id": "<id>"
     }'

Tool form, op replace_form_webhook — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "form",
         "arguments": {
           "op": "replace_form_webhook",
           "input": {
             "id": "<id>",
             "webhook": "<webhook>",
             "enabled": false
           }
         }
       }
     }'

Form API · All Hanzo APIs · Interactive reference

Was this page useful?
Broken link or missing step? Drop it in #docs on Discord or open a PR.