From 798fc21f1c1f5cfd45a242cd35c8832ab75f979b Mon Sep 17 00:00:00 2001 From: dgtlmoon Date: Fri, 13 Feb 2026 14:50:23 +0100 Subject: [PATCH] WIP --- docs/api-spec.yaml | 4 ++++ docs/api_v1/index.html | 10 +++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/docs/api-spec.yaml b/docs/api-spec.yaml index 74407139d..a436bf4f2 100644 --- a/docs/api-spec.yaml +++ b/docs/api-spec.yaml @@ -466,6 +466,7 @@ components: type: integer description: Unix timestamp of last change readOnly: true + x-computed: true last_error: type: [string, boolean, 'null'] description: Last error message (false when no error, string when error occurred, null if not checked yet) @@ -479,6 +480,7 @@ components: format: string description: The watch URL rendered in case of any Jinja2 markup, always use this for listing. readOnly: true + x-computed: true page_title: type: [string, 'null'] description: HTML tag extracted from the page @@ -531,10 +533,12 @@ components: type: [integer, boolean] description: Computed property - true if watch has been viewed, false otherwise (deprecated, use last_viewed instead) readOnly: true + x-computed: true history_n: type: integer description: Number of history snapshots available readOnly: true + x-computed: true CreateWatch: allOf: diff --git a/docs/api_v1/index.html b/docs/api_v1/index.html index f7c9f4877..42b1b839c 100644 --- a/docs/api_v1/index.html +++ b/docs/api_v1/index.html @@ -547,6 +547,8 @@ notification preferences, and content filtering options.</p> " class="sc-eVqvcJ sc-fszimp kIppRw drqpJr"><p>HTTP request body</p> </div></div></div></td></tr><tr class=""><td kind="field" title="proxy" class="sc-kCuUfV sc-fbQrwq gdmNWp dFOJWJ"><span class="sc-hwddKA cteAyA"></span><span class="property-name">proxy</span></td><td class="sc-gGKoUb ixGaBD"><div><div><span class="sc-bEjUoa sc-boKDdR lhyyLL jYezsP"></span><span class="sc-bEjUoa sc-fOOuSg lhyyLL dbKJYq">string or null</span><span> <span class="sc-bEjUoa sc-goiVcJ lhyyLL bDfgbe"> <!-- --><= 5000 characters<!-- --> </span></span></div> <div><div html="<p>Proxy configuration</p> " class="sc-eVqvcJ sc-fszimp kIppRw drqpJr"><p>Proxy configuration</p> +</div></div></div></td></tr><tr class=""><td kind="field" title="ignore_status_codes" class="sc-kCuUfV sc-fbQrwq gdmNWp dFOJWJ"><span class="sc-hwddKA cteAyA"></span><span class="property-name">ignore_status_codes</span></td><td class="sc-gGKoUb ixGaBD"><div><div><span class="sc-bEjUoa sc-boKDdR lhyyLL jYezsP"></span><span class="sc-bEjUoa sc-fOOuSg lhyyLL dbKJYq">boolean or null</span></div> <div><div html="<p>Ignore HTTP status code errors (boolean or null)</p> +" class="sc-eVqvcJ sc-fszimp kIppRw drqpJr"><p>Ignore HTTP status code errors (boolean or null)</p> </div></div></div></td></tr><tr class=""><td kind="field" title="webdriver_delay" class="sc-kCuUfV sc-fbQrwq gdmNWp dFOJWJ"><span class="sc-hwddKA cteAyA"></span><span class="property-name">webdriver_delay</span></td><td class="sc-gGKoUb ixGaBD"><div><div><span class="sc-bEjUoa sc-boKDdR lhyyLL jYezsP"></span><span class="sc-bEjUoa sc-fOOuSg lhyyLL dbKJYq">integer or null</span></div> <div><div html="<p>Delay in seconds for webdriver</p> " class="sc-eVqvcJ sc-fszimp kIppRw drqpJr"><p>Delay in seconds for webdriver</p> </div></div></div></td></tr><tr class=""><td kind="field" title="webdriver_js_execute_code" class="sc-kCuUfV sc-fbQrwq gdmNWp dFOJWJ"><span class="sc-hwddKA cteAyA"></span><span class="property-name">webdriver_js_execute_code</span></td><td class="sc-gGKoUb ixGaBD"><div><div><span class="sc-bEjUoa sc-boKDdR lhyyLL jYezsP"></span><span class="sc-bEjUoa sc-fOOuSg lhyyLL dbKJYq">string or null</span><span> <span class="sc-bEjUoa sc-goiVcJ lhyyLL bDfgbe"> <!-- --><= 5000 characters<!-- --> </span></span></div> <div><div html="<p>JavaScript code to execute</p> @@ -649,7 +651,7 @@ notification preferences, and content filtering options.</p> " class="sc-eVqvcJ sc-fszimp kIppRw drqpJr"><p>Custom server</p> </div><div tabindex="0" role="button"><div class="sc-xKhEK okJpy"><span>{protocol}://{host}/api/v1</span>/watch/{uuid}</div></div></div></div></div><div><h3 class="sc-lgpSej drJHMo"> <!-- -->Request samples<!-- --> </h3><div class="sc-cOpnSz fyxuKi" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_2abha_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_2abha_0" tabindex="0" data-rttab="true">curl</li><li class="react-tabs__tab" role="tab" id="tab_R_2abha_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_2abha_1" data-rttab="true">Python</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_2abha_0" aria-labelledby="tab_R_2abha_0"><div class="sc-cdmAjP gsEOpk"><div class="sc-bbbBoY bBWkcI"><button><div class="sc-fYmhhH iNCOCX">Copy</div></button></div><pre class="sc-eVqvcJ sc-jytpVa kIppRw cCzeOT">curl <span class="token operator">-</span>X GET <span class="token string">"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f"</span> \ <span class="token operator">-</span>H <span class="token string">"x-api-key: YOUR_API_KEY"</span> -</pre></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_2abha_1" aria-labelledby="tab_R_2abha_1"></div></div></div><div><h3 class="sc-lgpSej drJHMo"> <!-- -->Response samples<!-- --> </h3><div class="sc-cOpnSz fyxuKi" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_2ebha_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_2ebha_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_2ebha_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_2ebha_1" data-rttab="true">404</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_2ebha_0" aria-labelledby="tab_R_2ebha_0"><div><div class="sc-bSFBcf iLdyBp"><span class="sc-gahYZc cXitJ">Content type</span><div class="sc-cCVJLD sc-gsJsQu dbfEBv ehbHlf"><svg class="sc-pYNGo eyTvTk" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="application/json" selected="">application/json</option><option value="text/plain">text/plain</option></select><label>application/json</label></div></div><div class="sc-blIAwI eKKwxo"><div class="sc-dClGHI fdRrNy"><div class="sc-bbbBoY bBWkcI"><button><div class="sc-fYmhhH iNCOCX">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-eVqvcJ kIppRw sc-fhfEft dFvLDb"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"url"</span>: <span class="token string">"</span><a href="http://example.com">http://example.com</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"title"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"tag"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"tags"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"paused"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_muted"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"method"</span>: <span class="token string">"GET"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"fetch_backend"</span>: <span class="token string">"system"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"headers"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"body"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"proxy"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"webdriver_delay"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"webdriver_js_execute_code"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"time_between_check"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"weeks"</span>: <span class="token number">52000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"days"</span>: <span class="token number">365000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token number">8760000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token number">525600000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"seconds"</span>: <span class="token number">31536000000</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"time_between_check_use_default"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_urls"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_title"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_body"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_format"</span>: <span class="token string">"text"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"track_ldjson_price_data"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"browser_steps"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"operation"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"selector"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"optional_value"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"processor"</span>: <span class="token string">"restock_diff"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"include_filters"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"subtractive_selectors"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"ignore_text"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"trigger_text"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"text_should_not_be_present"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"extract_text"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"trim_text_whitespace"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"sort_text_alphabetically"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"remove_duplicate_lines"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"check_unique_lines"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"strip_ignored_lines"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_text_added"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_text_removed"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_text_replaced"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"in_stock_only"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"follow_price_changes"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"price_change_threshold_percent"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"has_ldjson_price_data"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_screenshot"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_failure_notification_send"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"use_page_title_in_list"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"history_snapshot_max_length"</span>: <span class="token number">1</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"time_schedule_limit"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"monday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tuesday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"wednesday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"thursday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"friday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"saturday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"sunday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"conditions"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"field"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"operator"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"conditions_match_logic"</span>: <span class="token string">"ALL"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"uuid"</span>: <span class="token string">"095be615-a8ad-4c33-8e9c-c7612fbf6c9f"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"last_checked"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"last_changed"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"last_error"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"last_viewed"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"link"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"page_title"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"check_count"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"fetch_time"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"previous_md5"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"previous_md5_before_filters"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"consecutive_filter_failures"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"last_notification_error"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_alert_count"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"date_created"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"content-type"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"remote_server_reply"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"browser_steps_last_error_step"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"viewed"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"history_n"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_2ebha_1" aria-labelledby="tab_R_2ebha_1"></div></div></div></div></div></div><div id="tag/Watch-Management/operation/updateWatch" data-section-id="tag/Watch-Management/operation/updateWatch" class="sc-dTvVRJ gHrCVQ"><div data-section-id="operation/updateWatch" id="operation/updateWatch" class="sc-jJLAfE gkiSyE"><div class="sc-ggWZvA fqkwbU"><h2 class="sc-kNOymR iFSqkw"><a class="sc-kcLKEh fRdsOi" href="#tag/Watch-Management/operation/updateWatch" aria-label="tag/Watch-Management/operation/updateWatch"></a>Update watch<!-- --> </h2><div class="sc-bfjeOH txIPi"><div html="<p>Update an existing web page change monitor (watch) using JSON. Accepts the same structure as returned in <a href="#operation/getWatch">get single watch information</a>.</p> +</pre></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_2abha_1" aria-labelledby="tab_R_2abha_1"></div></div></div><div><h3 class="sc-lgpSej drJHMo"> <!-- -->Response samples<!-- --> </h3><div class="sc-cOpnSz fyxuKi" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_2ebha_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_2ebha_0" tabindex="0" data-rttab="true">200</li><li class="tab-error" role="tab" id="tab_R_2ebha_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_2ebha_1" data-rttab="true">404</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_2ebha_0" aria-labelledby="tab_R_2ebha_0"><div><div class="sc-bSFBcf iLdyBp"><span class="sc-gahYZc cXitJ">Content type</span><div class="sc-cCVJLD sc-gsJsQu dbfEBv ehbHlf"><svg class="sc-pYNGo eyTvTk" xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg><select class="dropdown-select"><option value="application/json" selected="">application/json</option><option value="text/plain">text/plain</option></select><label>application/json</label></div></div><div class="sc-blIAwI eKKwxo"><div class="sc-dClGHI fdRrNy"><div class="sc-bbbBoY bBWkcI"><button><div class="sc-fYmhhH iNCOCX">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-eVqvcJ kIppRw sc-fhfEft dFvLDb"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"url"</span>: <span class="token string">"</span><a href="http://example.com">http://example.com</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"title"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"tag"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"tags"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"paused"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_muted"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"method"</span>: <span class="token string">"GET"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"fetch_backend"</span>: <span class="token string">"system"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"headers"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"body"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"proxy"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"ignore_status_codes"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"webdriver_delay"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"webdriver_js_execute_code"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"time_between_check"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"weeks"</span>: <span class="token number">52000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"days"</span>: <span class="token number">365000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token number">8760000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token number">525600000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"seconds"</span>: <span class="token number">31536000000</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"time_between_check_use_default"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_urls"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_title"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_body"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_format"</span>: <span class="token string">"text"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"track_ldjson_price_data"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"browser_steps"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"operation"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"selector"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"optional_value"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"processor"</span>: <span class="token string">"restock_diff"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"include_filters"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"subtractive_selectors"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"ignore_text"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"trigger_text"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"text_should_not_be_present"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"extract_text"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"trim_text_whitespace"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"sort_text_alphabetically"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"remove_duplicate_lines"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"check_unique_lines"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"strip_ignored_lines"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_text_added"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_text_removed"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_text_replaced"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"in_stock_only"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"follow_price_changes"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"price_change_threshold_percent"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"has_ldjson_price_data"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_screenshot"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_failure_notification_send"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"use_page_title_in_list"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"history_snapshot_max_length"</span>: <span class="token number">1</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"time_schedule_limit"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"monday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tuesday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"wednesday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"thursday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"friday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"saturday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"sunday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"conditions"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"field"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"operator"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"conditions_match_logic"</span>: <span class="token string">"ALL"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"uuid"</span>: <span class="token string">"095be615-a8ad-4c33-8e9c-c7612fbf6c9f"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"last_checked"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"last_changed"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"last_error"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"last_viewed"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"link"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"page_title"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"check_count"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"fetch_time"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"previous_md5"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"previous_md5_before_filters"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"consecutive_filter_failures"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"last_notification_error"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_alert_count"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"date_created"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"content-type"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"remote_server_reply"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"browser_steps_last_error_step"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"viewed"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"history_n"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_2ebha_1" aria-labelledby="tab_R_2ebha_1"></div></div></div></div></div></div><div id="tag/Watch-Management/operation/updateWatch" data-section-id="tag/Watch-Management/operation/updateWatch" class="sc-dTvVRJ gHrCVQ"><div data-section-id="operation/updateWatch" id="operation/updateWatch" class="sc-jJLAfE gkiSyE"><div class="sc-ggWZvA fqkwbU"><h2 class="sc-kNOymR iFSqkw"><a class="sc-kcLKEh fRdsOi" href="#tag/Watch-Management/operation/updateWatch" aria-label="tag/Watch-Management/operation/updateWatch"></a>Update watch<!-- --> </h2><div class="sc-bfjeOH txIPi"><div html="<p>Update an existing web page change monitor (watch) using JSON. Accepts the same structure as returned in <a href="#operation/getWatch">get single watch information</a>.</p> " class="sc-eVqvcJ sc-fszimp kIppRw kbZred"><p>Update an existing web page change monitor (watch) using JSON. Accepts the same structure as returned in <a href="#operation/getWatch">get single watch information</a>.</p> </div></div><div class="sc-ikkVnJ deUlC"><div class="sc-hWgKua dPSGXF"><h5 class="sc-eqYatC sc-gFqXPY czjApA jCoZLr">Authorizations:</h5><svg class="sc-dntSTA FtowP" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jBaHRL fUkQtw"><span class="sc-iVnIWt gRXavu"><span class="sc-hqtLyI hRtRoN"><i>ApiKeyAuth</i></span></span></div></div><div><h5 class="sc-eqYatC czjApA">path<!-- --> Parameters</h5><table class="sc-eqNDNG icJLQx"><tbody><tr class="last "><td kind="field" title="uuid" class="sc-kCuUfV sc-fbQrwq gdmNWp dFOJWJ"><span class="sc-hwddKA cteAyA"></span><span class="property-name">uuid</span><div class="sc-bEjUoa sc-iIvHqT lhyyLL crXmiY">required</div></td><td class="sc-gGKoUb ixGaBD"><div><div><span class="sc-bEjUoa sc-boKDdR lhyyLL jYezsP"></span><span class="sc-bEjUoa sc-fOOuSg lhyyLL dbKJYq">string</span><span class="sc-bEjUoa sc-fOOuSg lhyyLL dbKJYq"> <!-- --><<!-- -->uuid<!-- -->><!-- --> </span></div> <div><div html="<p>Web page change monitor (watch) unique ID</p> " class="sc-eVqvcJ sc-fszimp kIppRw drqpJr"><p>Web page change monitor (watch) unique ID</p> @@ -689,6 +691,8 @@ notification preferences, and content filtering options.</p> " class="sc-eVqvcJ sc-fszimp kIppRw drqpJr"><p>HTTP request body</p> </div></div></div></td></tr><tr class=""><td kind="field" title="proxy" class="sc-kCuUfV sc-fbQrwq gdmNWp dFOJWJ"><span class="sc-hwddKA cteAyA"></span><span class="property-name">proxy</span></td><td class="sc-gGKoUb ixGaBD"><div><div><span class="sc-bEjUoa sc-boKDdR lhyyLL jYezsP"></span><span class="sc-bEjUoa sc-fOOuSg lhyyLL dbKJYq">string or null</span><span> <span class="sc-bEjUoa sc-goiVcJ lhyyLL bDfgbe"> <!-- --><= 5000 characters<!-- --> </span></span></div> <div><div html="<p>Proxy configuration</p> " class="sc-eVqvcJ sc-fszimp kIppRw drqpJr"><p>Proxy configuration</p> +</div></div></div></td></tr><tr class=""><td kind="field" title="ignore_status_codes" class="sc-kCuUfV sc-fbQrwq gdmNWp dFOJWJ"><span class="sc-hwddKA cteAyA"></span><span class="property-name">ignore_status_codes</span></td><td class="sc-gGKoUb ixGaBD"><div><div><span class="sc-bEjUoa sc-boKDdR lhyyLL jYezsP"></span><span class="sc-bEjUoa sc-fOOuSg lhyyLL dbKJYq">boolean or null</span></div> <div><div html="<p>Ignore HTTP status code errors (boolean or null)</p> +" class="sc-eVqvcJ sc-fszimp kIppRw drqpJr"><p>Ignore HTTP status code errors (boolean or null)</p> </div></div></div></td></tr><tr class=""><td kind="field" title="webdriver_delay" class="sc-kCuUfV sc-fbQrwq gdmNWp dFOJWJ"><span class="sc-hwddKA cteAyA"></span><span class="property-name">webdriver_delay</span></td><td class="sc-gGKoUb ixGaBD"><div><div><span class="sc-bEjUoa sc-boKDdR lhyyLL jYezsP"></span><span class="sc-bEjUoa sc-fOOuSg lhyyLL dbKJYq">integer or null</span></div> <div><div html="<p>Delay in seconds for webdriver</p> " class="sc-eVqvcJ sc-fszimp kIppRw drqpJr"><p>Delay in seconds for webdriver</p> </div></div></div></td></tr><tr class=""><td kind="field" title="webdriver_js_execute_code" class="sc-kCuUfV sc-fbQrwq gdmNWp dFOJWJ"><span class="sc-hwddKA cteAyA"></span><span class="property-name">webdriver_js_execute_code</span></td><td class="sc-gGKoUb ixGaBD"><div><div><span class="sc-bEjUoa sc-boKDdR lhyyLL jYezsP"></span><span class="sc-bEjUoa sc-fOOuSg lhyyLL dbKJYq">string or null</span><span> <span class="sc-bEjUoa sc-goiVcJ lhyyLL bDfgbe"> <!-- --><= 5000 characters<!-- --> </span></span></div> <div><div html="<p>JavaScript code to execute</p> @@ -771,7 +775,7 @@ notification preferences, and content filtering options.</p> " class="sc-eVqvcJ sc-fszimp kIppRw drqpJr"><p>Production server</p> </div><div tabindex="0" role="button"><div class="sc-xKhEK okJpy"><span>https://yourdomain.com/api/v1</span>/watch/{uuid}</div></div></div><div class="sc-iyBeIh icOxsG"><div html="<p>Custom server</p> " class="sc-eVqvcJ sc-fszimp kIppRw drqpJr"><p>Custom server</p> -</div><div tabindex="0" role="button"><div class="sc-xKhEK okJpy"><span>{protocol}://{host}/api/v1</span>/watch/{uuid}</div></div></div></div></div><div><h3 class="sc-lgpSej drJHMo"> <!-- -->Request samples<!-- --> </h3><div class="sc-cOpnSz fyxuKi" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_2acha_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_2acha_0" tabindex="0" data-rttab="true">Payload</li><li class="react-tabs__tab" role="tab" id="tab_R_2acha_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_2acha_1" data-rttab="true">curl</li><li class="react-tabs__tab" role="tab" id="tab_R_2acha_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_2acha_2" data-rttab="true">Python</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_2acha_0" aria-labelledby="tab_R_2acha_0"><div><div class="sc-bSFBcf iLdyBp"><span class="sc-gahYZc cXitJ">Content type</span><div class="sc-bAehkN iNRAJK">application/json</div></div><div class="sc-blIAwI eKKwxo"><div class="sc-dClGHI fdRrNy"><div class="sc-bbbBoY bBWkcI"><button><div class="sc-fYmhhH iNCOCX">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-eVqvcJ kIppRw sc-fhfEft dFvLDb"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"url"</span>: <span class="token string">"</span><a href="http://example.com">http://example.com</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"title"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"tag"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"tags"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"paused"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_muted"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"method"</span>: <span class="token string">"GET"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"fetch_backend"</span>: <span class="token string">"system"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"headers"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"body"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"proxy"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"webdriver_delay"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"webdriver_js_execute_code"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"time_between_check"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"weeks"</span>: <span class="token number">52000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"days"</span>: <span class="token number">365000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token number">8760000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token number">525600000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"seconds"</span>: <span class="token number">31536000000</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"time_between_check_use_default"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_urls"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_title"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_body"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_format"</span>: <span class="token string">"text"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"track_ldjson_price_data"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"browser_steps"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"operation"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"selector"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"optional_value"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"processor"</span>: <span class="token string">"restock_diff"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"include_filters"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"subtractive_selectors"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"ignore_text"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"trigger_text"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"text_should_not_be_present"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"extract_text"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"trim_text_whitespace"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"sort_text_alphabetically"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"remove_duplicate_lines"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"check_unique_lines"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"strip_ignored_lines"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_text_added"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_text_removed"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_text_replaced"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"in_stock_only"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"follow_price_changes"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"price_change_threshold_percent"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_screenshot"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_failure_notification_send"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"use_page_title_in_list"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"history_snapshot_max_length"</span>: <span class="token number">1</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"time_schedule_limit"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"monday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tuesday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"wednesday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"thursday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"friday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"saturday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"sunday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"conditions"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"field"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"operator"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"conditions_match_logic"</span>: <span class="token string">"ALL"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"last_viewed"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_2acha_1" aria-labelledby="tab_R_2acha_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_2acha_2" aria-labelledby="tab_R_2acha_2"></div></div></div></div></div></div><div id="tag/Watch-Management/operation/deleteWatch" data-section-id="tag/Watch-Management/operation/deleteWatch" class="sc-dTvVRJ gHrCVQ"><div data-section-id="operation/deleteWatch" id="operation/deleteWatch" class="sc-jJLAfE gkiSyE"><div class="sc-ggWZvA fqkwbU"><h2 class="sc-kNOymR iFSqkw"><a class="sc-kcLKEh fRdsOi" href="#tag/Watch-Management/operation/deleteWatch" aria-label="tag/Watch-Management/operation/deleteWatch"></a>Delete watch<!-- --> </h2><div class="sc-bfjeOH txIPi"><div html="<p>Delete a web page change monitor (watch) and all related history</p> +</div><div tabindex="0" role="button"><div class="sc-xKhEK okJpy"><span>{protocol}://{host}/api/v1</span>/watch/{uuid}</div></div></div></div></div><div><h3 class="sc-lgpSej drJHMo"> <!-- -->Request samples<!-- --> </h3><div class="sc-cOpnSz fyxuKi" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="react-tabs__tab react-tabs__tab--selected" role="tab" id="tab_R_2acha_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_2acha_0" tabindex="0" data-rttab="true">Payload</li><li class="react-tabs__tab" role="tab" id="tab_R_2acha_1" aria-selected="false" aria-disabled="false" aria-controls="panel_R_2acha_1" data-rttab="true">curl</li><li class="react-tabs__tab" role="tab" id="tab_R_2acha_2" aria-selected="false" aria-disabled="false" aria-controls="panel_R_2acha_2" data-rttab="true">Python</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_2acha_0" aria-labelledby="tab_R_2acha_0"><div><div class="sc-bSFBcf iLdyBp"><span class="sc-gahYZc cXitJ">Content type</span><div class="sc-bAehkN iNRAJK">application/json</div></div><div class="sc-blIAwI eKKwxo"><div class="sc-dClGHI fdRrNy"><div class="sc-bbbBoY bBWkcI"><button><div class="sc-fYmhhH iNCOCX">Copy</div></button><button> Expand all </button><button> Collapse all </button></div><div tabindex="0" class="sc-eVqvcJ kIppRw sc-fhfEft dFvLDb"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"url"</span>: <span class="token string">"</span><a href="http://example.com">http://example.com</a><span class="token string">"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"title"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"tag"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"tags"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"paused"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_muted"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"method"</span>: <span class="token string">"GET"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"fetch_backend"</span>: <span class="token string">"system"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"headers"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"property1"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"property2"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"body"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"proxy"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"ignore_status_codes"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"webdriver_delay"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"webdriver_js_execute_code"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"time_between_check"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"weeks"</span>: <span class="token number">52000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"days"</span>: <span class="token number">365000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token number">8760000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token number">525600000</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"seconds"</span>: <span class="token number">31536000000</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"time_between_check_use_default"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_urls"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_title"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_body"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_format"</span>: <span class="token string">"text"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"track_ldjson_price_data"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"browser_steps"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"operation"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"selector"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"optional_value"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"processor"</span>: <span class="token string">"restock_diff"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"include_filters"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"subtractive_selectors"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"ignore_text"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"trigger_text"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"text_should_not_be_present"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"extract_text"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><span class="token string">"string"</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"trim_text_whitespace"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"sort_text_alphabetically"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"remove_duplicate_lines"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"check_unique_lines"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"strip_ignored_lines"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_text_added"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_text_removed"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_text_replaced"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"in_stock_only"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"follow_price_changes"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"price_change_threshold_percent"</span>: <span class="token number">0</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"notification_screenshot"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"filter_failure_notification_send"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"use_page_title_in_list"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"history_snapshot_max_length"</span>: <span class="token number">1</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"time_schedule_limit"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">false</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"monday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"tuesday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"wednesday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"thursday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"friday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"saturday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"sunday"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"enabled"</span>: <span class="token boolean">true</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"start_time"</span>: <span class="token string">"00:00"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"duration"</span>: <button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"hours"</span>: <span class="token string">"24"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"minutes"</span>: <span class="token string">"00"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">}</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"conditions"</span>: <button class="collapser" aria-label="collapse"></button><span class="token punctuation">[</span><span class="ellipsis"></span><ul class="array collapsible"><li><div class="hoverable collapsed"><button class="collapser" aria-label="expand"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable collapsed"><span class="property token string">"field"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"operator"</span>: <span class="token string">"string"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable collapsed"><span class="property token string">"value"</span>: <span class="token string">"string"</span></div></li></ul><span class="token punctuation">}</span></div></li></ul><span class="token punctuation">]</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"conditions_match_logic"</span>: <span class="token string">"ALL"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"last_viewed"</span>: <span class="token number">0</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_2acha_1" aria-labelledby="tab_R_2acha_1"></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_2acha_2" aria-labelledby="tab_R_2acha_2"></div></div></div></div></div></div><div id="tag/Watch-Management/operation/deleteWatch" data-section-id="tag/Watch-Management/operation/deleteWatch" class="sc-dTvVRJ gHrCVQ"><div data-section-id="operation/deleteWatch" id="operation/deleteWatch" class="sc-jJLAfE gkiSyE"><div class="sc-ggWZvA fqkwbU"><h2 class="sc-kNOymR iFSqkw"><a class="sc-kcLKEh fRdsOi" href="#tag/Watch-Management/operation/deleteWatch" aria-label="tag/Watch-Management/operation/deleteWatch"></a>Delete watch<!-- --> </h2><div class="sc-bfjeOH txIPi"><div html="<p>Delete a web page change monitor (watch) and all related history</p> " class="sc-eVqvcJ sc-fszimp kIppRw kbZred"><p>Delete a web page change monitor (watch) and all related history</p> </div></div><div class="sc-ikkVnJ deUlC"><div class="sc-hWgKua dPSGXF"><h5 class="sc-eqYatC sc-gFqXPY czjApA jCoZLr">Authorizations:</h5><svg class="sc-dntSTA FtowP" version="1.1" viewBox="0 0 24 24" x="0" xmlns="http://www.w3.org/2000/svg" y="0" aria-hidden="true"><polygon points="17.3 8.3 12 13.6 6.7 8.3 5.3 9.7 12 16.4 18.7 9.7 "></polygon></svg></div><div class="sc-jBaHRL fUkQtw"><span class="sc-iVnIWt gRXavu"><span class="sc-hqtLyI hRtRoN"><i>ApiKeyAuth</i></span></span></div></div><div><h5 class="sc-eqYatC czjApA">path<!-- --> Parameters</h5><table class="sc-eqNDNG icJLQx"><tbody><tr class="last "><td kind="field" title="uuid" class="sc-kCuUfV sc-fbQrwq gdmNWp dFOJWJ"><span class="sc-hwddKA cteAyA"></span><span class="property-name">uuid</span><div class="sc-bEjUoa sc-iIvHqT lhyyLL crXmiY">required</div></td><td class="sc-gGKoUb ixGaBD"><div><div><span class="sc-bEjUoa sc-boKDdR lhyyLL jYezsP"></span><span class="sc-bEjUoa sc-fOOuSg lhyyLL dbKJYq">string</span><span class="sc-bEjUoa sc-fOOuSg lhyyLL dbKJYq"> <!-- --><<!-- -->uuid<!-- -->><!-- --> </span></div> <div><div html="<p>Web page change monitor (watch) unique ID</p> " class="sc-eVqvcJ sc-fszimp kIppRw drqpJr"><p>Web page change monitor (watch) unique ID</p> @@ -1268,7 +1272,7 @@ counts, uptime information, and version details.</p> <span class="token operator">-</span>H <span class="token string">"x-api-key: YOUR_API_KEY"</span> </pre></div></div><div class="react-tabs__tab-panel" role="tabpanel" id="panel_R_ijla_1" aria-labelledby="tab_R_ijla_1"></div></div></div><div><h3 class="sc-lgpSej drJHMo"> <!-- -->Response samples<!-- --> </h3><div class="sc-cOpnSz fyxuKi" data-rttabs="true"><ul class="react-tabs__tab-list" role="tablist"><li class="tab-success react-tabs__tab--selected" role="tab" id="tab_R_jjla_0" aria-selected="true" aria-disabled="false" aria-controls="panel_R_jjla_0" tabindex="0" data-rttab="true">200</li></ul><div class="react-tabs__tab-panel react-tabs__tab-panel--selected" role="tabpanel" id="panel_R_jjla_0" aria-labelledby="tab_R_jjla_0"><div><div class="sc-bSFBcf iLdyBp"><span class="sc-gahYZc cXitJ">Content type</span><div class="sc-bAehkN iNRAJK">application/json</div></div><div class="sc-blIAwI eKKwxo"><div class="sc-dClGHI fdRrNy"><div class="sc-bbbBoY bBWkcI"><button><div class="sc-fYmhhH iNCOCX">Copy</div></button></div><div tabindex="0" class="sc-eVqvcJ kIppRw sc-fhfEft dFvLDb"><div class="redoc-json"><code><button class="collapser" aria-label="collapse"></button><span class="token punctuation">{</span><span class="ellipsis"></span><ul class="obj collapsible"><li><div class="hoverable "><span class="property token string">"watch_count"</span>: <span class="token number">42</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"tag_count"</span>: <span class="token number">5</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"uptime"</span>: <span class="token string">"2 days, 3:45:12"</span><span class="token punctuation">,</span></div></li><li><div class="hoverable "><span class="property token string">"version"</span>: <span class="token string">"0.50.10"</span></div></li></ul><span class="token punctuation">}</span></code></div></div></div></div></div></div></div></div></div></div></div></div><div class="sc-evkzZa iZqpqg"></div></div></div> <script> - const __redoc_state = {"menu":{"activeItemIdx":-1},"spec":{"data":{"openapi":"3.1.0","info":{"title":"ChangeDetection.io API","description":"# ChangeDetection.io Web page monitoring and notifications API\n\nREST API for managing Page watches, Group tags, and Notifications.\n\nchangedetection.io can be driven by its built in simple API, in the examples below you will also find `curl` command line and `python` examples to help you get started faster.\n\n## Where to find my API key?\n\nThe API key can be easily found under the **SETTINGS** then **API** tab of changedetection.io dashboard. \nSimply click the API key to automatically copy it to your clipboard.\n\n![Where to find the API key](./where-to-get-api-key.jpeg)\n\n## Connection URL\n\nThe API can be found at `/api/v1/`, so for example if you run changedetection.io locally on port 5000, then URL would be `http://localhost:5000/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091/history`.\n\nIf you are using the hosted/subscription version of changedetection.io, then the URL is based on your login URL, for example: \n`https://<your login url>/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091/history`\n\n## Authentication\n\nAlmost all API requests require some authentication, this is provided as an **API Key** in the header of the HTTP request.\n\nFor example: `x-api-key: YOUR_API_KEY`\n","version":"0.1.6","contact":{"name":"ChangeDetection.io","url":"https://github.com/dgtlmoon/changedetection.io"},"license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}},"servers":[{"url":"http://localhost:5000/api/v1","description":"Development server"},{"url":"https://yourdomain.com/api/v1","description":"Production server"},{"url":"{protocol}://{host}/api/v1","description":"Custom server","variables":{"protocol":{"enum":["http","https"],"default":"https"},"host":{"default":"yourdomain.com","description":"Your changedetection.io host"}}}],"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"Watch Management","description":"Core functionality for managing web page monitors. Create, retrieve, update, and delete individual watches. \nEach watch represents a single URL being monitored for changes, with configurable settings for check intervals, \nnotification preferences, and content filtering options.\n"},{"name":"Watch History","description":"Get a list of timestamps of all changes detected for a watch.\n"},{"name":"Snapshots","description":"Retrieve individual text snapshot of monitored content according to the `timestamp`. The text snapshot is the HTML\nto Text at page check time. \n\nSet the query argument `html` to any value to retrieve the last HTML fetched, the system only keeps the last two \n(2) HTML files fetched.\n\nUse the Watch History API endpoint to get a list of timestamps to pass to this query.\n"},{"name":"Favicon","description":"Retrieve favicon images associated with monitored web pages. These are used in the dashboard interface \nto visually identify different watches in your monitoring list.\n"},{"name":"Group / Tag Management","description":"Organize your watches using tags and groups. Tags (also known as Groups) allow you to categorize monitors, set group-wide \nnotification preferences, and perform bulk operations like mass rechecking or status changes across \nmultiple related watches.\n"},{"name":"Notifications","description":"Configure global notification endpoints that can be used across all your watches. Supports various \nnotification services including email, Discord, Slack, webhooks, and many other popular platforms. \nThese settings serve as defaults that can be overridden at the individual watch or tag level.\n\nThe notification syntax uses [https://github.com/caronc/apprise](https://github.com/caronc/apprise).\n"},{"name":"Search","description":"Search and filter your watches by URL patterns, titles, or tags. Useful for quickly finding specific \nmonitors in large collections or identifying watches that match certain criteria.\n"},{"name":"Import","description":"Bulk import multiple URLs for monitoring. Accepts plain text lists of URLs and can automatically \napply tags, proxy settings, and other configurations to all imported watches simultaneously.\n"},{"name":"System Information","description":"Retrieve system status and statistics about your changedetection.io instance, including total watch \ncounts, uptime information, and version details.\n"}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for authentication. You can find your API key in the changedetection.io dashboard under Settings > API.\n\nEnter your API key in the \"Authorize\" button above to automatically populate all code examples.\n"}},"schemas":{"WatchBase":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL to monitor for changes","maxLength":5000},"title":{"type":["string","null"],"description":"Custom title for the web page change monitor (watch), not to be confused with page_title","maxLength":5000},"tag":{"type":"string","description":"Tag UUID to associate with this web page change monitor (watch)","maxLength":5000},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag UUIDs"},"paused":{"type":"boolean","description":"Whether the web page change monitor (watch) is paused"},"notification_muted":{"type":"boolean","description":"Whether notifications are muted"},"method":{"type":"string","enum":["GET","POST","DELETE","PUT"],"description":"HTTP method to use"},"fetch_backend":{"type":"string","description":"Backend to use for fetching content. Common values:\n- `system` (default) - Use the system-wide default fetcher\n- `html_requests` - Fast requests-based fetcher\n- `html_webdriver` - Browser-based fetcher (Playwright/Puppeteer)\n- `extra_browser_*` - Custom browser configurations (if configured)\n- Plugin-provided fetchers (if installed)\n","pattern":"^(system|html_requests|html_webdriver|extra_browser_.+)$","default":"system"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"HTTP headers to include in requests"},"body":{"type":["string","null"],"description":"HTTP request body","maxLength":5000},"proxy":{"type":["string","null"],"description":"Proxy configuration","maxLength":5000},"webdriver_delay":{"type":["integer","null"],"description":"Delay in seconds for webdriver"},"webdriver_js_execute_code":{"type":["string","null"],"description":"JavaScript code to execute","maxLength":5000},"time_between_check":{"type":"object","properties":{"weeks":{"type":["integer","null"],"minimum":0,"maximum":52000},"days":{"type":["integer","null"],"minimum":0,"maximum":365000},"hours":{"type":["integer","null"],"minimum":0,"maximum":8760000},"minutes":{"type":["integer","null"],"minimum":0,"maximum":525600000},"seconds":{"type":["integer","null"],"minimum":0,"maximum":31536000000}},"description":"Time intervals between checks. All fields must be non-negative. At least one non-zero value required when not using default settings."},"time_between_check_use_default":{"type":"boolean","default":true,"description":"Whether to use global settings for time between checks - defaults to true if not set"},"notification_urls":{"type":"array","items":{"type":"string","maxLength":1000},"maxItems":100,"description":"Notification URLs for this web page change monitor (watch). Maximum 100 URLs."},"notification_title":{"type":["string","null"],"description":"Custom notification title","maxLength":5000},"notification_body":{"type":["string","null"],"description":"Custom notification body","maxLength":5000},"notification_format":{"type":"string","enum":["text","html","htmlcolor","markdown","System default"],"description":"Format for notifications"},"track_ldjson_price_data":{"type":["boolean","null"],"description":"Whether to track JSON-LD price data"},"browser_steps":{"type":"array","items":{"type":"object","properties":{"operation":{"type":["string","null"],"maxLength":5000},"selector":{"type":["string","null"],"maxLength":5000},"optional_value":{"type":["string","null"],"maxLength":5000}},"required":["operation","selector","optional_value"],"additionalProperties":false},"maxItems":100,"description":"Browser automation steps. Maximum 100 steps allowed."},"processor":{"type":"string","enum":["restock_diff","text_json_diff"],"default":"text_json_diff","description":"Optional processor mode to use for change detection. Defaults to `text_json_diff` if not specified."},"include_filters":{"type":"array","items":{"type":"string","maxLength":5000},"maxItems":100,"description":"CSS/XPath selectors to extract specific content from the page"},"subtractive_selectors":{"type":"array","items":{"type":"string","maxLength":5000},"maxItems":100,"description":"CSS/XPath selectors to remove content from the page"},"ignore_text":{"type":"array","items":{"type":"string","maxLength":5000},"maxItems":100,"description":"Text patterns to ignore in change detection"},"trigger_text":{"type":"array","items":{"type":"string","maxLength":5000},"maxItems":100,"description":"Text/regex patterns that must be present to trigger a change"},"text_should_not_be_present":{"type":"array","items":{"type":"string","maxLength":5000},"maxItems":100,"description":"Text that should NOT be present (triggers alert if found)"},"extract_text":{"type":"array","items":{"type":"string","maxLength":5000},"maxItems":100,"description":"Regex patterns to extract specific text after filtering"},"trim_text_whitespace":{"type":"boolean","default":false,"description":"Strip leading/trailing whitespace from text"},"sort_text_alphabetically":{"type":"boolean","default":false,"description":"Sort lines alphabetically before comparison"},"remove_duplicate_lines":{"type":"boolean","default":false,"description":"Remove duplicate lines from content"},"check_unique_lines":{"type":"boolean","default":false,"description":"Compare against all history for unique lines"},"strip_ignored_lines":{"type":["boolean","null"],"description":"Remove lines matching ignore patterns"},"filter_text_added":{"type":"boolean","default":true,"description":"Include added text in change detection"},"filter_text_removed":{"type":"boolean","default":true,"description":"Include removed text in change detection"},"filter_text_replaced":{"type":"boolean","default":true,"description":"Include replaced text in change detection"},"in_stock_only":{"type":"boolean","default":true,"description":"Only trigger on in-stock transitions (restock_diff processor)"},"follow_price_changes":{"type":"boolean","default":true,"description":"Monitor and track price changes (restock_diff processor)"},"price_change_threshold_percent":{"type":["number","null"],"description":"Minimum price change percentage to trigger notification"},"has_ldjson_price_data":{"type":["boolean","null"],"description":"Whether page has LD-JSON price data (auto-detected)","readOnly":true},"notification_screenshot":{"type":"boolean","default":false,"description":"Include screenshot in notifications (if supported by notification URL)"},"filter_failure_notification_send":{"type":"boolean","default":true,"description":"Send notification when filters fail to match content"},"use_page_title_in_list":{"type":["boolean","null"],"description":"Display page title in watch list (null = use system default)"},"history_snapshot_max_length":{"type":["integer","null"],"minimum":1,"maximum":1000,"description":"Maximum number of history snapshots to keep (null = use system default)"},"time_schedule_limit":{"type":"object","description":"Weekly schedule limiting when checks can run","properties":{"enabled":{"type":"boolean","default":false},"monday":{"$ref":"#/components/schemas/DaySchedule"},"tuesday":{"$ref":"#/components/schemas/DaySchedule"},"wednesday":{"$ref":"#/components/schemas/DaySchedule"},"thursday":{"$ref":"#/components/schemas/DaySchedule"},"friday":{"$ref":"#/components/schemas/DaySchedule"},"saturday":{"$ref":"#/components/schemas/DaySchedule"},"sunday":{"$ref":"#/components/schemas/DaySchedule"}}},"conditions":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Field to check (e.g., 'page_filtered_text', 'page_title')"},"operator":{"type":"string","description":"Comparison operator (e.g., 'contains_regex', 'equals', 'not_equals')"},"value":{"type":"string","description":"Value to compare against"}},"required":["field","operator","value"]},"maxItems":100,"description":"Array of condition rules for change detection logic (empty array when not set)"},"conditions_match_logic":{"type":"string","enum":["ALL","ANY"],"default":"ALL","description":"Logic operator - ALL (match all conditions) or ANY (match any condition)"}}},"DaySchedule":{"type":"object","properties":{"enabled":{"type":"boolean","default":true},"start_time":{"type":"string","pattern":"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$","default":"00:00","description":"Start time in HH:MM format"},"duration":{"type":"object","properties":{"hours":{"type":"string","pattern":"^[0-9]+$","default":"24"},"minutes":{"type":"string","pattern":"^[0-9]+$","default":"00"}}}}},"Watch":{"allOf":[{"$ref":"#/components/schemas/WatchBase"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"Unique identifier for the web page change monitor (watch)","readOnly":true},"last_checked":{"type":"integer","description":"Unix timestamp of last check","readOnly":true},"last_changed":{"type":"integer","description":"Unix timestamp of last change","readOnly":true},"last_error":{"type":["string","boolean","null"],"description":"Last error message (false when no error, string when error occurred, null if not checked yet)","readOnly":true},"last_viewed":{"type":"integer","description":"Unix timestamp in seconds of the last time the watch was viewed. Setting it to a value higher than `last_changed` in the \"Update watch\" endpoint marks the watch as viewed.","minimum":0},"link":{"type":"string","format":"string","description":"The watch URL rendered in case of any Jinja2 markup, always use this for listing.","readOnly":true},"page_title":{"type":["string","null"],"description":"HTML <title> tag extracted from the page","readOnly":true},"check_count":{"type":"integer","description":"Total number of checks performed","readOnly":true},"fetch_time":{"type":"number","description":"Duration of last fetch in seconds","readOnly":true},"previous_md5":{"type":["string","boolean"],"description":"MD5 hash of previous content (false if not set)","readOnly":true},"previous_md5_before_filters":{"type":["string","boolean"],"description":"MD5 hash before filters applied (false if not set)","readOnly":true},"consecutive_filter_failures":{"type":"integer","description":"Counter for consecutive filter match failures","readOnly":true},"last_notification_error":{"type":["string","null"],"description":"Last notification error message","readOnly":true},"notification_alert_count":{"type":"integer","description":"Number of notifications sent","readOnly":true},"date_created":{"type":["integer","null"],"description":"Unix timestamp of watch creation","readOnly":true},"content-type":{"type":["string","null"],"description":"Content-Type from last fetch","readOnly":true},"remote_server_reply":{"type":["string","null"],"description":"Server header from last response","readOnly":true},"browser_steps_last_error_step":{"type":["integer","null"],"description":"Last browser step that caused an error","readOnly":true},"viewed":{"type":["integer","boolean"],"description":"Computed property - true if watch has been viewed, false otherwise (deprecated, use last_viewed instead)","readOnly":true},"history_n":{"type":"integer","description":"Number of history snapshots available","readOnly":true}}}]},"CreateWatch":{"allOf":[{"$ref":"#/components/schemas/WatchBase"},{"type":"object","required":["url"]}]},"UpdateWatch":{"allOf":[{"$ref":"#/components/schemas/WatchBase"},{"type":"object","properties":{"last_viewed":{"type":"integer","description":"Unix timestamp in seconds of the last time the watch was viewed. Setting it to a value higher than `last_changed` in the \"Update watch\" endpoint marks the watch as viewed.","minimum":0}}}]},"Tag":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"Unique identifier for the tag","readOnly":true},"title":{"type":"string","description":"Tag title","maxLength":5000},"notification_urls":{"type":"array","items":{"type":"string"},"description":"Default notification URLs for web page change monitors (watches) with this tag"},"notification_muted":{"type":"boolean","description":"Whether notifications are muted for this tag"}}},"CreateTag":{"allOf":[{"$ref":"#/components/schemas/Tag"},{"type":"object","required":["title"]}]},"NotificationUrls":{"type":"object","properties":{"notification_urls":{"type":"array","items":{"type":"string","format":"uri"},"description":"List of notification URLs"}},"required":["notification_urls"]},"SystemInfo":{"type":"object","properties":{"watch_count":{"type":"integer","description":"Total number of web page change monitors (watches)"},"tag_count":{"type":"integer","description":"Total number of tags"},"uptime":{"type":"string","description":"System uptime"},"version":{"type":"string","description":"Application version"}}},"SearchResult":{"type":"object","properties":{"watches":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Watch"},"description":"Dictionary of matching web page change monitors (watches) keyed by UUID"}}},"WatchHistory":{"type":"object","additionalProperties":{"type":"string","description":"Path to snapshot file"},"description":"Dictionary of timestamps and snapshot paths"},"Error":{"type":"object","properties":{"message":{"type":"string","description":"Error message"}}}}},"paths":{"/watch":{"get":{"operationId":"listWatches","tags":["Watch Management"],"summary":"List all watches","description":"Return concise list of available web page change monitors (watches) and basic info","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/watch\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nresponse = requests.get('http://localhost:5000/api/v1/watch', headers=headers)\nprint(response.json())\n"}],"parameters":[{"name":"recheck_all","in":"query","description":"Set to 1 to force recheck of all watches","schema":{"type":"string","enum":["1"]}},{"name":"tag","in":"query","description":"Tag name to filter results","schema":{"type":"string"}}],"responses":{"200":{"description":"List of watches","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Watch"}},"example":{"095be615-a8ad-4c33-8e9c-c7612fbf6c9f":{"uuid":"095be615-a8ad-4c33-8e9c-c7612fbf6c9f","url":"http://example.com?id={{1+1}} - the raw URL","link":"http://example.com?id=2 - the rendered URL, always use this for listing.","title":"Example Website Monitor - manually entered title/description","page_title":"The HTML <title> from the page","tags":["550e8400-e29b-41d4-a716-446655440000"],"paused":false,"notification_muted":false,"method":"GET","fetch_backend":"html_requests","last_checked":1640995200,"last_changed":1640995200},"7c9e6b8d-f2a1-4e5c-9d3b-8a7f6e4c2d1a":{"uuid":"7c9e6b8d-f2a1-4e5c-9d3b-8a7f6e4c2d1a","url":"http://example.com?id={{1+1}} - the raw URL","link":"http://example.com?id=2 - the rendered URL, always use this for listing.","title":"News Site Tracker - manually entered title/description","page_title":"The HTML <title> from the page","tags":["330e8400-e29b-41d4-a716-446655440001"],"paused":false,"notification_muted":true,"method":"GET","fetch_backend":"html_webdriver","last_checked":1640998800,"last_changed":1640995200}}}}}}},"post":{"operationId":"createWatch","tags":["Watch Management"],"summary":"Create a new watch","description":"Create a single web page change monitor (watch). Requires at least `url` to be set.\n\nEvery watch can be configured with:\n- **Processor mode**: `processor` field (`restock_diff` or `text_json_diff` - default)\n- **Notification settings**: `notification_urls` (array), `notification_title`, `notification_body`, `notification_format`, `notification_muted`\n- **Tags/Groups**: `tag` (UUID string) or `tags` (array of UUIDs)\n- **Check settings**: `time_between_check`, `paused`, `method`, `fetch_backend`\n- **Advanced options**: `headers`, `body`, `proxy`, `browser_steps`, and more\n","x-code-samples":[{"lang":"curl","source":"curl -X POST \"http://localhost:5000/api/v1/watch\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"url\": \"https://example.com\",\n \"title\": \"Example Site Monitor\",\n \"time_between_check\": {\n \"hours\": 1\n }\n }'\n"},{"lang":"Python","source":"import requests\nimport json\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\ndata = {\n 'url': 'https://example.com',\n 'title': 'Example Site Monitor',\n 'time_between_check': {\n 'hours': 1\n }\n}\nresponse = requests.post('http://localhost:5000/api/v1/watch',\n headers=headers, json=data)\nprint(response.text)\n"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWatch"},"example":{"url":"https://example.com","title":"Example Site Monitor","time_between_check":{"hours":1}}}}},"responses":{"200":{"description":"Web page change monitor (watch) created successfully","content":{"text/plain":{"schema":{"type":"string","example":"OK"}}}},"500":{"description":"Server error","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/watch/{uuid}":{"get":{"operationId":"getWatch","tags":["Watch Management"],"summary":"Get single watch","description":"Retrieve web page change monitor (watch) information and set muted/paused status. Returns the FULL Watch JSON.","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\nresponse = requests.get(f'http://localhost:5000/api/v1/watch/{uuid}', headers=headers)\nprint(response.json())\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}},{"name":"recheck","in":"query","description":"Recheck this web page change monitor (watch)","schema":{"type":"string","enum":["1","true"]}},{"name":"paused","in":"query","description":"Set pause state","schema":{"type":"string","enum":["paused","unpaused"]}},{"name":"muted","in":"query","description":"Set mute state","schema":{"type":"string","enum":["muted","unmuted"]}}],"responses":{"200":{"description":"Watch information or operation result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Watch"}},"text/plain":{"schema":{"type":"string","example":"OK"}}}},"404":{"description":"Web page change monitor (watch) not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"updateWatch","tags":["Watch Management"],"summary":"Update watch","description":"Update an existing web page change monitor (watch) using JSON. Accepts the same structure as returned in [get single watch information](#operation/getWatch).","x-code-samples":[{"lang":"curl","source":"curl -X PUT \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"url\": \"https://updated-example.com\",\n \"title\": \"Updated Monitor\",\n \"paused\": false\n }'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\ndata = {\n 'url': 'https://updated-example.com',\n 'title': 'Updated Monitor',\n 'paused': False\n}\nresponse = requests.put(f'http://localhost:5000/api/v1/watch/{uuid}', \n headers=headers, json=data)\nprint(response.text)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWatch"}}}},"responses":{"200":{"description":"Web page change monitor (watch) updated successfully","content":{"text/plain":{"schema":{"type":"string","example":"OK"}}}},"500":{"description":"Server error"}}},"delete":{"operationId":"deleteWatch","tags":["Watch Management"],"summary":"Delete watch","description":"Delete a web page change monitor (watch) and all related history","x-code-samples":[{"lang":"curl","source":"curl -X DELETE \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\nresponse = requests.delete(f'http://localhost:5000/api/v1/watch/{uuid}', headers=headers)\nprint(response.text)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Web page change monitor (watch) deleted successfully","content":{"text/plain":{"schema":{"type":"string","example":"OK"}}}}}}},"/watch/{uuid}/history":{"get":{"operationId":"getWatchHistory","tags":["Watch History"],"summary":"Get watch history","description":"Get a list of all historical snapshots available for a web page change monitor (watch), use the key `timestamp`\nas the query argument for fetching a single watch history snapshot.\n","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f/history\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\nresponse = requests.get(f'http://localhost:5000/api/v1/watch/{uuid}/history', headers=headers)\nprint(response.json())\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"List of available snapshots","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchHistory"},"example":{"1640995200":"/path/to/snapshot1.txt","1640998800":"/path/to/snapshot2.txt"}}}},"404":{"description":"Web page change monitor (watch) not found"}}}},"/watch/{uuid}/history/{timestamp}":{"get":{"operationId":"getWatchSnapshot","tags":["Snapshots"],"summary":"Get single snapshot","description":"Get single snapshot from web page change monitor (watch). Use 'latest' for the most recent snapshot.\nUse the Watch History API to get a list of timestamps to pass.\n","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f/history/latest\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\ntimestamp = 'latest' # or use specific timestamp like 1640995200\nresponse = requests.get(f'http://localhost:5000/api/v1/watch/{uuid}/history/{timestamp}', headers=headers)\nprint(response.text)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}},{"name":"timestamp","in":"path","required":true,"description":"Snapshot timestamp or 'latest'","schema":{"oneOf":[{"type":"integer"},{"type":"string","enum":["latest"]}]}},{"name":"html","in":"query","description":"Set to 1 to return the last HTML","schema":{"type":"string","enum":["1"]}}],"responses":{"200":{"description":"Snapshot content","content":{"text/plain":{"schema":{"type":"string"}}}},"404":{"description":"Snapshot not found"}}}},"/watch/{uuid}/difference/{from_timestamp}/{to_timestamp}":{"get":{"operationId":"getWatchHistoryDiff","tags":["Watch History"],"summary":"Get the difference between two snapshots","description":"Generate a difference (comparison) between two historical snapshots of a web page change monitor (watch).\n\nThis endpoint compares content between two points in time and returns the differences in your chosen format.\nPerfect for reviewing what changed between specific versions or comparing recent changes.\n\n**Timestamp Keywords:**\n- Use `'latest'` for the most recent snapshot (to_timestamp)\n- Use `'previous'` for the second-most-recent snapshot (from_timestamp)\n- Or use specific Unix timestamps from the watch history\n\n**Format Options:**\n- `text` (default): Plain text with (removed) and (added) prefixes\n- `html`: HTML format with (removed) and (added) text\n- `htmlcolor`: Rich HTML with colored highlights (green for additions, red for deletions)\n\n**Word-Level Diffing:**\n- Enable word-level granularity with `word_diff=true` for detailed inline comparisons\n- Disable with `word_diff=false` for line-level comparisons only (default false/off, line-level mode by default)\n\n**Raw Diff Output:**\n- Use `no_markup=true` to get raw diff content without any formatting applied\n- Returns content with placeholders for opening/closing tags of changes\n- Allows you to implement your own custom colorisation or formatting\n- Skips all HTML color application and service tweaks (added text, html color tags, etc)\n","x-code-samples":[{"lang":"curl","source":"# Compare previous snapshot to latest with colored HTML\ncurl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f/difference/previous/latest?format=htmlcolor\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n\n# Compare two specific timestamps in plain text with word-level diff\ncurl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f/difference/1640995200/1640998800?format=text&word_diff=true\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n\n# Show only additions (hide removed/replaced content), ignore whitespace\ncurl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f/difference/previous/latest?format=htmlcolor&removed=false&replaced=false&ignoreWhitespace=true\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\n\n# Compare previous to latest with colored HTML output\nresponse = requests.get(\n f'http://localhost:5000/api/v1/watch/{uuid}/difference/previous/latest',\n headers=headers,\n params={'format': 'htmlcolor'}\n)\nprint(response.text)\n\n# Compare specific timestamps with word-level diff\nfrom_ts = '1640995200'\nto_ts = '1640998800'\nresponse = requests.get(\n f'http://localhost:5000/api/v1/watch/{uuid}/difference/{from_ts}/{to_ts}',\n headers=headers,\n params={'format': 'text', 'word_diff': 'true'}\n)\nprint(response.text)\n\n# Show only additions, ignore whitespace and use word-level diff\nresponse = requests.get(\n f'http://localhost:5000/api/v1/watch/{uuid}/difference/previous/latest',\n headers=headers,\n params={\n 'format': 'htmlcolor',\n 'type': 'diffWords',\n 'removed': 'false',\n 'replaced': 'false',\n 'ignoreWhitespace': 'true'\n }\n)\nprint(response.text)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}},{"name":"from_timestamp","in":"path","required":true,"description":"Starting snapshot timestamp, 'previous' for second-most-recent, or specific Unix timestamp","schema":{"oneOf":[{"type":"integer","description":"Unix timestamp of the starting snapshot"},{"type":"string","enum":["previous"],"description":"Use 'previous' to automatically select the second-most-recent snapshot"}]},"example":"previous"},{"name":"to_timestamp","in":"path","required":true,"description":"Ending snapshot timestamp, 'latest' for most recent, or specific Unix timestamp","schema":{"oneOf":[{"type":"integer","description":"Unix timestamp of the ending snapshot"},{"type":"string","enum":["latest"],"description":"Use 'latest' to automatically select the most recent snapshot"}]},"example":"latest"},{"name":"format","in":"query","description":"Output format for the diff:\n- `text` (default): Plain text with (removed) and (added) prefixes\n- `html`: Basic HTML format\n- `htmlcolor`: Rich HTML with colored backgrounds (red for deletions, green for additions)\n- `markdown`: Markdown format with HTML rendering\n","schema":{"type":"string","enum":["text","html","htmlcolor","markdown"],"default":"text"}},{"name":"word_diff","in":"query","description":"Enable word-level diffing for more granular comparisons.\nWhen enabled, changes are highlighted at the word level rather than line level.\nDefault is false (line-level mode).\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"false"}},{"name":"no_markup","in":"query","description":"When set to true, returns the raw diff content without any markup formatting.\nThe content will include placeholders for opening/closing tags of the changes,\nallowing you to implement your own custom colorisation or formatting.\nThis skips all HTML color application and service tweaks.\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"false"}},{"name":"type","in":"query","description":"Diff granularity type:\n- `diffLines` (default): Line-level comparison, showing which lines changed\n- `diffWords`: Word-level comparison, showing which words changed within lines\n\nThis parameter is an alternative to `word_diff` for better alignment with the UI.\nIf both are specified, `type=diffWords` will enable word-level diffing.\n","schema":{"type":"string","enum":["diffLines","diffWords"],"default":"diffLines"}},{"name":"changesOnly","in":"query","description":"When enabled, only show lines/content that changed (no surrounding context).\nWhen disabled, include unchanged lines for context around changes.\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"true"}},{"name":"ignoreWhitespace","in":"query","description":"When enabled, ignore whitespace-only changes (spaces, tabs, newlines).\nUseful for focusing on content changes and ignoring formatting differences.\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"false"}},{"name":"removed","in":"query","description":"Include removed/deleted content in the diff output.\nWhen disabled, content that was deleted will not appear in the diff.\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"true"}},{"name":"added","in":"query","description":"Include added/new content in the diff output.\nWhen disabled, content that was added will not appear in the diff.\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"true"}},{"name":"replaced","in":"query","description":"Include replaced/modified content in the diff output.\nWhen disabled, content that was modified (changed from one value to another) will not appear in the diff.\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"true"}}],"responses":{"200":{"description":"Formatted diff between the two snapshots","content":{"text/plain":{"schema":{"type":"string","description":"Plain text diff with change markers"}},"text/html":{"schema":{"type":"string","description":"HTML formatted diff with styling"}}}},"400":{"description":"Invalid format parameter or invalid request"},"404":{"description":"Watch not found, timestamps not found, or insufficient history"}}}},"/watch/{uuid}/favicon":{"get":{"operationId":"getWatchFavicon","tags":["Favicon"],"summary":"Get watch favicon","description":"Get the favicon for a web page change monitor (watch) as displayed in the watch overview list.","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f/favicon\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n --output favicon.ico\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\nresponse = requests.get(f'http://localhost:5000/api/v1/watch/{uuid}/favicon', headers=headers)\nwith open('favicon.ico', 'wb') as f:\n f.write(response.content)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Favicon binary data","content":{"image/*":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"Favicon not found"}}}},"/tags":{"get":{"operationId":"listTags","tags":["Group / Tag Management"],"summary":"List all tags","description":"Return list of available tags/groups","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/tags\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nresponse = requests.get('http://localhost:5000/api/v1/tags', headers=headers)\nprint(response.json())\n"}],"responses":{"200":{"description":"List of tags","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"}},"example":{"550e8400-e29b-41d4-a716-446655440000":{"uuid":"550e8400-e29b-41d4-a716-446655440000","title":"Production Sites","notification_urls":["mailto:admin@example.com"],"notification_muted":false},"330e8400-e29b-41d4-a716-446655440001":{"uuid":"330e8400-e29b-41d4-a716-446655440001","title":"News Sources","notification_urls":["discord://webhook_id/webhook_token"],"notification_muted":false}}}}}}}},"/tag":{"post":{"operationId":"createTag","tags":["Group / Tag Management"],"summary":"Create tag","description":"Create a single tag/group","x-code-samples":[{"lang":"curl","source":"curl -X POST \"http://localhost:5000/api/v1/tag\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"title\": \"Important Sites\"\n }'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\ndata = {'title': 'Important Sites'}\nresponse = requests.post('http://localhost:5000/api/v1/tag',\n headers=headers, json=data)\nprint(response.json())\n"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTag"},"example":{"title":"Important Sites"}}}},"responses":{"201":{"description":"Tag created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID of the created tag"}}}}}},"400":{"description":"Invalid or unsupported tag"}}}},"/tag/{uuid}":{"get":{"operationId":"getTag","tags":["Group / Tag Management"],"summary":"Get single tag","description":"Retrieve tag information, set notification_muted status, recheck all web page change monitors (watches) in tag.","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/tag/550e8400-e29b-41d4-a716-446655440000\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\ntag_uuid = '550e8400-e29b-41d4-a716-446655440000'\nresponse = requests.get(f'http://localhost:5000/api/v1/tag/{tag_uuid}', headers=headers)\nprint(response.json())\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Tag unique ID","schema":{"type":"string","format":"uuid"}},{"name":"muted","in":"query","description":"Set mute state","schema":{"type":"string","enum":["muted","unmuted"]}},{"name":"recheck","in":"query","description":"Queue all web page change monitors (watches) with this tag for recheck","schema":{"type":"string","enum":["true"]}}],"responses":{"200":{"description":"Tag information or operation result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tag"}},"text/plain":{"schema":{"type":"string","example":"OK"}}}},"404":{"description":"Tag not found"}}},"put":{"operationId":"updateTag","tags":["Group / Tag Management"],"summary":"Update tag","description":"Update an existing tag using JSON","x-code-samples":[{"lang":"curl","source":"curl -X PUT \"http://localhost:5000/api/v1/tag/550e8400-e29b-41d4-a716-446655440000\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"title\": \"Updated Production Sites\",\n \"notification_muted\": false\n }'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\ntag_uuid = '550e8400-e29b-41d4-a716-446655440000'\ndata = {\n 'title': 'Updated Production Sites',\n 'notification_muted': False\n}\nresponse = requests.put(f'http://localhost:5000/api/v1/tag/{tag_uuid}', \n headers=headers, json=data)\nprint(response.text)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Tag unique ID","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tag"}}}},"responses":{"200":{"description":"Tag updated successfully"},"500":{"description":"Server error"}}},"delete":{"operationId":"deleteTag","tags":["Group / Tag Management"],"summary":"Delete tag","description":"Delete a tag/group and remove it from all web page change monitors (watches)","x-code-samples":[{"lang":"curl","source":"curl -X DELETE \"http://localhost:5000/api/v1/tag/550e8400-e29b-41d4-a716-446655440000\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\ntag_uuid = '550e8400-e29b-41d4-a716-446655440000'\nresponse = requests.delete(f'http://localhost:5000/api/v1/tag/{tag_uuid}', headers=headers)\nprint(response.text)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Tag unique ID","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Tag deleted successfully"}}}},"/notifications":{"get":{"operationId":"getNotifications","tags":["Notifications"],"summary":"Get notification URLs","description":"Return the notification URL list from the configuration","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/notifications\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nresponse = requests.get('http://localhost:5000/api/v1/notifications', headers=headers)\nprint(response.json())\n"}],"responses":{"200":{"description":"List of notification URLs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationUrls"}}}}}},"post":{"operationId":"addNotifications","tags":["Notifications"],"summary":"Add notification URLs","description":"Add one or more notification URLs to the configuration","x-code-samples":[{"lang":"curl","source":"curl -X POST \"http://localhost:5000/api/v1/notifications\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"notification_urls\": [\n \"mailto:admin@example.com\",\n \"discord://webhook_id/webhook_token\"\n ]\n }'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\ndata = {\n 'notification_urls': [\n 'mailto:admin@example.com',\n 'discord://webhook_id/webhook_token'\n ]\n}\nresponse = requests.post('http://localhost:5000/api/v1/notifications', \n headers=headers, json=data)\nprint(response.json())\n"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationUrls"},"example":{"notification_urls":["mailto:admin@example.com","discord://webhook_id/webhook_token"]}}}},"responses":{"201":{"description":"Notification URLs added successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationUrls"}}}},"400":{"description":"Invalid input"}}},"put":{"operationId":"replaceNotifications","tags":["Notifications"],"summary":"Replace notification URLs","description":"Replace all notification URLs with the provided list (can be empty)","x-code-samples":[{"lang":"curl","source":"curl -X PUT \"http://localhost:5000/api/v1/notifications\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"notification_urls\": [\n \"mailto:newadmin@example.com\"\n ]\n }'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\ndata = {\n 'notification_urls': [\n 'mailto:newadmin@example.com'\n ]\n}\nresponse = requests.put('http://localhost:5000/api/v1/notifications', \n headers=headers, json=data)\nprint(response.json())\n"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationUrls"}}}},"responses":{"200":{"description":"Notification URLs replaced successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationUrls"}}}},"400":{"description":"Invalid input"}}},"delete":{"operationId":"deleteNotifications","tags":["Notifications"],"summary":"Delete notification URLs","description":"Delete one or more notification URLs from the configuration","x-code-samples":[{"lang":"curl","source":"curl -X DELETE \"http://localhost:5000/api/v1/notifications\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"notification_urls\": [\n \"mailto:admin@example.com\"\n ]\n }'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\ndata = {\n 'notification_urls': [\n 'mailto:admin@example.com'\n ]\n}\nresponse = requests.delete('http://localhost:5000/api/v1/notifications', \n headers=headers, json=data)\nprint(response.status_code)\n"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationUrls"}}}},"responses":{"204":{"description":"Notification URLs deleted successfully"},"400":{"description":"No matching notification URLs found"}}}},"/search":{"get":{"operationId":"searchWatches","tags":["Search"],"summary":"Search watches","description":"Search web page change monitors (watches) by URL or title text","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/search?q=example.com\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nparams = {'q': 'example.com'}\nresponse = requests.get('http://localhost:5000/api/v1/search', \n headers=headers, params=params)\nprint(response.json())\n"}],"parameters":[{"name":"q","in":"query","required":true,"description":"Search query to match against watch URLs and titles","schema":{"type":"string"}},{"name":"tag","in":"query","description":"Tag name to limit results (name not UUID)","schema":{"type":"string"}},{"name":"partial","in":"query","description":"Allow partial matching of URL query","schema":{"type":"string"}}],"responses":{"200":{"description":"Search results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResult"},"example":{"watches":{"095be615-a8ad-4c33-8e9c-c7612fbf6c9f":{"uuid":"095be615-a8ad-4c33-8e9c-c7612fbf6c9f","url":"http://example.com","title":"Example Website Monitor","tags":["550e8400-e29b-41d4-a716-446655440000"],"paused":false,"notification_muted":false}}}}}}}}},"/import":{"post":{"operationId":"importWatches","tags":["Import"],"summary":"Import watch URLs with configuration","description":"Import a list of URLs to monitor with optional watch configuration. Accepts line-separated URLs in request body.\n\n**Configuration via Query Parameters:**\n\nYou can pass ANY watch configuration field as query parameters to apply settings to all imported watches.\nAll parameters from the Watch schema are supported (processor, fetch_backend, notification_urls, etc.).\n\n**Special Parameters:**\n- `tag` / `tag_uuids` - Assign tags to imported watches\n- `proxy` - Use specific proxy for imported watches\n- `dedupe` - Skip duplicate URLs (default: true)\n\n**Type Conversion:**\n- Booleans: `true`, `false`, `1`, `0`, `yes`, `no`\n- Arrays: Comma-separated or JSON format (`[item1,item2]`)\n- Objects: JSON format (`{\"key\":\"value\"}`)\n- Numbers: Parsed as int or float\n","x-code-samples":[{"lang":"curl","source":"# Basic import\ncurl -X POST \"http://localhost:5000/api/v1/import\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: text/plain\" \\\n -d $'https://example.com\\nhttps://example.org\\nhttps://example.net'\n\n# Import with processor and fetch backend\ncurl -X POST \"http://localhost:5000/api/v1/import?processor=restock_diff&fetch_backend=html_webdriver\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: text/plain\" \\\n -d $'https://example.com\\nhttps://example.org'\n\n# Import with multiple settings\ncurl -X POST \"http://localhost:5000/api/v1/import?processor=restock_diff&paused=true&tag=production\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: text/plain\" \\\n -d $'https://example.com'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'text/plain'\n}\n\n# Basic import\nurls = 'https://example.com\\nhttps://example.org\\nhttps://example.net'\nresponse = requests.post('http://localhost:5000/api/v1/import',\n headers=headers, data=urls)\nprint(response.json())\n\n# Import with configuration\nparams = {\n 'processor': 'restock_diff',\n 'fetch_backend': 'html_webdriver',\n 'paused': 'false',\n 'tag': 'production'\n}\nresponse = requests.post('http://localhost:5000/api/v1/import',\n headers=headers, params=params, data=urls)\nprint(response.json())\n"}],"parameters":[{"name":"tag_uuids","in":"query","description":"Tag UUID(s) to apply to imported watches (comma-separated for multiple)","schema":{"type":"string"},"example":"550e8400-e29b-41d4-a716-446655440000"},{"name":"tag","in":"query","description":"Tag name to apply to imported watches","schema":{"type":"string"},"example":"production"},{"name":"proxy","in":"query","description":"Proxy key to use for imported watches","schema":{"type":"string"},"example":"proxy1"},{"name":"dedupe","in":"query","description":"Skip duplicate URLs (default true)","schema":{"type":"boolean","default":true}}],"requestBody":{"required":true,"content":{"text/plain":{"schema":{"type":"string"},"example":"https://example.com\nhttps://example.org\nhttps://example.net\n"}}},"responses":{"200":{"description":"URLs imported successfully","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"},"description":"List of created watch UUIDs"}}}},"500":{"description":"Server error"}}}},"/systeminfo":{"get":{"operationId":"getSystemInfo","tags":["System Information"],"summary":"Get system information","description":"Return information about the current system state","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/systeminfo\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nresponse = requests.get('http://localhost:5000/api/v1/systeminfo', headers=headers)\nprint(response.json())\n"}],"responses":{"200":{"description":"System information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemInfo"},"example":{"watch_count":42,"tag_count":5,"uptime":"2 days, 3:45:12","version":"0.50.10"}}}}}}}}}},"searchIndex":{"store":["section/ChangeDetection.io-Web-page-monitoring-and-notifications-API","section/ChangeDetection.io-Web-page-monitoring-and-notifications-API/Where-to-find-my-API-key","section/ChangeDetection.io-Web-page-monitoring-and-notifications-API/Connection-URL","section/ChangeDetection.io-Web-page-monitoring-and-notifications-API/Authentication","tag/Watch-Management","tag/Watch-Management/operation/listWatches","tag/Watch-Management/operation/createWatch","tag/Watch-Management/operation/getWatch","tag/Watch-Management/operation/updateWatch","tag/Watch-Management/operation/deleteWatch","tag/Watch-History","tag/Watch-History/operation/getWatchHistory","tag/Watch-History/operation/getWatchHistoryDiff","tag/Snapshots","tag/Snapshots/operation/getWatchSnapshot","tag/Favicon","tag/Favicon/operation/getWatchFavicon","tag/Group-Tag-Management","tag/Group-Tag-Management/operation/listTags","tag/Group-Tag-Management/operation/createTag","tag/Group-Tag-Management/operation/getTag","tag/Group-Tag-Management/operation/updateTag","tag/Group-Tag-Management/operation/deleteTag","tag/Notifications","tag/Notifications/operation/getNotifications","tag/Notifications/operation/addNotifications","tag/Notifications/operation/replaceNotifications","tag/Notifications/operation/deleteNotifications","tag/Search","tag/Search/operation/searchWatches","tag/Import","tag/Import/operation/importWatches","tag/System-Information","tag/System-Information/operation/getSystemInfo"],"index":{"version":"2.3.9","fields":["title","description"],"fieldVectors":[["title/0",[0,1.105,1,0.486,2,0.414,3,0.319,4,0.486,5,0.845]],["description/0",[0,1.778,2,0.666,4,0.783,5,1.893,6,3.026,7,1.971,8,0.014,9,2.212,10,0.613,11,3.026,12,3.026,13,3.026,14,3.08,15,3.026,16,1.971,17,3.026,18,3.026,19,3.026,20,3.026,21,3.026,22,3.026,23,3.026]],["title/1",[5,1.249,16,1.811,24,1.811]],["description/1",[0,1.916,5,2.43,16,2.124,24,2.888,25,3.261,26,2.732,27,3.261,28,1.247,29,3.261,30,2.732,31,3.261,32,3.261,33,2.732,34,3.261,35,3.261,36,3.261]],["title/2",[37,3.308,38,0.728]],["description/2",[0,2.507,5,1.385,14,3.119,26,2.582,38,1.077,39,3.082,40,3.082,41,3.082,42,3.082,43,3.082,44,3.082,45,1.007,46,3.082,47,2.253,48,3.082,49,4.266,50,3.082,51,3.082]],["title/3",[52,3.42]],["description/3",[5,2.196,14,2.759,24,2.458,52,3.162,53,4.094,54,3.162,55,3.162,56,3.162,57,3.774,58,3.774,59,3.774]],["title/4",[7,2.154,8,0.015]],["description/4",[1,0.718,2,0.611,3,0.673,4,0.718,7,1.808,8,0.018,28,1.061,38,0.611,60,2.776,61,2.776,62,1.631,63,1.484,64,1.631,65,1.247,66,2.03,67,2.776,68,2.776,69,1.149,70,2.776,71,0.718,72,1.149,73,2.03,74,2.776,75,2.326,76,2.03,77,2.326,78,1.808]],["title/5",[8,0.015,79,0.925]],["description/5",[1,0.998,2,0.85,3,0.656,8,0.023,71,0.998,79,1.08,80,1.888,81,3.861,82,2.822,83,3.861,84,3.861]],["title/6",[8,0.013,62,1.634,85,2.781]],["description/6",[1,0.508,2,0.432,3,0.334,4,0.508,8,0.017,10,0.62,28,1.438,38,0.432,54,1.646,56,1.646,62,1.154,69,0.813,71,0.508,72,0.813,73,1.436,78,1.28,86,3.175,87,2.565,88,1.646,89,1.646,90,1.965,91,1.965,92,1.28,93,1.646,94,2.565,95,1.965,96,1.965,97,1.965,98,1.646,99,1.646,100,3.062,101,1.965,102,1.965,103,1.965,104,1.965,105,1.646,106,1.965,107,1.646,108,1.436,109,1.965,110,1.436]],["title/7",[8,0.015,69,1.37]],["description/7",[1,0.934,2,0.795,3,0.613,8,0.022,28,1.381,63,1.93,71,0.934,80,1.766,111,1.93,112,3.612,113,2.352,114,3.612,115,2.352,116,2.64]],["title/8",[8,0.015,64,1.944]],["description/8",[1,0.895,2,0.762,3,0.588,8,0.021,45,1.132,64,2.035,69,1.434,71,0.895,80,1.694,115,2.255,116,2.531,117,2.901,118,2.531,119,3.463,120,3.463,121,3.463]],["title/9",[8,0.015,65,1.486]],["description/9",[1,1.072,2,0.912,3,0.704,8,0.019,65,1.863,71,1.072,116,3.031,122,3.474,123,2.028]],["title/10",[8,0.015,123,1.618]],["description/10",[8,0.021,71,1.19,79,1.287,124,2.703,125,4.601]],["title/11",[8,0.015,123,1.618]],["description/11",[1,0.843,2,0.718,3,0.554,8,0.02,24,2.124,45,1.066,69,1.35,71,0.843,79,0.912,82,2.384,123,1.595,124,1.916,126,2.732,127,2.169,128,2.384,129,2.732,130,2.732,131,3.261]],["title/12",[127,1.173,132,1.753,133,2.009,134,1.753]],["description/12",[1,0.255,2,0.217,3,0.167,8,0.008,10,0.349,45,0.903,47,0.72,65,0.443,71,0.714,76,1.683,78,0.642,80,0.844,86,3.003,88,0.826,92,1.499,123,0.482,124,1.014,126,0.826,127,1.126,132,1.261,133,1.928,134,1.261,135,0.985,136,2.302,137,0.72,138,1.725,139,0.985,140,0.826,141,0.985,142,2.631,143,0.985,144,0.985,145,1.261,146,1.446,147,0.985,148,0.826,149,0.985,150,0.985,151,0.985,152,0.985,153,0.985,154,1.799,155,0.826,156,1.446,157,2.302,158,0.985,159,2.631,160,0.985,161,0.985,162,2.302,163,0.985,164,0.985,165,0.985,166,0.985,167,1.725,168,0.985,169,0.985,170,0.985,171,0.985,172,0.826,173,0.985,174,0.985,175,0.985,176,1.725,177,0.985,178,1.725,179,1.725,180,0.985,181,0.985,182,0.985,183,0.72,184,0.985,185,0.985,186,0.826,187,0.985,188,0.985,189,0.985,190,0.826,191,0.985,192,0.826,193,0.985,194,0.826,195,0.985]],["title/13",[127,1.997]],["description/13",[2,0.51,3,0.393,5,1.041,8,0.011,28,0.886,45,0.757,63,1.856,66,1.694,73,1.694,76,1.694,79,0.648,123,1.133,124,2.04,127,1.698,128,2.539,129,1.941,130,2.91,134,1.694,137,1.694,140,1.941,154,2.713,159,3.877,196,2.317,197,2.317,198,3.473,199,1.361,200,2.317,201,2.317,202,2.317,203,1.694]],["title/14",[69,1.37,127,1.618]],["description/14",[1,0.86,2,0.732,3,0.565,5,1.494,8,0.021,45,1.469,69,1.377,71,0.86,79,0.93,123,1.627,124,1.954,127,2.198,146,2.787,148,2.787,203,2.431,204,3.326]],["title/15",[205,2.659]],["description/15",[1,0.914,2,0.778,3,0.795,8,0.016,30,2.962,45,1.156,63,1.89,79,0.989,132,2.585,205,2.303,206,3.536,207,3.536,208,3.536,209,3.536,210,2.962]],["title/16",[8,0.015,205,2.154]],["description/16",[1,1.022,2,0.87,3,0.671,8,0.023,71,1.022,79,1.105,205,2.573,211,3.952,212,3.952,213,3.952]],["title/17",[7,1.562,9,1.753,10,0.485,86,1.562]],["description/17",[3,0.505,4,0.769,8,0.019,9,3.042,10,0.842,28,1.136,45,0.972,71,0.769,75,2.491,113,1.936,122,2.491,186,2.491,214,2.973,215,2.973,216,2.973,217,2.973,218,2.973,219,2.491,220,2.973,221,2.973,222,2.491,223,2.491]],["title/18",[10,0.67,79,0.925]],["description/18",[10,0.931,79,1.287,80,2.25,82,3.363,99,3.855]],["title/19",[10,0.67,62,1.944]],["description/19",[10,0.957,62,2.779,69,1.958,224,3.963]],["title/20",[10,0.67,69,1.37]],["description/20",[1,0.954,2,0.812,3,0.627,8,0.017,10,0.975,28,1.411,63,1.973,71,0.954,98,3.093,111,1.973,113,2.404,222,3.093,225,2.698]],["title/21",[10,0.67,64,1.944]],["description/21",[10,0.906,45,1.464,64,2.631,115,2.916,117,3.752,225,3.274]],["title/22",[10,0.67,65,1.486]],["description/22",[1,1.072,2,0.912,3,0.704,8,0.019,65,1.863,71,1.072,156,3.474,224,3.474,225,3.031]],["title/23",[4,1.056]],["description/23",[4,1.185,8,0.018,10,0.553,28,1.044,45,1.281,66,1.997,72,1.131,92,1.779,137,1.997,192,2.288,226,2.731,227,2.288,228,2.731,229,2.288,230,2.731,231,2.731,232,2.731,233,2.731,234,2.731,235,2.731,236,2.731,237,2.731,238,2.731,239,2.731,240,2.731,241,2.731]],["title/24",[4,0.855,38,0.728]],["description/24",[4,1.407,38,0.985,72,1.854,79,1.253,80,2.19]],["title/25",[4,0.719,38,0.612,242,2.33]],["description/25",[4,1.384,38,0.96,72,1.806,110,3.189,242,3.655,243,3.655]],["title/26",[4,0.719,38,0.612,244,2.33]],["description/26",[4,1.384,38,0.96,55,3.655,79,1.22,244,3.655,245,4.362]],["title/27",[4,0.719,38,0.612,65,1.249]],["description/27",[4,1.384,38,0.96,65,1.96,72,1.806,110,3.189,243,3.655]],["title/28",[246,2.659]],["description/28",[3,0.565,8,0.021,10,0.673,16,2.166,38,0.732,45,1.087,77,2.787,145,2.431,210,2.787,246,2.166,247,3.326,248,2.787,249,3.326,250,3.326,251,3.326,252,3.326,253,3.326,254,3.326]],["title/29",[8,0.015,246,2.154]],["description/29",[1,1.046,2,0.891,3,0.687,8,0.018,38,0.891,71,1.046,154,2.635,246,3.328,248,3.391]],["title/30",[255,2.659]],["description/30",[3,0.565,8,0.015,10,0.673,28,1.271,33,2.787,38,0.989,72,1.377,79,0.93,108,2.431,118,2.431,154,2.166,155,2.787,183,2.431,219,2.787,223,2.787,255,2.927,256,3.326]],["title/31",[8,0.011,38,0.528,72,0.993,255,1.562]],["description/31",[3,0.241,8,0.019,10,0.476,28,0.542,38,0.664,45,0.463,53,1.188,72,1.25,78,0.923,79,0.397,86,3.334,87,1.188,89,1.188,92,0.923,93,1.188,94,1.188,105,1.188,107,1.188,108,1.721,115,1.533,118,1.036,128,1.721,142,1.972,145,1.036,183,1.036,190,1.188,194,1.188,203,1.036,227,1.188,255,2.539,257,1.418,258,1.418,259,3.514,260,1.418,261,1.418,262,1.418,263,1.418,264,1.418,265,1.418,266,2.354,267,1.418,268,1.418,269,1.418,270,1.418,271,1.418,272,1.418,273,1.418,274,1.418,275,1.418,276,1.418,277,1.418,278,1.418,279,1.418,280,1.418,281,1.418]],["title/32",[111,1.768,199,1.944]],["description/32",[0,2.169,8,0.017,47,2.698,63,1.973,111,1.973,113,2.404,172,3.093,199,2.169,229,3.093,282,3.691,283,3.691,284,3.691,285,3.691,286,3.691]],["title/33",[111,1.768,199,1.944]],["description/33",[80,2.19,111,2.394,199,2.631,287,4.478,288,4.478,289,4.478]]],"invertedIndex":[["",{"_index":86,"title":{"17":{}},"description":{"6":{},"12":{},"31":{}}}],["0",{"_index":272,"title":{},"description":{"31":{}}}],["1",{"_index":271,"title":{},"description":{"31":{}}}],["2",{"_index":201,"title":{},"description":{"13":{}}}],["5000",{"_index":43,"title":{},"description":{"2":{}}}],["accept",{"_index":118,"title":{},"description":{"8":{},"30":{},"31":{}}}],["accord",{"_index":196,"title":{},"description":{"13":{}}}],["ad",{"_index":157,"title":{},"description":{"12":{}}}],["add",{"_index":242,"title":{"25":{}},"description":{"25":{}}}],["addit",{"_index":165,"title":{},"description":{"12":{}}}],["advanc",{"_index":106,"title":{},"description":{"6":{}}}],["allow",{"_index":186,"title":{},"description":{"12":{},"17":{}}}],["api",{"_index":5,"title":{"0":{},"1":{}},"description":{"0":{},"1":{},"2":{},"3":{},"13":{},"14":{}}}],["api/v1",{"_index":39,"title":{},"description":{"2":{}}}],["appli",{"_index":183,"title":{},"description":{"12":{},"30":{},"31":{}}}],["applic",{"_index":191,"title":{},"description":{"12":{}}}],["argument",{"_index":129,"title":{},"description":{"11":{},"13":{}}}],["array",{"_index":94,"title":{},"description":{"6":{},"31":{}}}],["assign",{"_index":263,"title":{},"description":{"31":{}}}],["associ",{"_index":207,"title":{},"description":{"15":{}}}],["authent",{"_index":52,"title":{"3":{}},"description":{"3":{}}}],["automat",{"_index":33,"title":{},"description":{"1":{},"30":{}}}],["avail",{"_index":82,"title":{},"description":{"5":{},"11":{},"18":{}}}],["base",{"_index":48,"title":{},"description":{"2":{}}}],["basic",{"_index":83,"title":{},"description":{"5":{}}}],["be",{"_index":70,"title":{},"description":{"4":{}}}],["below",{"_index":15,"title":{},"description":{"0":{}}}],["between",{"_index":133,"title":{"12":{}},"description":{"12":{}}}],["bodi",{"_index":107,"title":{},"description":{"6":{},"31":{}}}],["boolean",{"_index":269,"title":{},"description":{"31":{}}}],["browser_step",{"_index":109,"title":{},"description":{"6":{}}}],["built",{"_index":12,"title":{},"description":{"0":{}}}],["bulk",{"_index":219,"title":{},"description":{"17":{},"30":{}}}],["categor",{"_index":216,"title":{},"description":{"17":{}}}],["certain",{"_index":253,"title":{},"description":{"28":{}}}],["chang",{"_index":71,"title":{},"description":{"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"14":{},"16":{},"17":{},"20":{},"22":{},"29":{}}}],["changedetection.io",{"_index":0,"title":{"0":{}},"description":{"0":{},"1":{},"2":{},"32":{}}}],["check",{"_index":73,"title":{},"description":{"4":{},"6":{},"13":{}}}],["chosen",{"_index":141,"title":{},"description":{"12":{}}}],["click",{"_index":32,"title":{},"description":{"1":{}}}],["clipboard",{"_index":35,"title":{},"description":{"1":{}}}],["collect",{"_index":251,"title":{},"description":{"28":{}}}],["color",{"_index":162,"title":{},"description":{"12":{}}}],["coloris",{"_index":189,"title":{},"description":{"12":{}}}],["comma-separ",{"_index":274,"title":{},"description":{"31":{}}}],["command",{"_index":18,"title":{},"description":{"0":{}}}],["compar",{"_index":138,"title":{},"description":{"12":{}}}],["comparison",{"_index":136,"title":{},"description":{"12":{}}}],["concis",{"_index":81,"title":{},"description":{"5":{}}}],["configur",{"_index":72,"title":{"31":{}},"description":{"4":{},"6":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{}}}],["connect",{"_index":37,"title":{"2":{}},"description":{}}],["content",{"_index":76,"title":{},"description":{"4":{},"12":{},"13":{}}}],["convers",{"_index":268,"title":{},"description":{"31":{}}}],["copi",{"_index":34,"title":{},"description":{"1":{}}}],["core",{"_index":60,"title":{},"description":{"4":{}}}],["count",{"_index":285,"title":{},"description":{"32":{}}}],["creat",{"_index":62,"title":{"6":{},"19":{}},"description":{"4":{},"6":{},"19":{}}}],["criteria",{"_index":254,"title":{},"description":{"28":{}}}],["curl",{"_index":17,"title":{},"description":{"0":{}}}],["current",{"_index":287,"title":{},"description":{"33":{}}}],["custom",{"_index":188,"title":{},"description":{"12":{}}}],["dashboard",{"_index":30,"title":{},"description":{"1":{},"15":{}}}],["dedup",{"_index":264,"title":{},"description":{"31":{}}}],["default",{"_index":92,"title":{},"description":{"6":{},"12":{},"23":{},"31":{}}}],["delet",{"_index":65,"title":{"9":{},"22":{},"27":{}},"description":{"4":{},"9":{},"12":{},"22":{},"27":{}}}],["detail",{"_index":172,"title":{},"description":{"12":{},"32":{}}}],["detect",{"_index":125,"title":{},"description":{"10":{}}}],["dif",{"_index":168,"title":{},"description":{"12":{}}}],["diff",{"_index":179,"title":{},"description":{"12":{}}}],["differ",{"_index":132,"title":{"12":{}},"description":{"12":{},"15":{}}}],["disabl",{"_index":174,"title":{},"description":{"12":{}}}],["discord",{"_index":231,"title":{},"description":{"23":{}}}],["display",{"_index":211,"title":{},"description":{"16":{}}}],["driven",{"_index":11,"title":{},"description":{"0":{}}}],["duplic",{"_index":265,"title":{},"description":{"31":{}}}],["each",{"_index":67,"title":{},"description":{"4":{}}}],["easili",{"_index":25,"title":{},"description":{"1":{}}}],["email",{"_index":230,"title":{},"description":{"23":{}}}],["empti",{"_index":245,"title":{},"description":{"26":{}}}],["enabl",{"_index":169,"title":{},"description":{"12":{}}}],["endpoint",{"_index":137,"title":{},"description":{"12":{},"13":{},"23":{}}}],["etc",{"_index":194,"title":{},"description":{"12":{},"31":{}}}],["exampl",{"_index":14,"title":{},"description":{"0":{},"2":{},"3":{}}}],["exist",{"_index":117,"title":{},"description":{"8":{},"21":{}}}],["fals",{"_index":270,"title":{},"description":{"31":{}}}],["false/off",{"_index":177,"title":{},"description":{"12":{}}}],["faster",{"_index":23,"title":{},"description":{"0":{}}}],["favicon",{"_index":205,"title":{"15":{},"16":{}},"description":{"15":{},"16":{}}}],["fetch",{"_index":130,"title":{},"description":{"11":{},"13":{}}}],["fetch_backend",{"_index":105,"title":{},"description":{"6":{},"31":{}}}],["field",{"_index":89,"title":{},"description":{"6":{},"31":{}}}],["file",{"_index":202,"title":{},"description":{"13":{}}}],["filter",{"_index":77,"title":{},"description":{"4":{},"28":{}}}],["find",{"_index":16,"title":{"1":{}},"description":{"0":{},"1":{},"28":{}}}],["float",{"_index":281,"title":{},"description":{"31":{}}}],["format",{"_index":142,"title":{},"description":{"12":{},"31":{}}}],["found",{"_index":26,"title":{},"description":{"1":{},"2":{}}}],["from_timestamp",{"_index":152,"title":{},"description":{"12":{}}}],["full",{"_index":114,"title":{},"description":{"7":{}}}],["function",{"_index":61,"title":{},"description":{"4":{}}}],["gener",{"_index":135,"title":{},"description":{"12":{}}}],["global",{"_index":226,"title":{},"description":{"23":{}}}],["granular",{"_index":170,"title":{},"description":{"12":{}}}],["green",{"_index":164,"title":{},"description":{"12":{}}}],["group",{"_index":9,"title":{"17":{}},"description":{"0":{},"17":{}}}],["group-wid",{"_index":217,"title":{},"description":{"17":{}}}],["header",{"_index":56,"title":{},"description":{"3":{},"6":{}}}],["help",{"_index":21,"title":{},"description":{"0":{}}}],["highlight",{"_index":163,"title":{},"description":{"12":{}}}],["histor",{"_index":126,"title":{},"description":{"11":{},"12":{}}}],["histori",{"_index":123,"title":{"10":{},"11":{}},"description":{"9":{},"11":{},"12":{},"13":{},"14":{}}}],["hosted/subscript",{"_index":46,"title":{},"description":{"2":{}}}],["html",{"_index":159,"title":{},"description":{"12":{},"13":{}}}],["htmlcolor",{"_index":160,"title":{},"description":{"12":{}}}],["http",{"_index":57,"title":{},"description":{"3":{}}}],["http://localhost:5000/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091/histori",{"_index":44,"title":{},"description":{"2":{}}}],["https://<your",{"_index":50,"title":{},"description":{"2":{}}}],["https://github.com/caronc/apprise](https://github.com/caronc/appris",{"_index":241,"title":{},"description":{"23":{}}}],["identifi",{"_index":210,"title":{},"description":{"15":{},"28":{}}}],["imag",{"_index":206,"title":{},"description":{"15":{}}}],["implement",{"_index":187,"title":{},"description":{"12":{}}}],["import",{"_index":255,"title":{"30":{},"31":{}},"description":{"30":{},"31":{}}}],["includ",{"_index":229,"title":{},"description":{"23":{},"32":{}}}],["individu",{"_index":66,"title":{},"description":{"4":{},"13":{},"23":{}}}],["info",{"_index":84,"title":{},"description":{"5":{}}}],["inform",{"_index":111,"title":{"32":{},"33":{}},"description":{"7":{},"20":{},"32":{},"33":{}}}],["information](#operation/getwatch",{"_index":121,"title":{},"description":{"8":{}}}],["inlin",{"_index":173,"title":{},"description":{"12":{}}}],["instanc",{"_index":283,"title":{},"description":{"32":{}}}],["int",{"_index":280,"title":{},"description":{"31":{}}}],["interfac",{"_index":208,"title":{},"description":{"15":{}}}],["interv",{"_index":74,"title":{},"description":{"4":{}}}],["item1,item2",{"_index":275,"title":{},"description":{"31":{}}}],["json",{"_index":115,"title":{},"description":{"7":{},"8":{},"21":{},"31":{}}}],["keep",{"_index":200,"title":{},"description":{"13":{}}}],["key",{"_index":24,"title":{"1":{}},"description":{"1":{},"3":{},"11":{}}}],["key\":\"valu",{"_index":277,"title":{},"description":{"31":{}}}],["key](./where-to-get-api-key.jpeg",{"_index":36,"title":{},"description":{"1":{}}}],["keyword",{"_index":147,"title":{},"description":{"12":{}}}],["known",{"_index":215,"title":{},"description":{"17":{}}}],["larg",{"_index":250,"title":{},"description":{"28":{}}}],["last",{"_index":198,"title":{},"description":{"13":{}}}],["latest",{"_index":148,"title":{},"description":{"12":{},"14":{}}}],["level",{"_index":239,"title":{},"description":{"23":{}}}],["line",{"_index":19,"title":{},"description":{"0":{}}}],["line-level",{"_index":176,"title":{},"description":{"12":{}}}],["line-separ",{"_index":257,"title":{},"description":{"31":{}}}],["list",{"_index":79,"title":{"5":{},"18":{}},"description":{"5":{},"10":{},"11":{},"13":{},"14":{},"15":{},"16":{},"18":{},"24":{},"26":{},"30":{},"31":{}}}],["local",{"_index":41,"title":{},"description":{"2":{}}}],["login",{"_index":49,"title":{},"description":{"2":{}}}],["manag",{"_index":7,"title":{"4":{},"17":{}},"description":{"0":{},"4":{}}}],["mani",{"_index":234,"title":{},"description":{"23":{}}}],["mass",{"_index":221,"title":{},"description":{"17":{}}}],["match",{"_index":252,"title":{},"description":{"28":{}}}],["method",{"_index":104,"title":{},"description":{"6":{}}}],["mode",{"_index":88,"title":{},"description":{"6":{},"12":{}}}],["monitor",{"_index":3,"title":{"0":{}},"description":{"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"20":{},"22":{},"28":{},"29":{},"30":{},"31":{}}}],["more",{"_index":110,"title":{},"description":{"6":{},"25":{},"27":{}}}],["multipl",{"_index":223,"title":{},"description":{"17":{},"30":{}}}],["muted/paus",{"_index":112,"title":{},"description":{"7":{}}}],["new",{"_index":85,"title":{"6":{}},"description":{}}],["no_markup=tru",{"_index":181,"title":{},"description":{"12":{}}}],["notif",{"_index":4,"title":{"0":{},"23":{},"24":{},"25":{},"26":{},"27":{}},"description":{"0":{},"4":{},"6":{},"17":{},"23":{},"24":{},"25":{},"26":{},"27":{}}}],["notification_bodi",{"_index":96,"title":{},"description":{"6":{}}}],["notification_format",{"_index":97,"title":{},"description":{"6":{}}}],["notification_mut",{"_index":98,"title":{},"description":{"6":{},"20":{}}}],["notification_titl",{"_index":95,"title":{},"description":{"6":{}}}],["notification_url",{"_index":93,"title":{},"description":{"6":{},"31":{}}}],["number",{"_index":278,"title":{},"description":{"31":{}}}],["object",{"_index":276,"title":{},"description":{"31":{}}}],["on",{"_index":243,"title":{},"description":{"25":{},"27":{}}}],["opening/clos",{"_index":185,"title":{},"description":{"12":{}}}],["oper",{"_index":220,"title":{},"description":{"17":{}}}],["option",{"_index":78,"title":{},"description":{"4":{},"6":{},"12":{},"31":{}}}],["organ",{"_index":214,"title":{},"description":{"17":{}}}],["output",{"_index":180,"title":{},"description":{"12":{}}}],["overridden",{"_index":238,"title":{},"description":{"23":{}}}],["overview",{"_index":212,"title":{},"description":{"16":{}}}],["page",{"_index":2,"title":{"0":{}},"description":{"0":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"20":{},"22":{},"29":{}}}],["paramet",{"_index":259,"title":{},"description":{"31":{}}}],["pars",{"_index":279,"title":{},"description":{"31":{}}}],["pass",{"_index":203,"title":{},"description":{"13":{},"14":{},"31":{}}}],["pattern",{"_index":247,"title":{},"description":{"28":{}}}],["paus",{"_index":103,"title":{},"description":{"6":{}}}],["perfect",{"_index":143,"title":{},"description":{"12":{}}}],["perform",{"_index":218,"title":{},"description":{"17":{}}}],["placehold",{"_index":184,"title":{},"description":{"12":{}}}],["plain",{"_index":155,"title":{},"description":{"12":{},"30":{}}}],["platform",{"_index":236,"title":{},"description":{"23":{}}}],["point",{"_index":139,"title":{},"description":{"12":{}}}],["popular",{"_index":235,"title":{},"description":{"23":{}}}],["port",{"_index":42,"title":{},"description":{"2":{}}}],["prefer",{"_index":75,"title":{},"description":{"4":{},"17":{}}}],["prefix",{"_index":158,"title":{},"description":{"12":{}}}],["previou",{"_index":150,"title":{},"description":{"12":{}}}],["processor",{"_index":87,"title":{},"description":{"6":{},"31":{}}}],["provid",{"_index":55,"title":{},"description":{"3":{},"26":{}}}],["proxi",{"_index":108,"title":{},"description":{"6":{},"30":{},"31":{}}}],["python",{"_index":20,"title":{},"description":{"0":{}}}],["queri",{"_index":128,"title":{},"description":{"11":{},"13":{},"31":{}}}],["quickli",{"_index":249,"title":{},"description":{"28":{}}}],["raw",{"_index":178,"title":{},"description":{"12":{}}}],["recent",{"_index":146,"title":{},"description":{"12":{},"14":{}}}],["recheck",{"_index":222,"title":{},"description":{"17":{},"20":{}}}],["red",{"_index":166,"title":{},"description":{"12":{}}}],["relat",{"_index":122,"title":{},"description":{"9":{},"17":{}}}],["remov",{"_index":156,"title":{},"description":{"12":{},"22":{}}}],["replac",{"_index":244,"title":{"26":{}},"description":{"26":{}}}],["repres",{"_index":68,"title":{},"description":{"4":{}}}],["request",{"_index":53,"title":{},"description":{"3":{},"31":{}}}],["requir",{"_index":54,"title":{},"description":{"3":{},"6":{}}}],["rest",{"_index":6,"title":{},"description":{"0":{}}}],["restock_diff",{"_index":90,"title":{},"description":{"6":{}}}],["retriev",{"_index":63,"title":{},"description":{"4":{},"7":{},"13":{},"15":{},"20":{},"32":{}}}],["return",{"_index":80,"title":{},"description":{"5":{},"7":{},"8":{},"12":{},"18":{},"24":{},"33":{}}}],["review",{"_index":144,"title":{},"description":{"12":{}}}],["rich",{"_index":161,"title":{},"description":{"12":{}}}],["run",{"_index":40,"title":{},"description":{"2":{}}}],["same",{"_index":119,"title":{},"description":{"8":{}}}],["schema",{"_index":260,"title":{},"description":{"31":{}}}],["search",{"_index":246,"title":{"28":{},"29":{}},"description":{"28":{},"29":{}}}],["second-most-rec",{"_index":151,"title":{},"description":{"12":{}}}],["serv",{"_index":237,"title":{},"description":{"23":{}}}],["servic",{"_index":192,"title":{},"description":{"12":{},"23":{}}}],["set",{"_index":28,"title":{},"description":{"1":{},"4":{},"6":{},"7":{},"13":{},"17":{},"20":{},"23":{},"30":{},"31":{}}}],["simpl",{"_index":13,"title":{},"description":{"0":{}}}],["simpli",{"_index":31,"title":{},"description":{"1":{}}}],["simultan",{"_index":256,"title":{},"description":{"30":{}}}],["singl",{"_index":69,"title":{"7":{},"14":{},"20":{}},"description":{"4":{},"6":{},"8":{},"11":{},"14":{},"19":{}}}],["skip",{"_index":190,"title":{},"description":{"12":{},"31":{}}}],["slack",{"_index":232,"title":{},"description":{"23":{}}}],["snapshot",{"_index":127,"title":{"12":{},"13":{},"14":{}},"description":{"11":{},"12":{},"13":{},"14":{}}}],["special",{"_index":261,"title":{},"description":{"31":{}}}],["specif",{"_index":145,"title":{},"description":{"12":{},"28":{},"31":{}}}],["start",{"_index":22,"title":{},"description":{"0":{}}}],["state",{"_index":288,"title":{},"description":{"33":{}}}],["statist",{"_index":282,"title":{},"description":{"32":{}}}],["statu",{"_index":113,"title":{},"description":{"7":{},"17":{},"20":{},"32":{}}}],["string",{"_index":101,"title":{},"description":{"6":{}}}],["structur",{"_index":120,"title":{},"description":{"8":{}}}],["support",{"_index":227,"title":{},"description":{"23":{},"31":{}}}],["syntax",{"_index":240,"title":{},"description":{"23":{}}}],["system",{"_index":199,"title":{"32":{},"33":{}},"description":{"13":{},"32":{},"33":{}}}],["systeminfo",{"_index":289,"title":{},"description":{"33":{}}}],["tab",{"_index":29,"title":{},"description":{"1":{}}}],["tag",{"_index":10,"title":{"17":{},"18":{},"19":{},"20":{},"21":{},"22":{}},"description":{"0":{},"6":{},"12":{},"17":{},"18":{},"19":{},"20":{},"21":{},"23":{},"28":{},"30":{},"31":{}}}],["tag/group",{"_index":224,"title":{},"description":{"19":{},"22":{}}}],["tag/{uuid",{"_index":225,"title":{},"description":{"20":{},"21":{},"22":{}}}],["tag_uuid",{"_index":262,"title":{},"description":{"31":{}}}],["tags/group",{"_index":99,"title":{},"description":{"6":{},"18":{}}}],["text",{"_index":154,"title":{},"description":{"12":{},"13":{},"29":{},"30":{}}}],["text_json_diff",{"_index":91,"title":{},"description":{"6":{}}}],["time",{"_index":140,"title":{},"description":{"12":{},"13":{}}}],["time_between_check",{"_index":102,"title":{},"description":{"6":{}}}],["timestamp",{"_index":124,"title":{},"description":{"10":{},"11":{},"12":{},"13":{},"14":{}}}],["titl",{"_index":248,"title":{},"description":{"28":{},"29":{}}}],["to_timestamp",{"_index":149,"title":{},"description":{"12":{}}}],["total",{"_index":284,"title":{},"description":{"32":{}}}],["true",{"_index":266,"title":{},"description":{"31":{}}}],["tweak",{"_index":193,"title":{},"description":{"12":{}}}],["two",{"_index":134,"title":{"12":{}},"description":{"12":{},"13":{}}}],["type",{"_index":267,"title":{},"description":{"31":{}}}],["under",{"_index":27,"title":{},"description":{"1":{}}}],["unix",{"_index":153,"title":{},"description":{"12":{}}}],["updat",{"_index":64,"title":{"8":{},"21":{}},"description":{"4":{},"8":{},"21":{}}}],["uptim",{"_index":286,"title":{},"description":{"32":{}}}],["url",{"_index":38,"title":{"2":{},"24":{},"25":{},"26":{},"27":{},"31":{}},"description":{"2":{},"4":{},"6":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{}}}],["url>/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091/histori",{"_index":51,"title":{},"description":{"2":{}}}],["us",{"_index":45,"title":{},"description":{"2":{},"8":{},"11":{},"12":{},"13":{},"14":{},"15":{},"17":{},"21":{},"23":{},"28":{},"31":{}}}],["uuid",{"_index":100,"title":{},"description":{"6":{}}}],["valu",{"_index":197,"title":{},"description":{"13":{}}}],["variou",{"_index":228,"title":{},"description":{"23":{}}}],["version",{"_index":47,"title":{},"description":{"2":{},"12":{},"32":{}}}],["via",{"_index":258,"title":{},"description":{"31":{}}}],["visual",{"_index":209,"title":{},"description":{"15":{}}}],["watch",{"_index":8,"title":{"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"16":{},"29":{},"31":{}},"description":{"0":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"20":{},"22":{},"23":{},"28":{},"29":{},"30":{},"31":{},"32":{}}}],["watch/{uuid",{"_index":116,"title":{},"description":{"7":{},"8":{},"9":{}}}],["watch/{uuid}/difference/{from_timestamp}/{to_timestamp",{"_index":195,"title":{},"description":{"12":{}}}],["watch/{uuid}/favicon",{"_index":213,"title":{},"description":{"16":{}}}],["watch/{uuid}/histori",{"_index":131,"title":{},"description":{"11":{}}}],["watch/{uuid}/history/{timestamp",{"_index":204,"title":{},"description":{"14":{}}}],["web",{"_index":1,"title":{"0":{}},"description":{"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"14":{},"15":{},"16":{},"20":{},"22":{},"29":{}}}],["webhook",{"_index":233,"title":{},"description":{"23":{}}}],["without",{"_index":182,"title":{},"description":{"12":{}}}],["word-level",{"_index":167,"title":{},"description":{"12":{}}}],["word_diff=fals",{"_index":175,"title":{},"description":{"12":{}}}],["word_diff=tru",{"_index":171,"title":{},"description":{"12":{}}}],["x-api-key",{"_index":58,"title":{},"description":{"3":{}}}],["ye",{"_index":273,"title":{},"description":{"31":{}}}],["your_api_key",{"_index":59,"title":{},"description":{"3":{}}}]],"pipeline":[]}},"options":{}}; + const __redoc_state = {"menu":{"activeItemIdx":-1},"spec":{"data":{"openapi":"3.1.0","info":{"title":"ChangeDetection.io API","description":"# ChangeDetection.io Web page monitoring and notifications API\n\nREST API for managing Page watches, Group tags, and Notifications.\n\nchangedetection.io can be driven by its built in simple API, in the examples below you will also find `curl` command line and `python` examples to help you get started faster.\n\n## Where to find my API key?\n\nThe API key can be easily found under the **SETTINGS** then **API** tab of changedetection.io dashboard. \nSimply click the API key to automatically copy it to your clipboard.\n\n![Where to find the API key](./where-to-get-api-key.jpeg)\n\n## Connection URL\n\nThe API can be found at `/api/v1/`, so for example if you run changedetection.io locally on port 5000, then URL would be `http://localhost:5000/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091/history`.\n\nIf you are using the hosted/subscription version of changedetection.io, then the URL is based on your login URL, for example: \n`https://<your login url>/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091/history`\n\n## Authentication\n\nAlmost all API requests require some authentication, this is provided as an **API Key** in the header of the HTTP request.\n\nFor example: `x-api-key: YOUR_API_KEY`\n","version":"0.1.6","contact":{"name":"ChangeDetection.io","url":"https://github.com/dgtlmoon/changedetection.io"},"license":{"name":"Apache 2.0","url":"https://www.apache.org/licenses/LICENSE-2.0.html"}},"servers":[{"url":"http://localhost:5000/api/v1","description":"Development server"},{"url":"https://yourdomain.com/api/v1","description":"Production server"},{"url":"{protocol}://{host}/api/v1","description":"Custom server","variables":{"protocol":{"enum":["http","https"],"default":"https"},"host":{"default":"yourdomain.com","description":"Your changedetection.io host"}}}],"security":[{"ApiKeyAuth":[]}],"tags":[{"name":"Watch Management","description":"Core functionality for managing web page monitors. Create, retrieve, update, and delete individual watches. \nEach watch represents a single URL being monitored for changes, with configurable settings for check intervals, \nnotification preferences, and content filtering options.\n"},{"name":"Watch History","description":"Get a list of timestamps of all changes detected for a watch.\n"},{"name":"Snapshots","description":"Retrieve individual text snapshot of monitored content according to the `timestamp`. The text snapshot is the HTML\nto Text at page check time. \n\nSet the query argument `html` to any value to retrieve the last HTML fetched, the system only keeps the last two \n(2) HTML files fetched.\n\nUse the Watch History API endpoint to get a list of timestamps to pass to this query.\n"},{"name":"Favicon","description":"Retrieve favicon images associated with monitored web pages. These are used in the dashboard interface \nto visually identify different watches in your monitoring list.\n"},{"name":"Group / Tag Management","description":"Organize your watches using tags and groups. Tags (also known as Groups) allow you to categorize monitors, set group-wide \nnotification preferences, and perform bulk operations like mass rechecking or status changes across \nmultiple related watches.\n"},{"name":"Notifications","description":"Configure global notification endpoints that can be used across all your watches. Supports various \nnotification services including email, Discord, Slack, webhooks, and many other popular platforms. \nThese settings serve as defaults that can be overridden at the individual watch or tag level.\n\nThe notification syntax uses [https://github.com/caronc/apprise](https://github.com/caronc/apprise).\n"},{"name":"Search","description":"Search and filter your watches by URL patterns, titles, or tags. Useful for quickly finding specific \nmonitors in large collections or identifying watches that match certain criteria.\n"},{"name":"Import","description":"Bulk import multiple URLs for monitoring. Accepts plain text lists of URLs and can automatically \napply tags, proxy settings, and other configurations to all imported watches simultaneously.\n"},{"name":"System Information","description":"Retrieve system status and statistics about your changedetection.io instance, including total watch \ncounts, uptime information, and version details.\n"}],"components":{"securitySchemes":{"ApiKeyAuth":{"type":"apiKey","in":"header","name":"x-api-key","description":"API key for authentication. You can find your API key in the changedetection.io dashboard under Settings > API.\n\nEnter your API key in the \"Authorize\" button above to automatically populate all code examples.\n"}},"schemas":{"WatchBase":{"type":"object","properties":{"url":{"type":"string","format":"uri","description":"URL to monitor for changes","maxLength":5000},"title":{"type":["string","null"],"description":"Custom title for the web page change monitor (watch), not to be confused with page_title","maxLength":5000},"tag":{"type":"string","description":"Tag UUID to associate with this web page change monitor (watch)","maxLength":5000},"tags":{"type":"array","items":{"type":"string"},"description":"Array of tag UUIDs"},"paused":{"type":"boolean","description":"Whether the web page change monitor (watch) is paused"},"notification_muted":{"type":"boolean","description":"Whether notifications are muted"},"method":{"type":"string","enum":["GET","POST","DELETE","PUT"],"description":"HTTP method to use"},"fetch_backend":{"type":"string","description":"Backend to use for fetching content. Common values:\n- `system` (default) - Use the system-wide default fetcher\n- `html_requests` - Fast requests-based fetcher\n- `html_webdriver` - Browser-based fetcher (Playwright/Puppeteer)\n- `extra_browser_*` - Custom browser configurations (if configured)\n- Plugin-provided fetchers (if installed)\n","pattern":"^(system|html_requests|html_webdriver|extra_browser_.+)$","default":"system"},"headers":{"type":"object","additionalProperties":{"type":"string"},"description":"HTTP headers to include in requests"},"body":{"type":["string","null"],"description":"HTTP request body","maxLength":5000},"proxy":{"type":["string","null"],"description":"Proxy configuration","maxLength":5000},"ignore_status_codes":{"type":["boolean","null"],"description":"Ignore HTTP status code errors (boolean or null)"},"webdriver_delay":{"type":["integer","null"],"description":"Delay in seconds for webdriver"},"webdriver_js_execute_code":{"type":["string","null"],"description":"JavaScript code to execute","maxLength":5000},"time_between_check":{"type":"object","properties":{"weeks":{"type":["integer","null"],"minimum":0,"maximum":52000},"days":{"type":["integer","null"],"minimum":0,"maximum":365000},"hours":{"type":["integer","null"],"minimum":0,"maximum":8760000},"minutes":{"type":["integer","null"],"minimum":0,"maximum":525600000},"seconds":{"type":["integer","null"],"minimum":0,"maximum":31536000000}},"description":"Time intervals between checks. All fields must be non-negative. At least one non-zero value required when not using default settings."},"time_between_check_use_default":{"type":"boolean","default":true,"description":"Whether to use global settings for time between checks - defaults to true if not set"},"notification_urls":{"type":"array","items":{"type":"string","maxLength":1000},"maxItems":100,"description":"Notification URLs for this web page change monitor (watch). Maximum 100 URLs."},"notification_title":{"type":["string","null"],"description":"Custom notification title","maxLength":5000},"notification_body":{"type":["string","null"],"description":"Custom notification body","maxLength":5000},"notification_format":{"type":"string","enum":["text","html","htmlcolor","markdown","System default"],"description":"Format for notifications"},"track_ldjson_price_data":{"type":["boolean","null"],"description":"Whether to track JSON-LD price data"},"browser_steps":{"type":"array","items":{"type":"object","properties":{"operation":{"type":["string","null"],"maxLength":5000},"selector":{"type":["string","null"],"maxLength":5000},"optional_value":{"type":["string","null"],"maxLength":5000}},"required":["operation","selector","optional_value"],"additionalProperties":false},"maxItems":100,"description":"Browser automation steps. Maximum 100 steps allowed."},"processor":{"type":"string","enum":["restock_diff","text_json_diff"],"default":"text_json_diff","description":"Optional processor mode to use for change detection. Defaults to `text_json_diff` if not specified."},"include_filters":{"type":"array","items":{"type":"string","maxLength":5000},"maxItems":100,"description":"CSS/XPath selectors to extract specific content from the page"},"subtractive_selectors":{"type":"array","items":{"type":"string","maxLength":5000},"maxItems":100,"description":"CSS/XPath selectors to remove content from the page"},"ignore_text":{"type":"array","items":{"type":"string","maxLength":5000},"maxItems":100,"description":"Text patterns to ignore in change detection"},"trigger_text":{"type":"array","items":{"type":"string","maxLength":5000},"maxItems":100,"description":"Text/regex patterns that must be present to trigger a change"},"text_should_not_be_present":{"type":"array","items":{"type":"string","maxLength":5000},"maxItems":100,"description":"Text that should NOT be present (triggers alert if found)"},"extract_text":{"type":"array","items":{"type":"string","maxLength":5000},"maxItems":100,"description":"Regex patterns to extract specific text after filtering"},"trim_text_whitespace":{"type":"boolean","default":false,"description":"Strip leading/trailing whitespace from text"},"sort_text_alphabetically":{"type":"boolean","default":false,"description":"Sort lines alphabetically before comparison"},"remove_duplicate_lines":{"type":"boolean","default":false,"description":"Remove duplicate lines from content"},"check_unique_lines":{"type":"boolean","default":false,"description":"Compare against all history for unique lines"},"strip_ignored_lines":{"type":["boolean","null"],"description":"Remove lines matching ignore patterns"},"filter_text_added":{"type":"boolean","default":true,"description":"Include added text in change detection"},"filter_text_removed":{"type":"boolean","default":true,"description":"Include removed text in change detection"},"filter_text_replaced":{"type":"boolean","default":true,"description":"Include replaced text in change detection"},"in_stock_only":{"type":"boolean","default":true,"description":"Only trigger on in-stock transitions (restock_diff processor)"},"follow_price_changes":{"type":"boolean","default":true,"description":"Monitor and track price changes (restock_diff processor)"},"price_change_threshold_percent":{"type":["number","null"],"description":"Minimum price change percentage to trigger notification"},"has_ldjson_price_data":{"type":["boolean","null"],"description":"Whether page has LD-JSON price data (auto-detected)","readOnly":true},"notification_screenshot":{"type":"boolean","default":false,"description":"Include screenshot in notifications (if supported by notification URL)"},"filter_failure_notification_send":{"type":"boolean","default":true,"description":"Send notification when filters fail to match content"},"use_page_title_in_list":{"type":["boolean","null"],"description":"Display page title in watch list (null = use system default)"},"history_snapshot_max_length":{"type":["integer","null"],"minimum":1,"maximum":1000,"description":"Maximum number of history snapshots to keep (null = use system default)"},"time_schedule_limit":{"type":"object","description":"Weekly schedule limiting when checks can run","properties":{"enabled":{"type":"boolean","default":false},"monday":{"$ref":"#/components/schemas/DaySchedule"},"tuesday":{"$ref":"#/components/schemas/DaySchedule"},"wednesday":{"$ref":"#/components/schemas/DaySchedule"},"thursday":{"$ref":"#/components/schemas/DaySchedule"},"friday":{"$ref":"#/components/schemas/DaySchedule"},"saturday":{"$ref":"#/components/schemas/DaySchedule"},"sunday":{"$ref":"#/components/schemas/DaySchedule"}}},"conditions":{"type":"array","items":{"type":"object","properties":{"field":{"type":"string","description":"Field to check (e.g., 'page_filtered_text', 'page_title')"},"operator":{"type":"string","description":"Comparison operator (e.g., 'contains_regex', 'equals', 'not_equals')"},"value":{"type":"string","description":"Value to compare against"}},"required":["field","operator","value"]},"maxItems":100,"description":"Array of condition rules for change detection logic (empty array when not set)"},"conditions_match_logic":{"type":"string","enum":["ALL","ANY"],"default":"ALL","description":"Logic operator - ALL (match all conditions) or ANY (match any condition)"}}},"DaySchedule":{"type":"object","properties":{"enabled":{"type":"boolean","default":true},"start_time":{"type":"string","pattern":"^([0-1]?[0-9]|2[0-3]):[0-5][0-9]$","default":"00:00","description":"Start time in HH:MM format"},"duration":{"type":"object","properties":{"hours":{"type":"string","pattern":"^[0-9]+$","default":"24"},"minutes":{"type":"string","pattern":"^[0-9]+$","default":"00"}}}}},"Watch":{"allOf":[{"$ref":"#/components/schemas/WatchBase"},{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"Unique identifier for the web page change monitor (watch)","readOnly":true},"last_checked":{"type":"integer","description":"Unix timestamp of last check","readOnly":true},"last_changed":{"type":"integer","description":"Unix timestamp of last change","readOnly":true,"x-computed":true},"last_error":{"type":["string","boolean","null"],"description":"Last error message (false when no error, string when error occurred, null if not checked yet)","readOnly":true},"last_viewed":{"type":"integer","description":"Unix timestamp in seconds of the last time the watch was viewed. Setting it to a value higher than `last_changed` in the \"Update watch\" endpoint marks the watch as viewed.","minimum":0},"link":{"type":"string","format":"string","description":"The watch URL rendered in case of any Jinja2 markup, always use this for listing.","readOnly":true,"x-computed":true},"page_title":{"type":["string","null"],"description":"HTML <title> tag extracted from the page","readOnly":true},"check_count":{"type":"integer","description":"Total number of checks performed","readOnly":true},"fetch_time":{"type":"number","description":"Duration of last fetch in seconds","readOnly":true},"previous_md5":{"type":["string","boolean"],"description":"MD5 hash of previous content (false if not set)","readOnly":true},"previous_md5_before_filters":{"type":["string","boolean"],"description":"MD5 hash before filters applied (false if not set)","readOnly":true},"consecutive_filter_failures":{"type":"integer","description":"Counter for consecutive filter match failures","readOnly":true},"last_notification_error":{"type":["string","null"],"description":"Last notification error message","readOnly":true},"notification_alert_count":{"type":"integer","description":"Number of notifications sent","readOnly":true},"date_created":{"type":["integer","null"],"description":"Unix timestamp of watch creation","readOnly":true},"content-type":{"type":["string","null"],"description":"Content-Type from last fetch","readOnly":true},"remote_server_reply":{"type":["string","null"],"description":"Server header from last response","readOnly":true},"browser_steps_last_error_step":{"type":["integer","null"],"description":"Last browser step that caused an error","readOnly":true},"viewed":{"type":["integer","boolean"],"description":"Computed property - true if watch has been viewed, false otherwise (deprecated, use last_viewed instead)","readOnly":true,"x-computed":true},"history_n":{"type":"integer","description":"Number of history snapshots available","readOnly":true,"x-computed":true}}}]},"CreateWatch":{"allOf":[{"$ref":"#/components/schemas/WatchBase"},{"type":"object","required":["url"]}]},"UpdateWatch":{"allOf":[{"$ref":"#/components/schemas/WatchBase"},{"type":"object","properties":{"last_viewed":{"type":"integer","description":"Unix timestamp in seconds of the last time the watch was viewed. Setting it to a value higher than `last_changed` in the \"Update watch\" endpoint marks the watch as viewed.","minimum":0}}}]},"Tag":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"Unique identifier for the tag","readOnly":true},"title":{"type":"string","description":"Tag title","maxLength":5000},"notification_urls":{"type":"array","items":{"type":"string"},"description":"Default notification URLs for web page change monitors (watches) with this tag"},"notification_muted":{"type":"boolean","description":"Whether notifications are muted for this tag"}}},"CreateTag":{"allOf":[{"$ref":"#/components/schemas/Tag"},{"type":"object","required":["title"]}]},"NotificationUrls":{"type":"object","properties":{"notification_urls":{"type":"array","items":{"type":"string","format":"uri"},"description":"List of notification URLs"}},"required":["notification_urls"]},"SystemInfo":{"type":"object","properties":{"watch_count":{"type":"integer","description":"Total number of web page change monitors (watches)"},"tag_count":{"type":"integer","description":"Total number of tags"},"uptime":{"type":"string","description":"System uptime"},"version":{"type":"string","description":"Application version"}}},"SearchResult":{"type":"object","properties":{"watches":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Watch"},"description":"Dictionary of matching web page change monitors (watches) keyed by UUID"}}},"WatchHistory":{"type":"object","additionalProperties":{"type":"string","description":"Path to snapshot file"},"description":"Dictionary of timestamps and snapshot paths"},"Error":{"type":"object","properties":{"message":{"type":"string","description":"Error message"}}}}},"paths":{"/watch":{"get":{"operationId":"listWatches","tags":["Watch Management"],"summary":"List all watches","description":"Return concise list of available web page change monitors (watches) and basic info","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/watch\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nresponse = requests.get('http://localhost:5000/api/v1/watch', headers=headers)\nprint(response.json())\n"}],"parameters":[{"name":"recheck_all","in":"query","description":"Set to 1 to force recheck of all watches","schema":{"type":"string","enum":["1"]}},{"name":"tag","in":"query","description":"Tag name to filter results","schema":{"type":"string"}}],"responses":{"200":{"description":"List of watches","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Watch"}},"example":{"095be615-a8ad-4c33-8e9c-c7612fbf6c9f":{"uuid":"095be615-a8ad-4c33-8e9c-c7612fbf6c9f","url":"http://example.com?id={{1+1}} - the raw URL","link":"http://example.com?id=2 - the rendered URL, always use this for listing.","title":"Example Website Monitor - manually entered title/description","page_title":"The HTML <title> from the page","tags":["550e8400-e29b-41d4-a716-446655440000"],"paused":false,"notification_muted":false,"method":"GET","fetch_backend":"html_requests","last_checked":1640995200,"last_changed":1640995200},"7c9e6b8d-f2a1-4e5c-9d3b-8a7f6e4c2d1a":{"uuid":"7c9e6b8d-f2a1-4e5c-9d3b-8a7f6e4c2d1a","url":"http://example.com?id={{1+1}} - the raw URL","link":"http://example.com?id=2 - the rendered URL, always use this for listing.","title":"News Site Tracker - manually entered title/description","page_title":"The HTML <title> from the page","tags":["330e8400-e29b-41d4-a716-446655440001"],"paused":false,"notification_muted":true,"method":"GET","fetch_backend":"html_webdriver","last_checked":1640998800,"last_changed":1640995200}}}}}}},"post":{"operationId":"createWatch","tags":["Watch Management"],"summary":"Create a new watch","description":"Create a single web page change monitor (watch). Requires at least `url` to be set.\n\nEvery watch can be configured with:\n- **Processor mode**: `processor` field (`restock_diff` or `text_json_diff` - default)\n- **Notification settings**: `notification_urls` (array), `notification_title`, `notification_body`, `notification_format`, `notification_muted`\n- **Tags/Groups**: `tag` (UUID string) or `tags` (array of UUIDs)\n- **Check settings**: `time_between_check`, `paused`, `method`, `fetch_backend`\n- **Advanced options**: `headers`, `body`, `proxy`, `browser_steps`, and more\n","x-code-samples":[{"lang":"curl","source":"curl -X POST \"http://localhost:5000/api/v1/watch\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"url\": \"https://example.com\",\n \"title\": \"Example Site Monitor\",\n \"time_between_check\": {\n \"hours\": 1\n }\n }'\n"},{"lang":"Python","source":"import requests\nimport json\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\ndata = {\n 'url': 'https://example.com',\n 'title': 'Example Site Monitor',\n 'time_between_check': {\n 'hours': 1\n }\n}\nresponse = requests.post('http://localhost:5000/api/v1/watch',\n headers=headers, json=data)\nprint(response.text)\n"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateWatch"},"example":{"url":"https://example.com","title":"Example Site Monitor","time_between_check":{"hours":1}}}}},"responses":{"200":{"description":"Web page change monitor (watch) created successfully","content":{"text/plain":{"schema":{"type":"string","example":"OK"}}}},"500":{"description":"Server error","content":{"text/plain":{"schema":{"type":"string"}}}}}}},"/watch/{uuid}":{"get":{"operationId":"getWatch","tags":["Watch Management"],"summary":"Get single watch","description":"Retrieve web page change monitor (watch) information and set muted/paused status. Returns the FULL Watch JSON.","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\nresponse = requests.get(f'http://localhost:5000/api/v1/watch/{uuid}', headers=headers)\nprint(response.json())\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}},{"name":"recheck","in":"query","description":"Recheck this web page change monitor (watch)","schema":{"type":"string","enum":["1","true"]}},{"name":"paused","in":"query","description":"Set pause state","schema":{"type":"string","enum":["paused","unpaused"]}},{"name":"muted","in":"query","description":"Set mute state","schema":{"type":"string","enum":["muted","unmuted"]}}],"responses":{"200":{"description":"Watch information or operation result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Watch"}},"text/plain":{"schema":{"type":"string","example":"OK"}}}},"404":{"description":"Web page change monitor (watch) not found","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"put":{"operationId":"updateWatch","tags":["Watch Management"],"summary":"Update watch","description":"Update an existing web page change monitor (watch) using JSON. Accepts the same structure as returned in [get single watch information](#operation/getWatch).","x-code-samples":[{"lang":"curl","source":"curl -X PUT \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"url\": \"https://updated-example.com\",\n \"title\": \"Updated Monitor\",\n \"paused\": false\n }'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\ndata = {\n 'url': 'https://updated-example.com',\n 'title': 'Updated Monitor',\n 'paused': False\n}\nresponse = requests.put(f'http://localhost:5000/api/v1/watch/{uuid}', \n headers=headers, json=data)\nprint(response.text)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/UpdateWatch"}}}},"responses":{"200":{"description":"Web page change monitor (watch) updated successfully","content":{"text/plain":{"schema":{"type":"string","example":"OK"}}}},"500":{"description":"Server error"}}},"delete":{"operationId":"deleteWatch","tags":["Watch Management"],"summary":"Delete watch","description":"Delete a web page change monitor (watch) and all related history","x-code-samples":[{"lang":"curl","source":"curl -X DELETE \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\nresponse = requests.delete(f'http://localhost:5000/api/v1/watch/{uuid}', headers=headers)\nprint(response.text)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Web page change monitor (watch) deleted successfully","content":{"text/plain":{"schema":{"type":"string","example":"OK"}}}}}}},"/watch/{uuid}/history":{"get":{"operationId":"getWatchHistory","tags":["Watch History"],"summary":"Get watch history","description":"Get a list of all historical snapshots available for a web page change monitor (watch), use the key `timestamp`\nas the query argument for fetching a single watch history snapshot.\n","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f/history\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\nresponse = requests.get(f'http://localhost:5000/api/v1/watch/{uuid}/history', headers=headers)\nprint(response.json())\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"List of available snapshots","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchHistory"},"example":{"1640995200":"/path/to/snapshot1.txt","1640998800":"/path/to/snapshot2.txt"}}}},"404":{"description":"Web page change monitor (watch) not found"}}}},"/watch/{uuid}/history/{timestamp}":{"get":{"operationId":"getWatchSnapshot","tags":["Snapshots"],"summary":"Get single snapshot","description":"Get single snapshot from web page change monitor (watch). Use 'latest' for the most recent snapshot.\nUse the Watch History API to get a list of timestamps to pass.\n","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f/history/latest\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\ntimestamp = 'latest' # or use specific timestamp like 1640995200\nresponse = requests.get(f'http://localhost:5000/api/v1/watch/{uuid}/history/{timestamp}', headers=headers)\nprint(response.text)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}},{"name":"timestamp","in":"path","required":true,"description":"Snapshot timestamp or 'latest'","schema":{"oneOf":[{"type":"integer"},{"type":"string","enum":["latest"]}]}},{"name":"html","in":"query","description":"Set to 1 to return the last HTML","schema":{"type":"string","enum":["1"]}}],"responses":{"200":{"description":"Snapshot content","content":{"text/plain":{"schema":{"type":"string"}}}},"404":{"description":"Snapshot not found"}}}},"/watch/{uuid}/difference/{from_timestamp}/{to_timestamp}":{"get":{"operationId":"getWatchHistoryDiff","tags":["Watch History"],"summary":"Get the difference between two snapshots","description":"Generate a difference (comparison) between two historical snapshots of a web page change monitor (watch).\n\nThis endpoint compares content between two points in time and returns the differences in your chosen format.\nPerfect for reviewing what changed between specific versions or comparing recent changes.\n\n**Timestamp Keywords:**\n- Use `'latest'` for the most recent snapshot (to_timestamp)\n- Use `'previous'` for the second-most-recent snapshot (from_timestamp)\n- Or use specific Unix timestamps from the watch history\n\n**Format Options:**\n- `text` (default): Plain text with (removed) and (added) prefixes\n- `html`: HTML format with (removed) and (added) text\n- `htmlcolor`: Rich HTML with colored highlights (green for additions, red for deletions)\n\n**Word-Level Diffing:**\n- Enable word-level granularity with `word_diff=true` for detailed inline comparisons\n- Disable with `word_diff=false` for line-level comparisons only (default false/off, line-level mode by default)\n\n**Raw Diff Output:**\n- Use `no_markup=true` to get raw diff content without any formatting applied\n- Returns content with placeholders for opening/closing tags of changes\n- Allows you to implement your own custom colorisation or formatting\n- Skips all HTML color application and service tweaks (added text, html color tags, etc)\n","x-code-samples":[{"lang":"curl","source":"# Compare previous snapshot to latest with colored HTML\ncurl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f/difference/previous/latest?format=htmlcolor\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n\n# Compare two specific timestamps in plain text with word-level diff\ncurl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f/difference/1640995200/1640998800?format=text&word_diff=true\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n\n# Show only additions (hide removed/replaced content), ignore whitespace\ncurl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f/difference/previous/latest?format=htmlcolor&removed=false&replaced=false&ignoreWhitespace=true\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\n\n# Compare previous to latest with colored HTML output\nresponse = requests.get(\n f'http://localhost:5000/api/v1/watch/{uuid}/difference/previous/latest',\n headers=headers,\n params={'format': 'htmlcolor'}\n)\nprint(response.text)\n\n# Compare specific timestamps with word-level diff\nfrom_ts = '1640995200'\nto_ts = '1640998800'\nresponse = requests.get(\n f'http://localhost:5000/api/v1/watch/{uuid}/difference/{from_ts}/{to_ts}',\n headers=headers,\n params={'format': 'text', 'word_diff': 'true'}\n)\nprint(response.text)\n\n# Show only additions, ignore whitespace and use word-level diff\nresponse = requests.get(\n f'http://localhost:5000/api/v1/watch/{uuid}/difference/previous/latest',\n headers=headers,\n params={\n 'format': 'htmlcolor',\n 'type': 'diffWords',\n 'removed': 'false',\n 'replaced': 'false',\n 'ignoreWhitespace': 'true'\n }\n)\nprint(response.text)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}},{"name":"from_timestamp","in":"path","required":true,"description":"Starting snapshot timestamp, 'previous' for second-most-recent, or specific Unix timestamp","schema":{"oneOf":[{"type":"integer","description":"Unix timestamp of the starting snapshot"},{"type":"string","enum":["previous"],"description":"Use 'previous' to automatically select the second-most-recent snapshot"}]},"example":"previous"},{"name":"to_timestamp","in":"path","required":true,"description":"Ending snapshot timestamp, 'latest' for most recent, or specific Unix timestamp","schema":{"oneOf":[{"type":"integer","description":"Unix timestamp of the ending snapshot"},{"type":"string","enum":["latest"],"description":"Use 'latest' to automatically select the most recent snapshot"}]},"example":"latest"},{"name":"format","in":"query","description":"Output format for the diff:\n- `text` (default): Plain text with (removed) and (added) prefixes\n- `html`: Basic HTML format\n- `htmlcolor`: Rich HTML with colored backgrounds (red for deletions, green for additions)\n- `markdown`: Markdown format with HTML rendering\n","schema":{"type":"string","enum":["text","html","htmlcolor","markdown"],"default":"text"}},{"name":"word_diff","in":"query","description":"Enable word-level diffing for more granular comparisons.\nWhen enabled, changes are highlighted at the word level rather than line level.\nDefault is false (line-level mode).\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"false"}},{"name":"no_markup","in":"query","description":"When set to true, returns the raw diff content without any markup formatting.\nThe content will include placeholders for opening/closing tags of the changes,\nallowing you to implement your own custom colorisation or formatting.\nThis skips all HTML color application and service tweaks.\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"false"}},{"name":"type","in":"query","description":"Diff granularity type:\n- `diffLines` (default): Line-level comparison, showing which lines changed\n- `diffWords`: Word-level comparison, showing which words changed within lines\n\nThis parameter is an alternative to `word_diff` for better alignment with the UI.\nIf both are specified, `type=diffWords` will enable word-level diffing.\n","schema":{"type":"string","enum":["diffLines","diffWords"],"default":"diffLines"}},{"name":"changesOnly","in":"query","description":"When enabled, only show lines/content that changed (no surrounding context).\nWhen disabled, include unchanged lines for context around changes.\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"true"}},{"name":"ignoreWhitespace","in":"query","description":"When enabled, ignore whitespace-only changes (spaces, tabs, newlines).\nUseful for focusing on content changes and ignoring formatting differences.\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"false"}},{"name":"removed","in":"query","description":"Include removed/deleted content in the diff output.\nWhen disabled, content that was deleted will not appear in the diff.\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"true"}},{"name":"added","in":"query","description":"Include added/new content in the diff output.\nWhen disabled, content that was added will not appear in the diff.\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"true"}},{"name":"replaced","in":"query","description":"Include replaced/modified content in the diff output.\nWhen disabled, content that was modified (changed from one value to another) will not appear in the diff.\nAccepts: true, false, 1, 0, yes, no, on, off\n","schema":{"type":"string","enum":["true","false","1","0","yes","no","on","off"],"default":"true"}}],"responses":{"200":{"description":"Formatted diff between the two snapshots","content":{"text/plain":{"schema":{"type":"string","description":"Plain text diff with change markers"}},"text/html":{"schema":{"type":"string","description":"HTML formatted diff with styling"}}}},"400":{"description":"Invalid format parameter or invalid request"},"404":{"description":"Watch not found, timestamps not found, or insufficient history"}}}},"/watch/{uuid}/favicon":{"get":{"operationId":"getWatchFavicon","tags":["Favicon"],"summary":"Get watch favicon","description":"Get the favicon for a web page change monitor (watch) as displayed in the watch overview list.","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/watch/095be615-a8ad-4c33-8e9c-c7612fbf6c9f/favicon\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n --output favicon.ico\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nuuid = '095be615-a8ad-4c33-8e9c-c7612fbf6c9f'\nresponse = requests.get(f'http://localhost:5000/api/v1/watch/{uuid}/favicon', headers=headers)\nwith open('favicon.ico', 'wb') as f:\n f.write(response.content)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Web page change monitor (watch) unique ID","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Favicon binary data","content":{"image/*":{"schema":{"type":"string","format":"binary"}}}},"404":{"description":"Favicon not found"}}}},"/tags":{"get":{"operationId":"listTags","tags":["Group / Tag Management"],"summary":"List all tags","description":"Return list of available tags/groups","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/tags\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nresponse = requests.get('http://localhost:5000/api/v1/tags', headers=headers)\nprint(response.json())\n"}],"responses":{"200":{"description":"List of tags","content":{"application/json":{"schema":{"type":"object","additionalProperties":{"$ref":"#/components/schemas/Tag"}},"example":{"550e8400-e29b-41d4-a716-446655440000":{"uuid":"550e8400-e29b-41d4-a716-446655440000","title":"Production Sites","notification_urls":["mailto:admin@example.com"],"notification_muted":false},"330e8400-e29b-41d4-a716-446655440001":{"uuid":"330e8400-e29b-41d4-a716-446655440001","title":"News Sources","notification_urls":["discord://webhook_id/webhook_token"],"notification_muted":false}}}}}}}},"/tag":{"post":{"operationId":"createTag","tags":["Group / Tag Management"],"summary":"Create tag","description":"Create a single tag/group","x-code-samples":[{"lang":"curl","source":"curl -X POST \"http://localhost:5000/api/v1/tag\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"title\": \"Important Sites\"\n }'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\ndata = {'title': 'Important Sites'}\nresponse = requests.post('http://localhost:5000/api/v1/tag',\n headers=headers, json=data)\nprint(response.json())\n"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CreateTag"},"example":{"title":"Important Sites"}}}},"responses":{"201":{"description":"Tag created successfully","content":{"application/json":{"schema":{"type":"object","properties":{"uuid":{"type":"string","format":"uuid","description":"UUID of the created tag"}}}}}},"400":{"description":"Invalid or unsupported tag"}}}},"/tag/{uuid}":{"get":{"operationId":"getTag","tags":["Group / Tag Management"],"summary":"Get single tag","description":"Retrieve tag information, set notification_muted status, recheck all web page change monitors (watches) in tag.","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/tag/550e8400-e29b-41d4-a716-446655440000\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\ntag_uuid = '550e8400-e29b-41d4-a716-446655440000'\nresponse = requests.get(f'http://localhost:5000/api/v1/tag/{tag_uuid}', headers=headers)\nprint(response.json())\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Tag unique ID","schema":{"type":"string","format":"uuid"}},{"name":"muted","in":"query","description":"Set mute state","schema":{"type":"string","enum":["muted","unmuted"]}},{"name":"recheck","in":"query","description":"Queue all web page change monitors (watches) with this tag for recheck","schema":{"type":"string","enum":["true"]}}],"responses":{"200":{"description":"Tag information or operation result","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tag"}},"text/plain":{"schema":{"type":"string","example":"OK"}}}},"404":{"description":"Tag not found"}}},"put":{"operationId":"updateTag","tags":["Group / Tag Management"],"summary":"Update tag","description":"Update an existing tag using JSON","x-code-samples":[{"lang":"curl","source":"curl -X PUT \"http://localhost:5000/api/v1/tag/550e8400-e29b-41d4-a716-446655440000\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"title\": \"Updated Production Sites\",\n \"notification_muted\": false\n }'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\ntag_uuid = '550e8400-e29b-41d4-a716-446655440000'\ndata = {\n 'title': 'Updated Production Sites',\n 'notification_muted': False\n}\nresponse = requests.put(f'http://localhost:5000/api/v1/tag/{tag_uuid}', \n headers=headers, json=data)\nprint(response.text)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Tag unique ID","schema":{"type":"string","format":"uuid"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Tag"}}}},"responses":{"200":{"description":"Tag updated successfully"},"500":{"description":"Server error"}}},"delete":{"operationId":"deleteTag","tags":["Group / Tag Management"],"summary":"Delete tag","description":"Delete a tag/group and remove it from all web page change monitors (watches)","x-code-samples":[{"lang":"curl","source":"curl -X DELETE \"http://localhost:5000/api/v1/tag/550e8400-e29b-41d4-a716-446655440000\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\ntag_uuid = '550e8400-e29b-41d4-a716-446655440000'\nresponse = requests.delete(f'http://localhost:5000/api/v1/tag/{tag_uuid}', headers=headers)\nprint(response.text)\n"}],"parameters":[{"name":"uuid","in":"path","required":true,"description":"Tag unique ID","schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"Tag deleted successfully"}}}},"/notifications":{"get":{"operationId":"getNotifications","tags":["Notifications"],"summary":"Get notification URLs","description":"Return the notification URL list from the configuration","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/notifications\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nresponse = requests.get('http://localhost:5000/api/v1/notifications', headers=headers)\nprint(response.json())\n"}],"responses":{"200":{"description":"List of notification URLs","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationUrls"}}}}}},"post":{"operationId":"addNotifications","tags":["Notifications"],"summary":"Add notification URLs","description":"Add one or more notification URLs to the configuration","x-code-samples":[{"lang":"curl","source":"curl -X POST \"http://localhost:5000/api/v1/notifications\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"notification_urls\": [\n \"mailto:admin@example.com\",\n \"discord://webhook_id/webhook_token\"\n ]\n }'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\ndata = {\n 'notification_urls': [\n 'mailto:admin@example.com',\n 'discord://webhook_id/webhook_token'\n ]\n}\nresponse = requests.post('http://localhost:5000/api/v1/notifications', \n headers=headers, json=data)\nprint(response.json())\n"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationUrls"},"example":{"notification_urls":["mailto:admin@example.com","discord://webhook_id/webhook_token"]}}}},"responses":{"201":{"description":"Notification URLs added successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationUrls"}}}},"400":{"description":"Invalid input"}}},"put":{"operationId":"replaceNotifications","tags":["Notifications"],"summary":"Replace notification URLs","description":"Replace all notification URLs with the provided list (can be empty)","x-code-samples":[{"lang":"curl","source":"curl -X PUT \"http://localhost:5000/api/v1/notifications\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"notification_urls\": [\n \"mailto:newadmin@example.com\"\n ]\n }'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\ndata = {\n 'notification_urls': [\n 'mailto:newadmin@example.com'\n ]\n}\nresponse = requests.put('http://localhost:5000/api/v1/notifications', \n headers=headers, json=data)\nprint(response.json())\n"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationUrls"}}}},"responses":{"200":{"description":"Notification URLs replaced successfully","content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationUrls"}}}},"400":{"description":"Invalid input"}}},"delete":{"operationId":"deleteNotifications","tags":["Notifications"],"summary":"Delete notification URLs","description":"Delete one or more notification URLs from the configuration","x-code-samples":[{"lang":"curl","source":"curl -X DELETE \"http://localhost:5000/api/v1/notifications\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: application/json\" \\\n -d '{\n \"notification_urls\": [\n \"mailto:admin@example.com\"\n ]\n }'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'application/json'\n}\ndata = {\n 'notification_urls': [\n 'mailto:admin@example.com'\n ]\n}\nresponse = requests.delete('http://localhost:5000/api/v1/notifications', \n headers=headers, json=data)\nprint(response.status_code)\n"}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/NotificationUrls"}}}},"responses":{"204":{"description":"Notification URLs deleted successfully"},"400":{"description":"No matching notification URLs found"}}}},"/search":{"get":{"operationId":"searchWatches","tags":["Search"],"summary":"Search watches","description":"Search web page change monitors (watches) by URL or title text","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/search?q=example.com\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nparams = {'q': 'example.com'}\nresponse = requests.get('http://localhost:5000/api/v1/search', \n headers=headers, params=params)\nprint(response.json())\n"}],"parameters":[{"name":"q","in":"query","required":true,"description":"Search query to match against watch URLs and titles","schema":{"type":"string"}},{"name":"tag","in":"query","description":"Tag name to limit results (name not UUID)","schema":{"type":"string"}},{"name":"partial","in":"query","description":"Allow partial matching of URL query","schema":{"type":"string"}}],"responses":{"200":{"description":"Search results","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResult"},"example":{"watches":{"095be615-a8ad-4c33-8e9c-c7612fbf6c9f":{"uuid":"095be615-a8ad-4c33-8e9c-c7612fbf6c9f","url":"http://example.com","title":"Example Website Monitor","tags":["550e8400-e29b-41d4-a716-446655440000"],"paused":false,"notification_muted":false}}}}}}}}},"/import":{"post":{"operationId":"importWatches","tags":["Import"],"summary":"Import watch URLs with configuration","description":"Import a list of URLs to monitor with optional watch configuration. Accepts line-separated URLs in request body.\n\n**Configuration via Query Parameters:**\n\nYou can pass ANY watch configuration field as query parameters to apply settings to all imported watches.\nAll parameters from the Watch schema are supported (processor, fetch_backend, notification_urls, etc.).\n\n**Special Parameters:**\n- `tag` / `tag_uuids` - Assign tags to imported watches\n- `proxy` - Use specific proxy for imported watches\n- `dedupe` - Skip duplicate URLs (default: true)\n\n**Type Conversion:**\n- Booleans: `true`, `false`, `1`, `0`, `yes`, `no`\n- Arrays: Comma-separated or JSON format (`[item1,item2]`)\n- Objects: JSON format (`{\"key\":\"value\"}`)\n- Numbers: Parsed as int or float\n","x-code-samples":[{"lang":"curl","source":"# Basic import\ncurl -X POST \"http://localhost:5000/api/v1/import\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: text/plain\" \\\n -d $'https://example.com\\nhttps://example.org\\nhttps://example.net'\n\n# Import with processor and fetch backend\ncurl -X POST \"http://localhost:5000/api/v1/import?processor=restock_diff&fetch_backend=html_webdriver\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: text/plain\" \\\n -d $'https://example.com\\nhttps://example.org'\n\n# Import with multiple settings\ncurl -X POST \"http://localhost:5000/api/v1/import?processor=restock_diff&paused=true&tag=production\" \\\n -H \"x-api-key: YOUR_API_KEY\" \\\n -H \"Content-Type: text/plain\" \\\n -d $'https://example.com'\n"},{"lang":"Python","source":"import requests\n\nheaders = {\n 'x-api-key': 'YOUR_API_KEY',\n 'Content-Type': 'text/plain'\n}\n\n# Basic import\nurls = 'https://example.com\\nhttps://example.org\\nhttps://example.net'\nresponse = requests.post('http://localhost:5000/api/v1/import',\n headers=headers, data=urls)\nprint(response.json())\n\n# Import with configuration\nparams = {\n 'processor': 'restock_diff',\n 'fetch_backend': 'html_webdriver',\n 'paused': 'false',\n 'tag': 'production'\n}\nresponse = requests.post('http://localhost:5000/api/v1/import',\n headers=headers, params=params, data=urls)\nprint(response.json())\n"}],"parameters":[{"name":"tag_uuids","in":"query","description":"Tag UUID(s) to apply to imported watches (comma-separated for multiple)","schema":{"type":"string"},"example":"550e8400-e29b-41d4-a716-446655440000"},{"name":"tag","in":"query","description":"Tag name to apply to imported watches","schema":{"type":"string"},"example":"production"},{"name":"proxy","in":"query","description":"Proxy key to use for imported watches","schema":{"type":"string"},"example":"proxy1"},{"name":"dedupe","in":"query","description":"Skip duplicate URLs (default true)","schema":{"type":"boolean","default":true}}],"requestBody":{"required":true,"content":{"text/plain":{"schema":{"type":"string"},"example":"https://example.com\nhttps://example.org\nhttps://example.net\n"}}},"responses":{"200":{"description":"URLs imported successfully","content":{"application/json":{"schema":{"type":"array","items":{"type":"string","format":"uuid"},"description":"List of created watch UUIDs"}}}},"500":{"description":"Server error"}}}},"/systeminfo":{"get":{"operationId":"getSystemInfo","tags":["System Information"],"summary":"Get system information","description":"Return information about the current system state","x-code-samples":[{"lang":"curl","source":"curl -X GET \"http://localhost:5000/api/v1/systeminfo\" \\\n -H \"x-api-key: YOUR_API_KEY\"\n"},{"lang":"Python","source":"import requests\n\nheaders = {'x-api-key': 'YOUR_API_KEY'}\nresponse = requests.get('http://localhost:5000/api/v1/systeminfo', headers=headers)\nprint(response.json())\n"}],"responses":{"200":{"description":"System information","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SystemInfo"},"example":{"watch_count":42,"tag_count":5,"uptime":"2 days, 3:45:12","version":"0.50.10"}}}}}}}}}},"searchIndex":{"store":["section/ChangeDetection.io-Web-page-monitoring-and-notifications-API","section/ChangeDetection.io-Web-page-monitoring-and-notifications-API/Where-to-find-my-API-key","section/ChangeDetection.io-Web-page-monitoring-and-notifications-API/Connection-URL","section/ChangeDetection.io-Web-page-monitoring-and-notifications-API/Authentication","tag/Watch-Management","tag/Watch-Management/operation/listWatches","tag/Watch-Management/operation/createWatch","tag/Watch-Management/operation/getWatch","tag/Watch-Management/operation/updateWatch","tag/Watch-Management/operation/deleteWatch","tag/Watch-History","tag/Watch-History/operation/getWatchHistory","tag/Watch-History/operation/getWatchHistoryDiff","tag/Snapshots","tag/Snapshots/operation/getWatchSnapshot","tag/Favicon","tag/Favicon/operation/getWatchFavicon","tag/Group-Tag-Management","tag/Group-Tag-Management/operation/listTags","tag/Group-Tag-Management/operation/createTag","tag/Group-Tag-Management/operation/getTag","tag/Group-Tag-Management/operation/updateTag","tag/Group-Tag-Management/operation/deleteTag","tag/Notifications","tag/Notifications/operation/getNotifications","tag/Notifications/operation/addNotifications","tag/Notifications/operation/replaceNotifications","tag/Notifications/operation/deleteNotifications","tag/Search","tag/Search/operation/searchWatches","tag/Import","tag/Import/operation/importWatches","tag/System-Information","tag/System-Information/operation/getSystemInfo"],"index":{"version":"2.3.9","fields":["title","description"],"fieldVectors":[["title/0",[0,1.105,1,0.486,2,0.414,3,0.319,4,0.486,5,0.845]],["description/0",[0,1.778,2,0.666,4,0.783,5,1.893,6,3.026,7,1.971,8,0.014,9,2.212,10,0.613,11,3.026,12,3.026,13,3.026,14,3.08,15,3.026,16,1.971,17,3.026,18,3.026,19,3.026,20,3.026,21,3.026,22,3.026,23,3.026]],["title/1",[5,1.249,16,1.811,24,1.811]],["description/1",[0,1.916,5,2.43,16,2.124,24,2.888,25,3.261,26,2.732,27,3.261,28,1.247,29,3.261,30,2.732,31,3.261,32,3.261,33,2.732,34,3.261,35,3.261,36,3.261]],["title/2",[37,3.308,38,0.728]],["description/2",[0,2.507,5,1.385,14,3.119,26,2.582,38,1.077,39,3.082,40,3.082,41,3.082,42,3.082,43,3.082,44,3.082,45,1.007,46,3.082,47,2.253,48,3.082,49,4.266,50,3.082,51,3.082]],["title/3",[52,3.42]],["description/3",[5,2.196,14,2.759,24,2.458,52,3.162,53,4.094,54,3.162,55,3.162,56,3.162,57,3.774,58,3.774,59,3.774]],["title/4",[7,2.154,8,0.015]],["description/4",[1,0.718,2,0.611,3,0.673,4,0.718,7,1.808,8,0.018,28,1.061,38,0.611,60,2.776,61,2.776,62,1.631,63,1.484,64,1.631,65,1.247,66,2.03,67,2.776,68,2.776,69,1.149,70,2.776,71,0.718,72,1.149,73,2.03,74,2.776,75,2.326,76,2.03,77,2.326,78,1.808]],["title/5",[8,0.015,79,0.925]],["description/5",[1,0.998,2,0.85,3,0.656,8,0.023,71,0.998,79,1.08,80,1.888,81,3.861,82,2.822,83,3.861,84,3.861]],["title/6",[8,0.013,62,1.634,85,2.781]],["description/6",[1,0.508,2,0.432,3,0.334,4,0.508,8,0.017,10,0.62,28,1.438,38,0.432,54,1.646,56,1.646,62,1.154,69,0.813,71,0.508,72,0.813,73,1.436,78,1.28,86,3.175,87,2.565,88,1.646,89,1.646,90,1.965,91,1.965,92,1.28,93,1.646,94,2.565,95,1.965,96,1.965,97,1.965,98,1.646,99,1.646,100,3.062,101,1.965,102,1.965,103,1.965,104,1.965,105,1.646,106,1.965,107,1.646,108,1.436,109,1.965,110,1.436]],["title/7",[8,0.015,69,1.37]],["description/7",[1,0.934,2,0.795,3,0.613,8,0.022,28,1.381,63,1.93,71,0.934,80,1.766,111,1.93,112,3.612,113,2.352,114,3.612,115,2.352,116,2.64]],["title/8",[8,0.015,64,1.944]],["description/8",[1,0.895,2,0.762,3,0.588,8,0.021,45,1.132,64,2.035,69,1.434,71,0.895,80,1.694,115,2.255,116,2.531,117,2.901,118,2.531,119,3.463,120,3.463,121,3.463]],["title/9",[8,0.015,65,1.486]],["description/9",[1,1.072,2,0.912,3,0.704,8,0.019,65,1.863,71,1.072,116,3.031,122,3.474,123,2.028]],["title/10",[8,0.015,123,1.618]],["description/10",[8,0.021,71,1.19,79,1.287,124,2.703,125,4.601]],["title/11",[8,0.015,123,1.618]],["description/11",[1,0.843,2,0.718,3,0.554,8,0.02,24,2.124,45,1.066,69,1.35,71,0.843,79,0.912,82,2.384,123,1.595,124,1.916,126,2.732,127,2.169,128,2.384,129,2.732,130,2.732,131,3.261]],["title/12",[127,1.173,132,1.753,133,2.009,134,1.753]],["description/12",[1,0.255,2,0.217,3,0.167,8,0.008,10,0.349,45,0.903,47,0.72,65,0.443,71,0.714,76,1.683,78,0.642,80,0.844,86,3.003,88,0.826,92,1.499,123,0.482,124,1.014,126,0.826,127,1.126,132,1.261,133,1.928,134,1.261,135,0.985,136,2.302,137,0.72,138,1.725,139,0.985,140,0.826,141,0.985,142,2.631,143,0.985,144,0.985,145,1.261,146,1.446,147,0.985,148,0.826,149,0.985,150,0.985,151,0.985,152,0.985,153,0.985,154,1.799,155,0.826,156,1.446,157,2.302,158,0.985,159,2.631,160,0.985,161,0.985,162,2.302,163,0.985,164,0.985,165,0.985,166,0.985,167,1.725,168,0.985,169,0.985,170,0.985,171,0.985,172,0.826,173,0.985,174,0.985,175,0.985,176,1.725,177,0.985,178,1.725,179,1.725,180,0.985,181,0.985,182,0.985,183,0.72,184,0.985,185,0.985,186,0.826,187,0.985,188,0.985,189,0.985,190,0.826,191,0.985,192,0.826,193,0.985,194,0.826,195,0.985]],["title/13",[127,1.997]],["description/13",[2,0.51,3,0.393,5,1.041,8,0.011,28,0.886,45,0.757,63,1.856,66,1.694,73,1.694,76,1.694,79,0.648,123,1.133,124,2.04,127,1.698,128,2.539,129,1.941,130,2.91,134,1.694,137,1.694,140,1.941,154,2.713,159,3.877,196,2.317,197,2.317,198,3.473,199,1.361,200,2.317,201,2.317,202,2.317,203,1.694]],["title/14",[69,1.37,127,1.618]],["description/14",[1,0.86,2,0.732,3,0.565,5,1.494,8,0.021,45,1.469,69,1.377,71,0.86,79,0.93,123,1.627,124,1.954,127,2.198,146,2.787,148,2.787,203,2.431,204,3.326]],["title/15",[205,2.659]],["description/15",[1,0.914,2,0.778,3,0.795,8,0.016,30,2.962,45,1.156,63,1.89,79,0.989,132,2.585,205,2.303,206,3.536,207,3.536,208,3.536,209,3.536,210,2.962]],["title/16",[8,0.015,205,2.154]],["description/16",[1,1.022,2,0.87,3,0.671,8,0.023,71,1.022,79,1.105,205,2.573,211,3.952,212,3.952,213,3.952]],["title/17",[7,1.562,9,1.753,10,0.485,86,1.562]],["description/17",[3,0.505,4,0.769,8,0.019,9,3.042,10,0.842,28,1.136,45,0.972,71,0.769,75,2.491,113,1.936,122,2.491,186,2.491,214,2.973,215,2.973,216,2.973,217,2.973,218,2.973,219,2.491,220,2.973,221,2.973,222,2.491,223,2.491]],["title/18",[10,0.67,79,0.925]],["description/18",[10,0.931,79,1.287,80,2.25,82,3.363,99,3.855]],["title/19",[10,0.67,62,1.944]],["description/19",[10,0.957,62,2.779,69,1.958,224,3.963]],["title/20",[10,0.67,69,1.37]],["description/20",[1,0.954,2,0.812,3,0.627,8,0.017,10,0.975,28,1.411,63,1.973,71,0.954,98,3.093,111,1.973,113,2.404,222,3.093,225,2.698]],["title/21",[10,0.67,64,1.944]],["description/21",[10,0.906,45,1.464,64,2.631,115,2.916,117,3.752,225,3.274]],["title/22",[10,0.67,65,1.486]],["description/22",[1,1.072,2,0.912,3,0.704,8,0.019,65,1.863,71,1.072,156,3.474,224,3.474,225,3.031]],["title/23",[4,1.056]],["description/23",[4,1.185,8,0.018,10,0.553,28,1.044,45,1.281,66,1.997,72,1.131,92,1.779,137,1.997,192,2.288,226,2.731,227,2.288,228,2.731,229,2.288,230,2.731,231,2.731,232,2.731,233,2.731,234,2.731,235,2.731,236,2.731,237,2.731,238,2.731,239,2.731,240,2.731,241,2.731]],["title/24",[4,0.855,38,0.728]],["description/24",[4,1.407,38,0.985,72,1.854,79,1.253,80,2.19]],["title/25",[4,0.719,38,0.612,242,2.33]],["description/25",[4,1.384,38,0.96,72,1.806,110,3.189,242,3.655,243,3.655]],["title/26",[4,0.719,38,0.612,244,2.33]],["description/26",[4,1.384,38,0.96,55,3.655,79,1.22,244,3.655,245,4.362]],["title/27",[4,0.719,38,0.612,65,1.249]],["description/27",[4,1.384,38,0.96,65,1.96,72,1.806,110,3.189,243,3.655]],["title/28",[246,2.659]],["description/28",[3,0.565,8,0.021,10,0.673,16,2.166,38,0.732,45,1.087,77,2.787,145,2.431,210,2.787,246,2.166,247,3.326,248,2.787,249,3.326,250,3.326,251,3.326,252,3.326,253,3.326,254,3.326]],["title/29",[8,0.015,246,2.154]],["description/29",[1,1.046,2,0.891,3,0.687,8,0.018,38,0.891,71,1.046,154,2.635,246,3.328,248,3.391]],["title/30",[255,2.659]],["description/30",[3,0.565,8,0.015,10,0.673,28,1.271,33,2.787,38,0.989,72,1.377,79,0.93,108,2.431,118,2.431,154,2.166,155,2.787,183,2.431,219,2.787,223,2.787,255,2.927,256,3.326]],["title/31",[8,0.011,38,0.528,72,0.993,255,1.562]],["description/31",[3,0.241,8,0.019,10,0.476,28,0.542,38,0.664,45,0.463,53,1.188,72,1.25,78,0.923,79,0.397,86,3.334,87,1.188,89,1.188,92,0.923,93,1.188,94,1.188,105,1.188,107,1.188,108,1.721,115,1.533,118,1.036,128,1.721,142,1.972,145,1.036,183,1.036,190,1.188,194,1.188,203,1.036,227,1.188,255,2.539,257,1.418,258,1.418,259,3.514,260,1.418,261,1.418,262,1.418,263,1.418,264,1.418,265,1.418,266,2.354,267,1.418,268,1.418,269,1.418,270,1.418,271,1.418,272,1.418,273,1.418,274,1.418,275,1.418,276,1.418,277,1.418,278,1.418,279,1.418,280,1.418,281,1.418]],["title/32",[111,1.768,199,1.944]],["description/32",[0,2.169,8,0.017,47,2.698,63,1.973,111,1.973,113,2.404,172,3.093,199,2.169,229,3.093,282,3.691,283,3.691,284,3.691,285,3.691,286,3.691]],["title/33",[111,1.768,199,1.944]],["description/33",[80,2.19,111,2.394,199,2.631,287,4.478,288,4.478,289,4.478]]],"invertedIndex":[["",{"_index":86,"title":{"17":{}},"description":{"6":{},"12":{},"31":{}}}],["0",{"_index":272,"title":{},"description":{"31":{}}}],["1",{"_index":271,"title":{},"description":{"31":{}}}],["2",{"_index":201,"title":{},"description":{"13":{}}}],["5000",{"_index":43,"title":{},"description":{"2":{}}}],["accept",{"_index":118,"title":{},"description":{"8":{},"30":{},"31":{}}}],["accord",{"_index":196,"title":{},"description":{"13":{}}}],["ad",{"_index":157,"title":{},"description":{"12":{}}}],["add",{"_index":242,"title":{"25":{}},"description":{"25":{}}}],["addit",{"_index":165,"title":{},"description":{"12":{}}}],["advanc",{"_index":106,"title":{},"description":{"6":{}}}],["allow",{"_index":186,"title":{},"description":{"12":{},"17":{}}}],["api",{"_index":5,"title":{"0":{},"1":{}},"description":{"0":{},"1":{},"2":{},"3":{},"13":{},"14":{}}}],["api/v1",{"_index":39,"title":{},"description":{"2":{}}}],["appli",{"_index":183,"title":{},"description":{"12":{},"30":{},"31":{}}}],["applic",{"_index":191,"title":{},"description":{"12":{}}}],["argument",{"_index":129,"title":{},"description":{"11":{},"13":{}}}],["array",{"_index":94,"title":{},"description":{"6":{},"31":{}}}],["assign",{"_index":263,"title":{},"description":{"31":{}}}],["associ",{"_index":207,"title":{},"description":{"15":{}}}],["authent",{"_index":52,"title":{"3":{}},"description":{"3":{}}}],["automat",{"_index":33,"title":{},"description":{"1":{},"30":{}}}],["avail",{"_index":82,"title":{},"description":{"5":{},"11":{},"18":{}}}],["base",{"_index":48,"title":{},"description":{"2":{}}}],["basic",{"_index":83,"title":{},"description":{"5":{}}}],["be",{"_index":70,"title":{},"description":{"4":{}}}],["below",{"_index":15,"title":{},"description":{"0":{}}}],["between",{"_index":133,"title":{"12":{}},"description":{"12":{}}}],["bodi",{"_index":107,"title":{},"description":{"6":{},"31":{}}}],["boolean",{"_index":269,"title":{},"description":{"31":{}}}],["browser_step",{"_index":109,"title":{},"description":{"6":{}}}],["built",{"_index":12,"title":{},"description":{"0":{}}}],["bulk",{"_index":219,"title":{},"description":{"17":{},"30":{}}}],["categor",{"_index":216,"title":{},"description":{"17":{}}}],["certain",{"_index":253,"title":{},"description":{"28":{}}}],["chang",{"_index":71,"title":{},"description":{"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"14":{},"16":{},"17":{},"20":{},"22":{},"29":{}}}],["changedetection.io",{"_index":0,"title":{"0":{}},"description":{"0":{},"1":{},"2":{},"32":{}}}],["check",{"_index":73,"title":{},"description":{"4":{},"6":{},"13":{}}}],["chosen",{"_index":141,"title":{},"description":{"12":{}}}],["click",{"_index":32,"title":{},"description":{"1":{}}}],["clipboard",{"_index":35,"title":{},"description":{"1":{}}}],["collect",{"_index":251,"title":{},"description":{"28":{}}}],["color",{"_index":162,"title":{},"description":{"12":{}}}],["coloris",{"_index":189,"title":{},"description":{"12":{}}}],["comma-separ",{"_index":274,"title":{},"description":{"31":{}}}],["command",{"_index":18,"title":{},"description":{"0":{}}}],["compar",{"_index":138,"title":{},"description":{"12":{}}}],["comparison",{"_index":136,"title":{},"description":{"12":{}}}],["concis",{"_index":81,"title":{},"description":{"5":{}}}],["configur",{"_index":72,"title":{"31":{}},"description":{"4":{},"6":{},"23":{},"24":{},"25":{},"27":{},"30":{},"31":{}}}],["connect",{"_index":37,"title":{"2":{}},"description":{}}],["content",{"_index":76,"title":{},"description":{"4":{},"12":{},"13":{}}}],["convers",{"_index":268,"title":{},"description":{"31":{}}}],["copi",{"_index":34,"title":{},"description":{"1":{}}}],["core",{"_index":60,"title":{},"description":{"4":{}}}],["count",{"_index":285,"title":{},"description":{"32":{}}}],["creat",{"_index":62,"title":{"6":{},"19":{}},"description":{"4":{},"6":{},"19":{}}}],["criteria",{"_index":254,"title":{},"description":{"28":{}}}],["curl",{"_index":17,"title":{},"description":{"0":{}}}],["current",{"_index":287,"title":{},"description":{"33":{}}}],["custom",{"_index":188,"title":{},"description":{"12":{}}}],["dashboard",{"_index":30,"title":{},"description":{"1":{},"15":{}}}],["dedup",{"_index":264,"title":{},"description":{"31":{}}}],["default",{"_index":92,"title":{},"description":{"6":{},"12":{},"23":{},"31":{}}}],["delet",{"_index":65,"title":{"9":{},"22":{},"27":{}},"description":{"4":{},"9":{},"12":{},"22":{},"27":{}}}],["detail",{"_index":172,"title":{},"description":{"12":{},"32":{}}}],["detect",{"_index":125,"title":{},"description":{"10":{}}}],["dif",{"_index":168,"title":{},"description":{"12":{}}}],["diff",{"_index":179,"title":{},"description":{"12":{}}}],["differ",{"_index":132,"title":{"12":{}},"description":{"12":{},"15":{}}}],["disabl",{"_index":174,"title":{},"description":{"12":{}}}],["discord",{"_index":231,"title":{},"description":{"23":{}}}],["display",{"_index":211,"title":{},"description":{"16":{}}}],["driven",{"_index":11,"title":{},"description":{"0":{}}}],["duplic",{"_index":265,"title":{},"description":{"31":{}}}],["each",{"_index":67,"title":{},"description":{"4":{}}}],["easili",{"_index":25,"title":{},"description":{"1":{}}}],["email",{"_index":230,"title":{},"description":{"23":{}}}],["empti",{"_index":245,"title":{},"description":{"26":{}}}],["enabl",{"_index":169,"title":{},"description":{"12":{}}}],["endpoint",{"_index":137,"title":{},"description":{"12":{},"13":{},"23":{}}}],["etc",{"_index":194,"title":{},"description":{"12":{},"31":{}}}],["exampl",{"_index":14,"title":{},"description":{"0":{},"2":{},"3":{}}}],["exist",{"_index":117,"title":{},"description":{"8":{},"21":{}}}],["fals",{"_index":270,"title":{},"description":{"31":{}}}],["false/off",{"_index":177,"title":{},"description":{"12":{}}}],["faster",{"_index":23,"title":{},"description":{"0":{}}}],["favicon",{"_index":205,"title":{"15":{},"16":{}},"description":{"15":{},"16":{}}}],["fetch",{"_index":130,"title":{},"description":{"11":{},"13":{}}}],["fetch_backend",{"_index":105,"title":{},"description":{"6":{},"31":{}}}],["field",{"_index":89,"title":{},"description":{"6":{},"31":{}}}],["file",{"_index":202,"title":{},"description":{"13":{}}}],["filter",{"_index":77,"title":{},"description":{"4":{},"28":{}}}],["find",{"_index":16,"title":{"1":{}},"description":{"0":{},"1":{},"28":{}}}],["float",{"_index":281,"title":{},"description":{"31":{}}}],["format",{"_index":142,"title":{},"description":{"12":{},"31":{}}}],["found",{"_index":26,"title":{},"description":{"1":{},"2":{}}}],["from_timestamp",{"_index":152,"title":{},"description":{"12":{}}}],["full",{"_index":114,"title":{},"description":{"7":{}}}],["function",{"_index":61,"title":{},"description":{"4":{}}}],["gener",{"_index":135,"title":{},"description":{"12":{}}}],["global",{"_index":226,"title":{},"description":{"23":{}}}],["granular",{"_index":170,"title":{},"description":{"12":{}}}],["green",{"_index":164,"title":{},"description":{"12":{}}}],["group",{"_index":9,"title":{"17":{}},"description":{"0":{},"17":{}}}],["group-wid",{"_index":217,"title":{},"description":{"17":{}}}],["header",{"_index":56,"title":{},"description":{"3":{},"6":{}}}],["help",{"_index":21,"title":{},"description":{"0":{}}}],["highlight",{"_index":163,"title":{},"description":{"12":{}}}],["histor",{"_index":126,"title":{},"description":{"11":{},"12":{}}}],["histori",{"_index":123,"title":{"10":{},"11":{}},"description":{"9":{},"11":{},"12":{},"13":{},"14":{}}}],["hosted/subscript",{"_index":46,"title":{},"description":{"2":{}}}],["html",{"_index":159,"title":{},"description":{"12":{},"13":{}}}],["htmlcolor",{"_index":160,"title":{},"description":{"12":{}}}],["http",{"_index":57,"title":{},"description":{"3":{}}}],["http://localhost:5000/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091/histori",{"_index":44,"title":{},"description":{"2":{}}}],["https://<your",{"_index":50,"title":{},"description":{"2":{}}}],["https://github.com/caronc/apprise](https://github.com/caronc/appris",{"_index":241,"title":{},"description":{"23":{}}}],["identifi",{"_index":210,"title":{},"description":{"15":{},"28":{}}}],["imag",{"_index":206,"title":{},"description":{"15":{}}}],["implement",{"_index":187,"title":{},"description":{"12":{}}}],["import",{"_index":255,"title":{"30":{},"31":{}},"description":{"30":{},"31":{}}}],["includ",{"_index":229,"title":{},"description":{"23":{},"32":{}}}],["individu",{"_index":66,"title":{},"description":{"4":{},"13":{},"23":{}}}],["info",{"_index":84,"title":{},"description":{"5":{}}}],["inform",{"_index":111,"title":{"32":{},"33":{}},"description":{"7":{},"20":{},"32":{},"33":{}}}],["information](#operation/getwatch",{"_index":121,"title":{},"description":{"8":{}}}],["inlin",{"_index":173,"title":{},"description":{"12":{}}}],["instanc",{"_index":283,"title":{},"description":{"32":{}}}],["int",{"_index":280,"title":{},"description":{"31":{}}}],["interfac",{"_index":208,"title":{},"description":{"15":{}}}],["interv",{"_index":74,"title":{},"description":{"4":{}}}],["item1,item2",{"_index":275,"title":{},"description":{"31":{}}}],["json",{"_index":115,"title":{},"description":{"7":{},"8":{},"21":{},"31":{}}}],["keep",{"_index":200,"title":{},"description":{"13":{}}}],["key",{"_index":24,"title":{"1":{}},"description":{"1":{},"3":{},"11":{}}}],["key\":\"valu",{"_index":277,"title":{},"description":{"31":{}}}],["key](./where-to-get-api-key.jpeg",{"_index":36,"title":{},"description":{"1":{}}}],["keyword",{"_index":147,"title":{},"description":{"12":{}}}],["known",{"_index":215,"title":{},"description":{"17":{}}}],["larg",{"_index":250,"title":{},"description":{"28":{}}}],["last",{"_index":198,"title":{},"description":{"13":{}}}],["latest",{"_index":148,"title":{},"description":{"12":{},"14":{}}}],["level",{"_index":239,"title":{},"description":{"23":{}}}],["line",{"_index":19,"title":{},"description":{"0":{}}}],["line-level",{"_index":176,"title":{},"description":{"12":{}}}],["line-separ",{"_index":257,"title":{},"description":{"31":{}}}],["list",{"_index":79,"title":{"5":{},"18":{}},"description":{"5":{},"10":{},"11":{},"13":{},"14":{},"15":{},"16":{},"18":{},"24":{},"26":{},"30":{},"31":{}}}],["local",{"_index":41,"title":{},"description":{"2":{}}}],["login",{"_index":49,"title":{},"description":{"2":{}}}],["manag",{"_index":7,"title":{"4":{},"17":{}},"description":{"0":{},"4":{}}}],["mani",{"_index":234,"title":{},"description":{"23":{}}}],["mass",{"_index":221,"title":{},"description":{"17":{}}}],["match",{"_index":252,"title":{},"description":{"28":{}}}],["method",{"_index":104,"title":{},"description":{"6":{}}}],["mode",{"_index":88,"title":{},"description":{"6":{},"12":{}}}],["monitor",{"_index":3,"title":{"0":{}},"description":{"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"20":{},"22":{},"28":{},"29":{},"30":{},"31":{}}}],["more",{"_index":110,"title":{},"description":{"6":{},"25":{},"27":{}}}],["multipl",{"_index":223,"title":{},"description":{"17":{},"30":{}}}],["muted/paus",{"_index":112,"title":{},"description":{"7":{}}}],["new",{"_index":85,"title":{"6":{}},"description":{}}],["no_markup=tru",{"_index":181,"title":{},"description":{"12":{}}}],["notif",{"_index":4,"title":{"0":{},"23":{},"24":{},"25":{},"26":{},"27":{}},"description":{"0":{},"4":{},"6":{},"17":{},"23":{},"24":{},"25":{},"26":{},"27":{}}}],["notification_bodi",{"_index":96,"title":{},"description":{"6":{}}}],["notification_format",{"_index":97,"title":{},"description":{"6":{}}}],["notification_mut",{"_index":98,"title":{},"description":{"6":{},"20":{}}}],["notification_titl",{"_index":95,"title":{},"description":{"6":{}}}],["notification_url",{"_index":93,"title":{},"description":{"6":{},"31":{}}}],["number",{"_index":278,"title":{},"description":{"31":{}}}],["object",{"_index":276,"title":{},"description":{"31":{}}}],["on",{"_index":243,"title":{},"description":{"25":{},"27":{}}}],["opening/clos",{"_index":185,"title":{},"description":{"12":{}}}],["oper",{"_index":220,"title":{},"description":{"17":{}}}],["option",{"_index":78,"title":{},"description":{"4":{},"6":{},"12":{},"31":{}}}],["organ",{"_index":214,"title":{},"description":{"17":{}}}],["output",{"_index":180,"title":{},"description":{"12":{}}}],["overridden",{"_index":238,"title":{},"description":{"23":{}}}],["overview",{"_index":212,"title":{},"description":{"16":{}}}],["page",{"_index":2,"title":{"0":{}},"description":{"0":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"20":{},"22":{},"29":{}}}],["paramet",{"_index":259,"title":{},"description":{"31":{}}}],["pars",{"_index":279,"title":{},"description":{"31":{}}}],["pass",{"_index":203,"title":{},"description":{"13":{},"14":{},"31":{}}}],["pattern",{"_index":247,"title":{},"description":{"28":{}}}],["paus",{"_index":103,"title":{},"description":{"6":{}}}],["perfect",{"_index":143,"title":{},"description":{"12":{}}}],["perform",{"_index":218,"title":{},"description":{"17":{}}}],["placehold",{"_index":184,"title":{},"description":{"12":{}}}],["plain",{"_index":155,"title":{},"description":{"12":{},"30":{}}}],["platform",{"_index":236,"title":{},"description":{"23":{}}}],["point",{"_index":139,"title":{},"description":{"12":{}}}],["popular",{"_index":235,"title":{},"description":{"23":{}}}],["port",{"_index":42,"title":{},"description":{"2":{}}}],["prefer",{"_index":75,"title":{},"description":{"4":{},"17":{}}}],["prefix",{"_index":158,"title":{},"description":{"12":{}}}],["previou",{"_index":150,"title":{},"description":{"12":{}}}],["processor",{"_index":87,"title":{},"description":{"6":{},"31":{}}}],["provid",{"_index":55,"title":{},"description":{"3":{},"26":{}}}],["proxi",{"_index":108,"title":{},"description":{"6":{},"30":{},"31":{}}}],["python",{"_index":20,"title":{},"description":{"0":{}}}],["queri",{"_index":128,"title":{},"description":{"11":{},"13":{},"31":{}}}],["quickli",{"_index":249,"title":{},"description":{"28":{}}}],["raw",{"_index":178,"title":{},"description":{"12":{}}}],["recent",{"_index":146,"title":{},"description":{"12":{},"14":{}}}],["recheck",{"_index":222,"title":{},"description":{"17":{},"20":{}}}],["red",{"_index":166,"title":{},"description":{"12":{}}}],["relat",{"_index":122,"title":{},"description":{"9":{},"17":{}}}],["remov",{"_index":156,"title":{},"description":{"12":{},"22":{}}}],["replac",{"_index":244,"title":{"26":{}},"description":{"26":{}}}],["repres",{"_index":68,"title":{},"description":{"4":{}}}],["request",{"_index":53,"title":{},"description":{"3":{},"31":{}}}],["requir",{"_index":54,"title":{},"description":{"3":{},"6":{}}}],["rest",{"_index":6,"title":{},"description":{"0":{}}}],["restock_diff",{"_index":90,"title":{},"description":{"6":{}}}],["retriev",{"_index":63,"title":{},"description":{"4":{},"7":{},"13":{},"15":{},"20":{},"32":{}}}],["return",{"_index":80,"title":{},"description":{"5":{},"7":{},"8":{},"12":{},"18":{},"24":{},"33":{}}}],["review",{"_index":144,"title":{},"description":{"12":{}}}],["rich",{"_index":161,"title":{},"description":{"12":{}}}],["run",{"_index":40,"title":{},"description":{"2":{}}}],["same",{"_index":119,"title":{},"description":{"8":{}}}],["schema",{"_index":260,"title":{},"description":{"31":{}}}],["search",{"_index":246,"title":{"28":{},"29":{}},"description":{"28":{},"29":{}}}],["second-most-rec",{"_index":151,"title":{},"description":{"12":{}}}],["serv",{"_index":237,"title":{},"description":{"23":{}}}],["servic",{"_index":192,"title":{},"description":{"12":{},"23":{}}}],["set",{"_index":28,"title":{},"description":{"1":{},"4":{},"6":{},"7":{},"13":{},"17":{},"20":{},"23":{},"30":{},"31":{}}}],["simpl",{"_index":13,"title":{},"description":{"0":{}}}],["simpli",{"_index":31,"title":{},"description":{"1":{}}}],["simultan",{"_index":256,"title":{},"description":{"30":{}}}],["singl",{"_index":69,"title":{"7":{},"14":{},"20":{}},"description":{"4":{},"6":{},"8":{},"11":{},"14":{},"19":{}}}],["skip",{"_index":190,"title":{},"description":{"12":{},"31":{}}}],["slack",{"_index":232,"title":{},"description":{"23":{}}}],["snapshot",{"_index":127,"title":{"12":{},"13":{},"14":{}},"description":{"11":{},"12":{},"13":{},"14":{}}}],["special",{"_index":261,"title":{},"description":{"31":{}}}],["specif",{"_index":145,"title":{},"description":{"12":{},"28":{},"31":{}}}],["start",{"_index":22,"title":{},"description":{"0":{}}}],["state",{"_index":288,"title":{},"description":{"33":{}}}],["statist",{"_index":282,"title":{},"description":{"32":{}}}],["statu",{"_index":113,"title":{},"description":{"7":{},"17":{},"20":{},"32":{}}}],["string",{"_index":101,"title":{},"description":{"6":{}}}],["structur",{"_index":120,"title":{},"description":{"8":{}}}],["support",{"_index":227,"title":{},"description":{"23":{},"31":{}}}],["syntax",{"_index":240,"title":{},"description":{"23":{}}}],["system",{"_index":199,"title":{"32":{},"33":{}},"description":{"13":{},"32":{},"33":{}}}],["systeminfo",{"_index":289,"title":{},"description":{"33":{}}}],["tab",{"_index":29,"title":{},"description":{"1":{}}}],["tag",{"_index":10,"title":{"17":{},"18":{},"19":{},"20":{},"21":{},"22":{}},"description":{"0":{},"6":{},"12":{},"17":{},"18":{},"19":{},"20":{},"21":{},"23":{},"28":{},"30":{},"31":{}}}],["tag/group",{"_index":224,"title":{},"description":{"19":{},"22":{}}}],["tag/{uuid",{"_index":225,"title":{},"description":{"20":{},"21":{},"22":{}}}],["tag_uuid",{"_index":262,"title":{},"description":{"31":{}}}],["tags/group",{"_index":99,"title":{},"description":{"6":{},"18":{}}}],["text",{"_index":154,"title":{},"description":{"12":{},"13":{},"29":{},"30":{}}}],["text_json_diff",{"_index":91,"title":{},"description":{"6":{}}}],["time",{"_index":140,"title":{},"description":{"12":{},"13":{}}}],["time_between_check",{"_index":102,"title":{},"description":{"6":{}}}],["timestamp",{"_index":124,"title":{},"description":{"10":{},"11":{},"12":{},"13":{},"14":{}}}],["titl",{"_index":248,"title":{},"description":{"28":{},"29":{}}}],["to_timestamp",{"_index":149,"title":{},"description":{"12":{}}}],["total",{"_index":284,"title":{},"description":{"32":{}}}],["true",{"_index":266,"title":{},"description":{"31":{}}}],["tweak",{"_index":193,"title":{},"description":{"12":{}}}],["two",{"_index":134,"title":{"12":{}},"description":{"12":{},"13":{}}}],["type",{"_index":267,"title":{},"description":{"31":{}}}],["under",{"_index":27,"title":{},"description":{"1":{}}}],["unix",{"_index":153,"title":{},"description":{"12":{}}}],["updat",{"_index":64,"title":{"8":{},"21":{}},"description":{"4":{},"8":{},"21":{}}}],["uptim",{"_index":286,"title":{},"description":{"32":{}}}],["url",{"_index":38,"title":{"2":{},"24":{},"25":{},"26":{},"27":{},"31":{}},"description":{"2":{},"4":{},"6":{},"24":{},"25":{},"26":{},"27":{},"28":{},"29":{},"30":{},"31":{}}}],["url>/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091/histori",{"_index":51,"title":{},"description":{"2":{}}}],["us",{"_index":45,"title":{},"description":{"2":{},"8":{},"11":{},"12":{},"13":{},"14":{},"15":{},"17":{},"21":{},"23":{},"28":{},"31":{}}}],["uuid",{"_index":100,"title":{},"description":{"6":{}}}],["valu",{"_index":197,"title":{},"description":{"13":{}}}],["variou",{"_index":228,"title":{},"description":{"23":{}}}],["version",{"_index":47,"title":{},"description":{"2":{},"12":{},"32":{}}}],["via",{"_index":258,"title":{},"description":{"31":{}}}],["visual",{"_index":209,"title":{},"description":{"15":{}}}],["watch",{"_index":8,"title":{"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"16":{},"29":{},"31":{}},"description":{"0":{},"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"10":{},"11":{},"12":{},"13":{},"14":{},"15":{},"16":{},"17":{},"20":{},"22":{},"23":{},"28":{},"29":{},"30":{},"31":{},"32":{}}}],["watch/{uuid",{"_index":116,"title":{},"description":{"7":{},"8":{},"9":{}}}],["watch/{uuid}/difference/{from_timestamp}/{to_timestamp",{"_index":195,"title":{},"description":{"12":{}}}],["watch/{uuid}/favicon",{"_index":213,"title":{},"description":{"16":{}}}],["watch/{uuid}/histori",{"_index":131,"title":{},"description":{"11":{}}}],["watch/{uuid}/history/{timestamp",{"_index":204,"title":{},"description":{"14":{}}}],["web",{"_index":1,"title":{"0":{}},"description":{"4":{},"5":{},"6":{},"7":{},"8":{},"9":{},"11":{},"12":{},"14":{},"15":{},"16":{},"20":{},"22":{},"29":{}}}],["webhook",{"_index":233,"title":{},"description":{"23":{}}}],["without",{"_index":182,"title":{},"description":{"12":{}}}],["word-level",{"_index":167,"title":{},"description":{"12":{}}}],["word_diff=fals",{"_index":175,"title":{},"description":{"12":{}}}],["word_diff=tru",{"_index":171,"title":{},"description":{"12":{}}}],["x-api-key",{"_index":58,"title":{},"description":{"3":{}}}],["ye",{"_index":273,"title":{},"description":{"31":{}}}],["your_api_key",{"_index":59,"title":{},"description":{"3":{}}}]],"pipeline":[]}},"options":{}}; var container = document.getElementById('redoc'); Redoc.hydrate(__redoc_state, container);