deleteWebhook
Remove a webhook from a Spline 3D scene to stop receiving automated notifications and updates for that specific scene configuration.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| sceneId | Yes | Scene ID | |
| webhookId | Yes | Webhook ID |
Implementation Reference
- src/tools/api-webhook-tools.js:222-245 (handler)The handler function for the 'deleteWebhook' tool. It takes sceneId and webhookId, calls the apiClient to perform the deletion, and returns a formatted success or error message in the expected MCP response format.async ({ sceneId, webhookId }) => { try { await apiClient.deleteWebhook(sceneId, webhookId); return { content: [ { type: 'text', text: `Webhook ${webhookId} deleted successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error deleting webhook: ${error.message}` } ], isError: true }; } }
- Zod input schema for the 'deleteWebhook' tool, validating sceneId and webhookId as non-empty strings.{ sceneId: z.string().min(1).describe('Scene ID'), webhookId: z.string().min(1).describe('Webhook ID'), },
- src/tools/api-webhook-tools.js:216-246 (registration)Registration of the 'deleteWebhook' tool on the MCP server using server.tool(), including schema and handler.server.tool( 'deleteWebhook', { sceneId: z.string().min(1).describe('Scene ID'), webhookId: z.string().min(1).describe('Webhook ID'), }, async ({ sceneId, webhookId }) => { try { await apiClient.deleteWebhook(sceneId, webhookId); return { content: [ { type: 'text', text: `Webhook ${webhookId} deleted successfully` } ] }; } catch (error) { return { content: [ { type: 'text', text: `Error deleting webhook: ${error.message}` } ], isError: true }; } } );
- src/utils/api-client.js:222-224 (helper)Supporting helper method in apiClient that wraps the HTTP DELETE request to remove the webhook from the Spline API.async deleteWebhook(sceneId, webhookId) { return this.request('DELETE', `/scenes/${sceneId}/webhooks/${webhookId}`); }