Skip to main content
POST
/
v2
/
workspace
/
webhookconfig
/
update
Update Webhook Config
curl --request POST \
  --url https://api.velt.dev/v2/workspace/webhookconfig/update \
  --header 'Content-Type: application/json' \
  --header 'x-velt-api-key: <x-velt-api-key>' \
  --header 'x-velt-auth-token: <x-velt-auth-token>' \
  --data '
{
  "data": {
    "useWebhookService": true,
    "webhookServiceConfig": {
      "authToken": "<string>",
      "rawNotificationUrl": "<string>",
      "processedNotificationUrl": "<string>",
      "encodeData": true,
      "encryptData": true,
      "publicKey": "<string>",
      "triggers": {
        "comment_annotation.add": true,
        "comment.add": true,
        "comment.update": true,
        "comment.delete": true,
        "comment_annotation.status_change": true,
        "comment_annotation.assign": true,
        "comment_annotation.priority_change": true,
        "comment_annotation.suggestion_accept": true,
        "comment_annotation.suggestion_reject": true,
        "comment.reaction_add": true,
        "comment.reaction_delete": true
      }
    }
  }
}
'
{
  "result": {
    "status": "success",
    "message": "Webhook configuration updated successfully.",
    "data": {
      "useWebhookService": true,
      "webhookServiceConfig": {
        "authToken": "webhook_auth_token_here",
        "rawNotificationUrl": "https://example.com/webhooks/raw",
        "processedNotificationUrl": "https://example.com/webhooks/processed"
      }
    }
  }
}
Use this API to update the webhook service configuration for a workspace. At least one of useWebhookService or webhookServiceConfig must be provided.
This endpoint uses API-key-level auth: pass x-velt-api-key and x-velt-auth-token as headers. You can obtain these from the Get Auth Tokens endpoint.
Currently only supported for Basic Webhooks.
Defaults on first enable. If you enable the service (useWebhookService: true) and the stored config has no triggers yet (defaults are seeded even if authToken / URLs already exist), defaults are seeded automatically: the standard comment triggers and all huddle triggers are turned on, the crdt and recorder triggers are off, and enableDataProtection is false. The opt-in suggestion_accept / suggestion_reject comment triggers stay off until you enable them explicitly. Existing non-trigger fields are preserved, and any webhookServiceConfig values you send in the same request are merged on top of these defaults.
The response data echoes the latest post-write state as { useWebhookService, webhookServiceConfig } — the same shape returned by Get Webhook Config. Fields not part of your request fall back to the existing stored values.

Endpoint

POST https://api.velt.dev/v2/workspace/webhookconfig/update

Headers

x-velt-api-key
string
required
Your API key.
x-velt-auth-token
string
required

Body

Params

data
object
required

Example Request

{
  "data": {
    "useWebhookService": true,
    "webhookServiceConfig": {
      "authToken": "webhook_auth_token_here",
      "rawNotificationUrl": "https://example.com/webhooks/raw",
      "processedNotificationUrl": "https://example.com/webhooks/processed"
    }
  }
}

Example Response

Success Response

{
  "result": {
    "status": "success",
    "message": "Webhook configuration updated successfully.",
    "data": {
      "useWebhookService": true,
      "webhookServiceConfig": {
        "authToken": "webhook_auth_token_here",
        "rawNotificationUrl": "https://example.com/webhooks/raw",
        "processedNotificationUrl": "https://example.com/webhooks/processed"
      }
    }
  }
}

Failure Response

{
  "error": {
    "status": "INVALID_ARGUMENT",
    "message": "Invalid webhook service configuration."
  }
}
{
  "result": {
    "status": "success",
    "message": "Webhook configuration updated successfully.",
    "data": {
      "useWebhookService": true,
      "webhookServiceConfig": {
        "authToken": "webhook_auth_token_here",
        "rawNotificationUrl": "https://example.com/webhooks/raw",
        "processedNotificationUrl": "https://example.com/webhooks/processed"
      }
    }
  }
}