{"id":"speedworkers_inventory","name":"Speedworkers Inventory","alias":"SpeedworkersInventory","aliases":[],"description_short":"Get the daily SpeedWorkers inventory of the project (pages in index, stale, expired, not indexed) and whether the rendering speed keeps up with it","description_long":"\n    Get the SpeedWorkers inventory of a project: how many pages are in each state, day\n    by day, and whether the rendering capacity is enough to keep them fresh.\n\n    The inventory is a daily snapshot of the pages SpeedWorkers knows about, counted by\n    state:\n    - in index: fresh pages, delivered\n    - stale: past their refresh time but within their max stale time, still delivered\n      while waiting to be re-rendered\n    - expired: past their max stale time, no longer delivered\n    - not indexed: in the inputs but never successfully rendered\n\n    There is one row per day, broken down by the requested dimensions (by section by\n    default):\n    - section_name: SpeedWorkers section\n    - config_id: SpeedWorkers config id\n    - priority: refresh priority (emergency, high, medium or low)\n    - refresh_frequency: refresh frequency of the pages, in minutes\n    An empty list of dimensions returns one total per day. Rows can include up to 5\n    sample URLs per state.\n\n    The crawl stats compare today's inventory to the max rendering speed of the\n    production version: the required speed is what refreshing every page at its\n    section refresh frequency needs, and a load above 1 means pages will go stale or\n    expire. They are null when the inventory has never been computed, which is the\n    case until the cache refresh is enabled on the production version.\n\n    Use the speedworkers_config tool to see the sections and their refresh settings.\n    ","description_tool_prompt":"\n    Get the SpeedWorkers inventory of a project: how many pages are in each state, day\n    by day, and whether the rendering capacity is enough to keep them fresh.\n\n    The inventory is a daily snapshot of the pages SpeedWorkers knows about, counted by\n    state:\n    - in index: fresh pages, delivered\n    - stale: past their refresh time but within their max stale time, still delivered\n      while waiting to be re-rendered\n    - expired: past their max stale time, no longer delivered\n    - not indexed: in the inputs but never successfully rendered\n\n    There is one row per day, broken down by the requested dimensions (by section by\n    default):\n    - section_name: SpeedWorkers section\n    - config_id: SpeedWorkers config id\n    - priority: refresh priority (emergency, high, medium or low)\n    - refresh_frequency: refresh frequency of the pages, in minutes\n    An empty list of dimensions returns one total per day. Rows can include up to 5\n    sample URLs per state.\n\n    The crawl stats compare today's inventory to the max rendering speed of the\n    production version: the required speed is what refreshing every page at its\n    section refresh frequency needs, and a load above 1 means pages will go stale or\n    expire. They are null when the inventory has never been computed, which is the\n    case until the cache refresh is enabled on the production version.\n\n    Use the speedworkers_config tool to see the sections and their refresh settings.\n    ","source":"Botify Activation API","conversation_examples":[],"tags":[],"available_in_chat":true,"available_in_deepthink":true,"available_in_mcp":true,"mcp_audience":"all","config":{"type":"object","properties":{},"required":[]},"item":{"type":"object","properties":{"date_start":{"anyOf":[{"format":"date","type":"string"},{"type":"null"}],"default":null,"description":"Inclusive start of the inventory period (ISO date, e.g. 2026-09-01). Defaults to 29 days before date_end.","title":"Date Start"},"date_end":{"anyOf":[{"format":"date","type":"string"},{"type":"null"}],"default":null,"description":"Inclusive end of the inventory period (ISO date, e.g. 2026-09-30). Defaults to today (UTC).","title":"Date End"},"dimensions":{"default":["section_name"],"description":"Dimensions the daily inventory is broken down by, on top of the date (always included). Allowed values: 'section_name' (SpeedWorkers section), 'config_id' (SpeedWorkers config id), 'priority' (refresh priority: emergency, high, medium or low), 'refresh_frequency' (refresh frequency of the pages, in minutes). Each dimension added multiplies the number of rows. An empty list returns one total per day. Defaults to ['section_name'].","items":{"$ref":"#/$defs/SpeedworkersInventoryDimension"},"title":"Dimensions","type":"array"},"include_samples":{"default":false,"description":"Whether to return up to 5 sample URLs per page state (in index, stale, expired, not indexed) for each row","title":"Include Samples","type":"boolean"}},"required":[],"$defs":{"SpeedworkersInventoryDimension":{"enum":["section_name","config_id","priority","refresh_frequency"],"type":"string"}}},"response":{"$defs":{"CrawlStats":{"properties":{"max_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Max rendering speed of the production version, in pages/s","title":"Max Speed"},"required_speed":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Rendering speed needed to refresh the whole inventory at the sections refresh frequencies, in pages/s","title":"Required Speed"},"max_pages_refresh":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Pages that can be rendered per day at max speed","title":"Max Pages Refresh"},"required_pages_refresh":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Pages that must be rendered per day to stay fresh","title":"Required Pages Refresh"},"pages_in_inventory":{"anyOf":[{"type":"integer"},{"type":"null"}],"description":"Pages in today's inventory","title":"Pages In Inventory"},"load":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"required_speed / max_speed: above 1, the website cannot refresh its inventory in time and pages go stale or expire","title":"Load"},"info":{"$ref":"#/$defs/CrawlStatsInfo","description":"success, or why the speeds could not be computed (no max speed, no pages in today's inventory, a section without refresh frequency...)"},"sections":{"description":"Load of each delivered section","items":{"$ref":"#/$defs/CrawlStatsSection"},"title":"Sections","type":"array"}},"required":["max_speed","required_speed","max_pages_refresh","required_pages_refresh","pages_in_inventory","load","info","sections"],"title":"CrawlStats","type":"object"},"CrawlStatsInfo":{"enum":["success","no_config_js","no_website_max_speed","no_pages_in_inventory","invalid_refresh_frequency"],"type":"string"},"CrawlStatsSection":{"properties":{"name":{"description":"SpeedWorkers section","title":"Name","type":"string"},"load":{"anyOf":[{"type":"number"},{"type":"null"}],"description":"Share of the website max speed this section requires","title":"Load"}},"required":["name","load"],"title":"CrawlStatsSection","type":"object"},"InventorySample":{"properties":{"url":{"description":"Sample URL","title":"Url","type":"string"},"device":{"anyOf":[{"type":"string"},{"type":"null"}],"description":"Device the URL is cached for","title":"Device"}},"required":["url","device"],"title":"InventorySample","type":"object"},"InventoryStatsRow":{"properties":{"date":{"description":"Day of the inventory snapshot","format":"date","title":"Date","type":"string"},"section_name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"SpeedWorkers section (only with the section_name dimension)","title":"Section Name"},"config_id":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"SpeedWorkers config id (only with the config_id dimension)","title":"Config Id"},"priority":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Refresh priority: emergency, high, medium or low (only with the priority dimension)","title":"Priority"},"refresh_frequency":{"anyOf":[{"type":"integer"},{"type":"null"}],"default":null,"description":"Refresh frequency of the pages, in minutes (only with the refresh_frequency dimension)","title":"Refresh Frequency"},"count":{"description":"Number of pages in the inventory","title":"Count","type":"integer"},"count_in_index":{"description":"Pages that are fresh and delivered by SpeedWorkers","title":"Count In Index","type":"integer"},"count_in_stale":{"description":"Pages past their refresh time but within their max stale time: still delivered, waiting to be re-rendered","title":"Count In Stale","type":"integer"},"count_expired":{"description":"Pages past their max stale time: no longer delivered","title":"Count Expired","type":"integer"},"count_not_indexed":{"description":"Pages in the inputs that were never successfully rendered (render pending or failed)","title":"Count Not Indexed","type":"integer"},"samples_in_index":{"anyOf":[{"items":{"$ref":"#/$defs/InventorySample"},"type":"array"},{"type":"null"}],"default":null,"description":"Sample in index URLs (only with include_samples)","title":"Samples In Index"},"samples_in_stale":{"anyOf":[{"items":{"$ref":"#/$defs/InventorySample"},"type":"array"},{"type":"null"}],"default":null,"description":"Sample stale URLs (only with include_samples)","title":"Samples In Stale"},"samples_expired":{"anyOf":[{"items":{"$ref":"#/$defs/InventorySample"},"type":"array"},{"type":"null"}],"default":null,"description":"Sample expired URLs (only with include_samples)","title":"Samples Expired"},"samples_not_indexed":{"anyOf":[{"items":{"$ref":"#/$defs/InventorySample"},"type":"array"},{"type":"null"}],"default":null,"description":"Sample not indexed URLs (only with include_samples)","title":"Samples Not Indexed"}},"required":["date","count","count_in_index","count_in_stale","count_expired","count_not_indexed"],"title":"InventoryStatsRow","type":"object"}},"properties":{"date_start":{"description":"Inclusive start of the inventory period","format":"date","title":"Date Start","type":"string"},"date_end":{"description":"Inclusive end of the inventory period","format":"date","title":"Date End","type":"string"},"inventory_stats":{"description":"Daily inventory snapshots, one row per date and combination of dimension values, ordered by date. A day without a snapshot has no row. When truncated, a day only partly within the limit is left out, unless it is the only one.","items":{"$ref":"#/$defs/InventoryStatsRow"},"title":"Inventory Stats","type":"array"},"truncated":{"description":"Whether the oldest days were left out to stay within 2000 rows: shorten the period or use fewer dimensions","title":"Truncated","type":"boolean"},"crawl_stats":{"anyOf":[{"$ref":"#/$defs/CrawlStats"},{"type":"null"}],"description":"Rendering capacity against today's inventory. Null when the inventory has never been computed for the website, i.e. the cache refresh is not enabled on the production version."}},"required":["date_start","date_end","inventory_stats","truncated","crawl_stats"],"title":"SpeedworkersInventoryProcessedItem","type":"object"},"has_canvas":false,"open_canvas_automatically":false}