Live video on the AT Protocol
at eli/multitesting 108 lines 3.3 kB view raw
1{ 2 "lexicon": 1, 3 "id": "place.stream.server.updateWebhook", 4 "defs": { 5 "main": { 6 "type": "procedure", 7 "description": "Update an existing webhook configuration.", 8 "input": { 9 "encoding": "application/json", 10 "schema": { 11 "type": "object", 12 "required": ["id"], 13 "properties": { 14 "id": { 15 "type": "string", 16 "description": "The ID of the webhook to update." 17 }, 18 "url": { 19 "type": "string", 20 "format": "uri", 21 "description": "The webhook URL where events will be sent." 22 }, 23 24 "events": { 25 "type": "array", 26 "items": { 27 "type": "string", 28 "enum": ["chat", "livestream", "follow", "mention"] 29 }, 30 "description": "The types of events this webhook should receive." 31 }, 32 "active": { 33 "type": "boolean", 34 "description": "Whether this webhook should be active." 35 }, 36 "prefix": { 37 "type": "string", 38 "maxLength": 100, 39 "description": "Text to prepend to webhook messages." 40 }, 41 "suffix": { 42 "type": "string", 43 "maxLength": 100, 44 "description": "Text to append to webhook messages." 45 }, 46 "rewrite": { 47 "type": "array", 48 "items": { 49 "type": "ref", 50 "ref": "place.stream.server.defs#rewriteRule" 51 }, 52 "description": "Text replacement rules for webhook messages." 53 }, 54 "name": { 55 "type": "string", 56 "maxLength": 100, 57 "description": "A user-friendly name for this webhook." 58 }, 59 "description": { 60 "type": "string", 61 "maxLength": 500, 62 "description": "A description of what this webhook is used for." 63 }, 64 "muteWords": { 65 "type": "array", 66 "items": { 67 "type": "string", 68 "maxLength": 100 69 }, 70 "description": "Words to filter out from chat messages. Messages containing any of these words will not be forwarded." 71 } 72 } 73 } 74 }, 75 "output": { 76 "encoding": "application/json", 77 "schema": { 78 "type": "object", 79 "required": ["webhook"], 80 "properties": { 81 "webhook": { 82 "type": "ref", 83 "ref": "place.stream.server.defs#webhook" 84 } 85 } 86 } 87 }, 88 "errors": [ 89 { 90 "name": "WebhookNotFound", 91 "description": "The specified webhook was not found." 92 }, 93 { 94 "name": "Unauthorized", 95 "description": "The authenticated user does not have access to this webhook." 96 }, 97 { 98 "name": "InvalidUrl", 99 "description": "The provided webhook URL is invalid or unreachable." 100 }, 101 { 102 "name": "DuplicateWebhook", 103 "description": "A webhook with this URL already exists for this user." 104 } 105 ] 106 } 107 } 108}