delete_webhook
Remove a webhook from the ShipBob API to stop receiving automated notifications about fulfillment events.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| webhookId | Yes | The ID of the webhook to delete |
Implementation Reference
- src/tools/webhook-tools.js:62-77 (handler)Handler function that implements the core logic of the delete_webhook tool: deletes the specified webhook via the ShipBob API client and returns formatted success or error response.handler: async ({ webhookId }) => { try { await shipbobClient.deleteWebhook(webhookId); return { content: [{ type: "text", text: `Webhook deleted successfully` }] }; } catch (error) { return { content: [{ type: "text", text: `Error deleting webhook: ${error.message}` }], isError: true }; } }
- src/tools/webhook-tools.js:59-61 (schema)Input schema validation using Zod for the delete_webhook tool, requiring a webhookId string.schema: { webhookId: z.string().describe("The ID of the webhook to delete") },
- src/server.js:54-54 (registration)Registration call for the webhookTools array (containing delete_webhook tool) passed to registerTools function, which loops to call server.tool() for each tool on the MCP server.registerTools(webhookTools);
- src/api-client.js:127-129 (helper)ShipBobClient helper method deleteWebhook(id) that performs the actual DELETE API request to ShipBob's /webhooks/{id} endpoint, invoked by the tool handler.async deleteWebhook(id) { return this.request('DELETE', `/webhooks/${id}`); }
- src/server.js:23-32 (helper)Utility function registerTools that registers each tool in an array (including delete_webhook) to the MCP server.const registerTools = (toolsArray) => { toolsArray.forEach(tool => { server.tool( tool.name, tool.schema, tool.handler, { description: tool.description } ); }); };