{"ok":true,"site":{"host":"box.david888.com","url":"https://box.david888.com/","type":"live","desc":"888 BOX","tools":[{"name":"upload_asset_by_url","kind":"act","impl":"imperative","description":"Upload an image, video, audio, or document file from a remote URL to 888box","inputSchema":{"type":"object","properties":{"url":{"type":"string","description":"Direct URL of the asset to download and store"},"title":{"type":"string","description":"Optional title for the asset"},"description":{"type":"string","description":"Optional description for the asset"},"password":{"type":"string","description":"Optional password protection for the asset"},"token":{"type":"string","description":"API Token (optional if already logged in via browser session)"}},"required":["url"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/upload_image.php","/upload_video.php","/upload_file.php","/upload_audio.php"]},{"name":"list_assets","kind":"answer","impl":"imperative","description":"List recently uploaded assets (images, videos, audios, files) with pagination","inputSchema":{"type":"object","properties":{"type":{"type":"string","enum":["all","image","video","audio","file"],"description":"Type of assets to list (default: all)"},"page":{"type":"integer","description":"Page number (default: 1)"},"limit":{"type":"integer","description":"Items per page (default: 10, max: 50)"},"token":{"type":"string","description":"API Token (optional if logged in)"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/upload_image.php","/upload_video.php","/upload_file.php","/upload_audio.php"]},{"name":"search_assets","kind":"answer","impl":"imperative","description":"Search stored assets by keyword across title, path, and URL","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Search keyword"},"type":{"type":"string","enum":["all","image","video","audio","file"],"description":"Filter by asset type (default: all)"},"token":{"type":"string","description":"API Token (optional if logged in)"}},"required":["query"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/upload_image.php","/upload_video.php","/upload_file.php","/upload_audio.php"]},{"name":"get_stats","kind":"answer","impl":"imperative","description":"Get site-wide statistics about asset counts (total, images, videos, audio, files)","inputSchema":{"type":"object","properties":{"token":{"type":"string","description":"API Token (optional)"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/upload_image.php","/upload_video.php","/upload_file.php","/upload_audio.php"]},{"name":"get_podcast_info","kind":"answer","impl":"imperative","description":"Get the current Podcast RSS feed URLs (video & audio) and subscription status","inputSchema":{"type":"object","properties":{"token":{"type":"string","description":"API Token (optional)"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/upload_image.php","/upload_video.php","/upload_file.php","/upload_audio.php"]},{"name":"rebuild_podcast_rss","kind":"act","impl":"imperative","description":"Force a rebuild of the Podcast RSS feeds from the database (Admin only)","inputSchema":{"type":"object","properties":{"type":{"type":"string","enum":["video","audio"],"description":"Type of Podcast to rebuild (video/audio, default: video)"},"token":{"type":"string","description":"Admin API Token (optional if admin session is active)"}}},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/upload_image.php","/upload_video.php","/upload_file.php","/upload_audio.php"]},{"name":"delete_asset","kind":"transact","impl":"imperative","description":"Delete an asset and its storage file by ID (Admin only)","inputSchema":{"type":"object","properties":{"id":{"type":"integer","description":"Asset ID to delete"},"token":{"type":"string","description":"Admin API Token (optional if admin session is active)"}},"required":["id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/upload_image.php","/upload_video.php","/upload_file.php","/upload_audio.php"]},{"name":"create_asset_seal","kind":"act","impl":"imperative","description":"Create a timed, DMS Pulse, or ephemeral Seal for one asset. Requires the asset manage_token or an API token that owns the asset. Returns a one-time private Pulse URL for DMS.","inputSchema":{"type":"object","properties":{"asset_id":{"type":"integer","description":"Asset ID to protect"},"mode":{"type":"string","enum":["timed","dms","ephemeral"]},"unlock_at":{"type":"string","description":"Timed mode ISO/date string, at least one minute in the future"},"pulse_interval":{"type":"integer","description":"DMS interval in seconds (300 to 2592000)"},"max_views":{"type":"integer","description":"Ephemeral view limit (1 to 100)"},"manage_token":{"type":"string","description":"Asset-scoped capability token returned once after upload"},"token":{"type":"string","description":"Authorized API token"}},"required":["asset_id","mode"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/upload_image.php","/upload_video.php","/upload_file.php","/upload_audio.php"]},{"name":"get_asset_seal","kind":"answer","impl":"imperative","description":"Read the current Seal status for one asset using its manage_token or authorized API token.","inputSchema":{"type":"object","properties":{"asset_id":{"type":"integer"},"manage_token":{"type":"string"},"token":{"type":"string","description":"Authorized API token"}},"required":["asset_id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/upload_image.php","/upload_video.php","/upload_file.php","/upload_audio.php"]},{"name":"revoke_asset_seal","kind":"act","impl":"imperative","description":"Remove the active Seal from one asset while keeping the asset. This changes access control.","inputSchema":{"type":"object","properties":{"asset_id":{"type":"integer"},"seal_id":{"type":"integer"},"manage_token":{"type":"string"},"token":{"type":"string"}},"required":["asset_id"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/upload_image.php","/upload_video.php","/upload_file.php","/upload_audio.php"]},{"name":"pulse_asset_seal","kind":"act","impl":"imperative","description":"Reset a locked DMS Seal timer using its private Pulse token.","inputSchema":{"type":"object","properties":{"pulse_token":{"type":"string"},"new_interval":{"type":"integer","description":"New interval in seconds"}},"required":["pulse_token"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/upload_image.php","/upload_video.php","/upload_file.php","/upload_audio.php"]},{"name":"burn_asset_seal","kind":"transact","impl":"imperative","description":"Permanently delete the DMS protected asset using its private Pulse token. Destructive.","inputSchema":{"type":"object","properties":{"pulse_token":{"type":"string"}},"required":["pulse_token"]},"hasHandler":true,"hasExecute":true,"__source":"spec","executable":true,"handlerField":"execute","page":"/","pages":["/","/upload_image.php","/upload_video.php","/upload_file.php","/upload_audio.php"]},{"name":"upload_image","kind":"act","impl":"imperative","description":"Upload an image to 888box. Supports JPG, PNG, WebP, GIF, SVG. Returns a token-based share URL and direct CDN URL.","inputSchema":{"type":"object","properties":{"file_url":{"type":"string","description":"URL of the image to upload (remote ingestion)"},"title":{"type":"string","description":"Optional title"}}},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"list_assets","kind":"answer","impl":"imperative","description":"List stored assets on 888box with optional type filter and pagination.","inputSchema":{"type":"object","properties":{"type":{"type":"string","enum":["all","image","video","audio","file"],"default":"all"},"page":{"type":"integer","minimum":1,"default":1},"limit":{"type":"integer","minimum":1,"maximum":100,"default":20}}},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"search_assets","kind":"answer","impl":"imperative","description":"Search assets on 888box by keyword across title, path, and URL.","inputSchema":{"type":"object","required":["query"],"properties":{"query":{"type":"string","description":"Search keyword"},"type":{"type":"string","enum":["all","image","video","audio","file"],"default":"all"}}},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"get_stats","kind":"answer","impl":"imperative","description":"Get 888box site statistics: total count of images, videos, audio files, and documents.","inputSchema":{"type":"object","properties":{}},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"create_asset_seal","kind":"act","impl":"imperative","description":"Create a timed, DMS, or ephemeral Seal using the asset manage_token returned by upload.","inputSchema":{"type":"object","required":["asset_id","manage_token","mode"],"properties":{"asset_id":{"type":"integer"},"manage_token":{"type":"string"},"mode":{"type":"string","enum":["timed","dms","ephemeral"]},"unlock_at":{"type":"string"},"pulse_interval":{"type":"integer"},"max_views":{"type":"integer"}}},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/","pages":["/"]},{"name":"get_asset_seal","kind":"answer","impl":"imperative","description":"Read the current Seal status for an asset using its manage_token.","inputSchema":{"type":"object","required":["asset_id","manage_token"],"properties":{"asset_id":{"type":"integer"},"manage_token":{"type":"string"}}},"hasHandler":true,"hasExecute":true,"__source":"polyfill","executable":true,"handlerField":"execute","page":"/","pages":["/"]}],"category":"Developer Tools","favicon":"/favicons/box.david888.com.png","apiSurface":"mixed","toolCount":18}}