Update Superagent webhook

<Info>This API is in beta. Endpoints, fields, and behavior may still change, so avoid depending on it in production.</Info>

Changes a Superagent's webhook.

Send only the fields you want to change. Send description: null to remove the label. events takes one or more of message.created, which fires when a message is added to a conversation, and message.completed, which fires when the agent finishes a reply. target_url has to be a public HTTPS URL.

enabled: true turns a webhook back on after Base44 turned it off for failing, and resets consecutive_failures. enabled: false turns it off. signing: "rotate" generates a new signing secret and returns it once in secret, and signing: "disable" stops signing deliveries.

<Note>This endpoint accepts a personal API key or personal access token belonging to an editor of the agent. A read-only key is refused, and workspace API keys are not accepted.</Note>

patch/api/agents/{agent_id}/webhooks/{webhook_id}

Path parameters

webhook_idstring required

ID of the webhook to change. Get it from List Superagent webhooks.

ID of the webhook to change. Get it from List Superagent webhooks.

agent_idstring required

ID of the Superagent. It's the agent's app ID, shown in the agent's developer settings.

ID of the Superagent. It's the agent's app ID, shown in the agent's developer settings.

Request body

target_urlstring nullable

New public HTTPS URL that receives the events.

eventsstring[] nullable

New set of events to receive. One or more of message.created and message.completed.

descriptionstring nullable

New label for the webhook, or null to remove it.

enabledboolean nullable

true turns the webhook back on and resets consecutive_failures. false turns it off.

signingstring nullable

rotate generates a new signing secret and returns it once in secret. disable removes the secret, so deliveries are no longer signed.

Example request

{
  "target_url": "https://example.com/hooks/agent-v2",
  "events": [
    "message.created",
    "message.completed"
  ],
  "description": "CRM sync",
  "enabled": true,
  "signing": "rotate"
}

Response

The updated webhook.

idstring required

ID of the webhook.

target_urlstring required

HTTPS URL Base44 sends the events to.

eventsstring[] required

Events the webhook receives. message.created fires when a message is added to a conversation, and message.completed when the agent finishes a reply.

descriptionstring nullable required

Your label for the webhook, or null when it has none.

has_secretboolean required

Whether deliveries are signed. When true, each delivery carries an X-Base44-Signature header, an HMAC-SHA256 of the body.

last_trigger_timestring date-time nullable required

Time of the last delivery attempt, successful or not, as a UTC timestamp in ISO 8601 format, or null before the first one.

consecutive_failuresinteger required

Deliveries that failed in a row. After 20, Base44 turns the webhook off and sets disabled_at.

disabled_atstring date-time nullable required

Time the webhook was turned off, as a UTC timestamp in ISO 8601 format, or null while it's on. Turn it back on with enabled: true in Update Superagent webhook.

created_datestring date-time required

Time the webhook was created, as a UTC timestamp in ISO 8601 format.

updated_datestring date-time required

Time the webhook last changed, as a UTC timestamp in ISO 8601 format.

secretstring nullable

The signing secret, returned only in the response that generates it. Store it, because no other response shows it again.

Example response

{
  "id": "68a1d0f4f0b9d3002e7a5c52",
  "target_url": "https://example.com/hooks/agent",
  "events": [
    "message.completed"
  ],
  "description": "CRM sync",
  "has_secret": true,
  "last_trigger_time": "2026-08-02T14:30:00Z",
  "last_error": {
    "message": "Non-2xx response: 500",
    "attempted_at": "2026-08-02T14:30:00+00:00",
    "status_code": 500,
    "response_body": "Internal Server Error",
    "error_type": "ConnectTimeout"
  },
  "disabled_at": "2026-08-03T08:00:00Z",
  "created_date": "2026-08-01T09:15:00Z",
  "updated_date": "2026-08-02T14:30:00Z",
  "secret": "Rk3x9QeN0vZ8bL2mT6yH4cJ1wP7sD5fG0aX9kV3uE8o"
}

Changes

Changed in 1 of the 26 revisions of this API.1

Of the 26 revisions, 1 has no diff computed.