{
"id": "place.stream.server.updateWebhook",
"defs": {
"main": {
"type": "procedure",
"input": {
"schema": {
"type": "object",
"required": [
"id"
],
"properties": {
"id": {
"type": "string",
"description": "The ID of the webhook to update."
},
"url": {
"type": "string",
"format": "uri",
"description": "The webhook URL where events will be sent."
},
"name": {
"type": "string",
"maxLength": 100,
"description": "A user-friendly name for this webhook."
},
"active": {
"type": "boolean",
"description": "Whether this webhook should be active."
},
"events": {
"type": "array",
"items": {
"enum": [
"chat",
"livestream",
"follow",
"mention"
],
"type": "string"
},
"description": "The types of events this webhook should receive."
},
"prefix": {
"type": "string",
"maxLength": 100,
"description": "Text to prepend to webhook messages."
},
"suffix": {
"type": "string",
"maxLength": 100,
"description": "Text to append to webhook messages."
},
"rewrite": {
"type": "array",
"items": {
"ref": "place.stream.server.defs#rewriteRule",
"type": "ref"
},
"description": "Text replacement rules for webhook messages."
},
"muteWords": {
"type": "array",
"items": {
"type": "string",
"maxLength": 100
},
"description": "Words to filter out from chat messages. Messages containing any of these words will not be forwarded."
},
"description": {
"type": "string",
"maxLength": 500,
"description": "A description of what this webhook is used for."
}
}
},
"encoding": "application/json"
},
"errors": [
{
"name": "WebhookNotFound",
"description": "The specified webhook was not found."
},
{
"name": "Unauthorized",
"description": "The authenticated user does not have access to this webhook."
},
{
"name": "InvalidUrl",
"description": "The provided webhook URL is invalid or unreachable."
},
{
"name": "DuplicateWebhook",
"description": "A webhook with this URL already exists for this user."
}
],
"output": {
"schema": {
"type": "object",
"required": [
"webhook"
],
"properties": {
"webhook": {
"ref": "place.stream.server.defs#webhook",
"type": "ref"
}
}
},
"encoding": "application/json"
},
"parameters": null,
"description": "Update an existing webhook configuration."
}
},
"$type": "com.atproto.lexicon.schema",
"lexicon": 1
}