bulk_restore_assets
Restore multiple deleted assets in Storyblok by providing their IDs, recovering them from trash.
Instructions
Restores multiple previously deleted assets
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ids | Yes | List of asset IDs to restore |
Implementation Reference
- src/tools/assets.ts:263-286 (handler)The tool handler function for 'bulk_restore_assets'. It validates input (non-empty ids array), calls the API endpoint '/assets/bulk_restore' via apiPost, and returns the JSON response.
// Tool: bulk_restore_assets server.tool( 'bulk_restore_assets', 'Restores multiple previously deleted assets', { ids: z.array(z.number()).describe('List of asset IDs to restore'), }, async ({ ids }) => { if (!ids || ids.length === 0) { return createErrorResponse('ids list cannot be empty'); } try { const payload = { ids }; const data = await apiPost('/assets/bulk_restore', payload); return createJsonResponse(data); } catch (error) { if (error instanceof APIError) { return createErrorResponse(error); } throw error; } } ); - src/tools/assets.ts:267-269 (schema)The Zod schema for the 'bulk_restore_assets' tool input: an array of numbers (ids) describing the asset IDs to restore.
{ ids: z.array(z.number()).describe('List of asset IDs to restore'), }, - src/tools/assets.ts:264-286 (registration)Registration of the 'bulk_restore_assets' tool on the MCP server via server.tool(). It is exported as part of the registerAssets function.
server.tool( 'bulk_restore_assets', 'Restores multiple previously deleted assets', { ids: z.array(z.number()).describe('List of asset IDs to restore'), }, async ({ ids }) => { if (!ids || ids.length === 0) { return createErrorResponse('ids list cannot be empty'); } try { const payload = { ids }; const data = await apiPost('/assets/bulk_restore', payload); return createJsonResponse(data); } catch (error) { if (error instanceof APIError) { return createErrorResponse(error); } throw error; } } );