Seehttps://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function p(){g(c).forEach(function(y){delete c[y]})}var s=l(74).default,g=l(60).default,m=l(1).default;i.__esModule=!0,i.createProtoAccessControl=r,i.resultIsAllowed=n,i.resetLoggedProperties=p;var a=l(76),v=l(72),f=m(v),c=s(null)},function(d,i,l){d.exports={default:l(75),__esModule:!0}},function(d,i,l){var r=l(9);d.exports=function(n,u){return r.create(n,u)}},function(d,i,l){"use strict";function r(){for(var h=arguments.length,p=Array(h),s=0;s<h;s++)p[s]=arguments[s];return u.extend.apply(void 0,[n(null)].concat(p))}var n=l(74).default;i.__esModule=!0,i.createNewLookupObject=r;var u=l(5)},function(d,i){"use strict";function l(r){this.string=r}i.__esModule=!0,l.prototype.toString=l.prototype.toHTML=function(){return""+this.string},i.default=l,d.exports=i.default},function(d,i,l){"use strict";function r(I){var D=I&&I[0]||1,P=R.COMPILER_REVISION;if(!(D>=R.LAST_COMPATIBLE_COMPILER_REVISION&&D<=R.COMPILER_REVISION)){if(D<R.LAST_COMPATIBLE_COMPILER_REVISION){var F=R.REVISION_CHANGES[P],W=R.REVISION_CHANGES[D];throw new w.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+F+") or downgrade your runtime to an older version ("+W+").")}throw new w.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+I[1]+").")}}function n(I,D){function P($,H,M){M.hash&&(H=T.extend({},H,M.hash),M.ids&&(M.ids[0]=!0)),$=D.VM.resolvePartial.call(this,$,H,M);var z=T.extend({},M,{hooks:this.hooks,protoAccessControl:this.protoAccessControl}),U=D.VM.invokePartial.call(this,$,H,z);if(U==null&&D.compile&&(M.partials[M.name]=D.compile($,I.compilerOptions,D),U=M.partials[M.name](H,z)),U!=null){if(M.indent){for(var Q=U.split(`
Expecting`+P.join(", ")+", got '"+(this.terminals_[A]||A)+"'":"Parse error on line "+(c+1)+": Unexpected "+(A==1?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(W,{text:this.lexer.match,token:this.terminals_[A]||A,line:this.lexer.yylineno,loc:S,expected:P})}}if(N[0]instanceof Array&&N.length>1)throw new Error("Parse Error: multiple actions possible at state: "+R+", token: "+A);switch(N[0]){case 1:g.push(A),m.push(this.lexer.yytext),a.push(this.lexer.yylloc),g.push(N[1]),A=null,w?(A=w,w=null):(y=this.lexer.yyleng,f=this.lexer.yytext,c=this.lexer.yylineno,S=this.lexer.yylloc,E>0&&E--);break;case 2:if(I=this.productions_[N[1]][1],F.$=m[m.length-I],F._$={first_line:a[a.length-(I||1)].first_line,last_line:a[a.length-1].last_line,first_column:a[a.length-(I||1)].first_column,last_column:a[a.length-1].last_column},T&&(F._$.range=[a[a.length-(I||1)].range[0],a[a.length-1].range[1]]),B=this.performAction.call(F,f,y,c,this.yy,N[1],m,a),typeof B!="undefined")return B;I&&(g=g.slice(0,-1*I*2),m=m.slice(0,-1*I),a=a.slice(0,-1*I)),g.push(this.productions_[N[1]][0]),m.push(F.$),a.push(F._$),D=v[g[g.length-2]][g[g.length-1]],g.push(D);break;case 3:return!0}}return!0}},u=function(){var h={EOF:1,parseError:function(p,s){if(!this.yy.parser)throw new Error(p);this.yy.parser.parseError(p,s)},setInput:function(p){return this._input=p,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var p=this._input[0];this.yytext+=p,this.yyleng++,this.offset++,this.match+=p,this.matched+=p;var s=p.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),p},unput:function(p){var s=p.length,g=p.split(/(?:\r\n?|\n)/g);this._input=p+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s-1),this.offset-=s;var m=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),g.length-1&&(this.yylineno-=g.length-1);var a=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:g?(g.length===m.length?this.yylloc.first_column:0)+m[m.length-g.length].length-g[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[a[0],a[0]+this.yyleng-s]),this},more:function(){return this._more=!0,this},less:function(p){this.unput(this.match.slice(p))},pastInput:function(){var p=this.matched.substr(0,this.matched.length-this.match.length);return(p.length>20?"...":"")+p.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var p=this.match;return p.length<20&&(p+=this._input.substr(0,20-p.length)),(p.substr(0,20)+(p.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var p=this.pastInput(),s=new Array(p.length+1).join("-");return p+this.upcomingInput()+`
`+s+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var p,s,g,m,a;this._more||(this.yytext="",this.match="");for(var v=this._currentRules(),f=0;f<v.length&&(g=this._input.match(this.rules[v[f]]),!g||s&&!(g[0].length>s[0].length)||(s=g,m=f,this.options.flex));f++);return s?(a=s[0].match(/(?:\r\n?|\n).*/g),a&&(this.yylineno+=a.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:a?a[a.length-1].length-a[a.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+s[0].length},this.yytext+=s[0],this.match+=s[0],this.matches=s,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(s[0].length),this.matched+=s[0],p=this.performAction.call(this,this.yy,this,v[m],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),p||void 0):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`.Unrecognizedtext.
*/var r=function(n){var u=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,h=0,p={},s={manual:n.Prism&&n.Prism.manual,disableWorkerMessageHandler:n.Prism&&n.Prism.disableWorkerMessageHandler,util:{encode:functionA(w){returnwinstanceofg?newg(w.type,A(w.content),w.alias):Array.isArray(w)?w.map(A):w.replace(/&/g,"&").replace(/</g,"<").replace(/\u00a0/g," ")},type:function(A){returnObject.prototype.toString.call(A).slice(8,-1)},objId:function(A){returnA.__id||Object.defineProperty(A,"__id",{value:++h}),A.__id},clone:functionA(w,R){R=R||{};varN,B;switch(s.util.type(w)){case"Object":if(B=s.util.objId(w),R[B])returnR[B];N={},R[B]=N;for(varbinw)w.hasOwnProperty(b)&&(N[b]=A(w[b],R));returnN;case"Array":returnB=s.util.objId(w),R[B]?R[B]:(N=[],R[B]=N,w.forEach(function(I,D){N[D]=A(I,R)}),N);default:returnw}},getLanguage:function(A){for(;A;){varw=u.exec(A.className);if(w)returnw[1].toLowerCase();A=A.parentElement}return"none"},setLanguage:function(A,w){A.className=A.className.replace(RegExp(u,"gi"),""),A.classList.add("language-"+w)},currentScript:function(){if(typeofdocument=="undefined")returnnull;if(document.currentScript&&document.currentScript.tagName==="SCRIPT"&&1<2)returndocument.currentScript;try{thrownewError}catch(N){varA=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(N.stack)||[])[1];if(A){varw=document.getElementsByTagName("script");for(varRinw)if(w[R].src==A)returnw[R]}returnnull}},isActive:function(A,w,R){for(varN="no-"+w;A;){varB=A.classList;if(B.contains(w))return!0;if(B.contains(N))return!1;A=A.parentElement}return!!R}},languages:{plain:p,plaintext:p,text:p,txt:p,extend:function(A,w){varR=s.util.clone(s.languages[A]);for(varNinw)R[N]=w[N];returnR},insertBefore:function(A,w,R,N){N=N||s.languages;varB=N[A],b={};for(varIinB)if(B.hasOwnProperty(I)){if(I==w)for(varDinR)R.hasOwnProperty(D)&&(b[D]=R[D]);R.hasOwnProperty(I)||(b[I]=B[I])}varP=N[A];returnN[A]=b,s.languages.DFS(s.languages,function(F,W){W===P&&F!=A&&(this[F]=b)}),b},DFS:functionA(w,R,N,B){B=B||{};varb=s.util.objId;for(varIinw)if(w.hasOwnProperty(I)){R.call(w,I,w[I],N||I);varD=w[I],P=s.util.type(D);P==="Object"&&!B[b(D)]?(B[b(D)]=!0,A(D,R,null,B)):P==="Array"&&!B[b(D)]&&(B[b(D)]=!0,A(D,R,I,B))}}},plugins:{},highlightAll:function(A,w){s.highlightAllUnder(document,A,w)},highlightAllUnder:function(A,w,R){varN={callback:R,container:A,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};s.hooks.run("before-highlightall",N),N.elements=Array.prototype.slice.apply(N.container.querySelectorAll(N.selector)),s.hooks.run("before-all-elements-highlight",N);for(varB=0,b;b=N.elements[B++];)s.highlightElement(b,w===!0,N.callback)},highlightElement:function(A,w,R){varN=s.util.getLanguage(A),B=s.languages[N];s.util.setLanguage(A,N);varb=A.parentElement;b&&b.nodeName.toLowerCase()==="pre"&&s.util.setLanguage(b,N);varI=A.textContent,D={element:A,language:N,grammar:B,code:I};functionP(W){D.highlightedCode=W,s.hooks.run("before-insert",D),D.element.innerHTML=D.highlightedCode,s.hooks.run("after-highlight",D),s.hooks.run("complete",D),R&&R.call(D.element)}if(s.hooks.run("before-sanity-check",D),b=D.element.parentElement,b&&b.nodeName.toLowerCase()==="pre"&&!b.hasAttribute("tabindex")&&b.setAttribute("tabindex","0"),!D.code){s.hooks.run("complete",D),R&&R.call(D.element);return}if(s.hooks.run("before-highlight",D),!D.grammar){P(s.util.encode(D.code));return}if(w&&n.Worker){varF=newWorker(s.filename);F.onmessage=function(W){P(W.data)},F.postMessage(JSON.stringify({language:D.language,code:D.code,immediateClose:!0}))}elseP(s.highlight(D.code,D.grammar,D.language))},highlight:function(A,w,R){varN={code:A,grammar:w,language:R};if(s.hooks.run("before-tokenize",N),!N.grammar)thrownewError('The language "'+N.language+'" has no grammar.');returnN.tokens=s.tokenize(N.code,N.grammar),s.hooks.run("after-tokenize",N),g.stringify(s.util.encode(N.tokens),N.language)},tokenize:function(A,w){varR=w.rest;if(R){for(varNinR)w[N]=R[N];deletew.rest}varB=newv;returnf(B,B.head,A),a(
`),S.hasAttribute("data-start")||S.setAttribute("data-start",String(D+1))}T.textContent=B,r.highlightElement(T)},function(B){S.setAttribute(s,a),T.textContent=B})}}),r.plugins.fileHighlight={highlight:function(S){for(var T=(S||document).querySelectorAll(v),A=0,w;w=T[A++];)r.highlightElement(w)}};var y=!1;r.fileHighlight=function(){y||(console.warn("Prism.fileHighlight is deprecated. Use `Prism.plugins.fileHighlight.highlight` instead."),y=!0),r.plugins.fileHighlight.highlight.apply(this,arguments)}}()},8919:(_,d,i)=>{var l,r;l=[i(9619)],r=function(n){"use strict";return new RegExp("^"+n+"+|((?:^|[^\\\\])(?:\\\\.)*)"+n+"+$","g")}.apply(d,l),r!==void 0&&(_.exports=r)},8926:(_,d,i)=>{var l,r;l=[i(8411),i(8543),i(7623),i(1382),i(9091),i(8404),i(5950),i(8149),i(9192),i(9773),i(9340),i(4553)],r=function(n,u,h,p,s,g,m,a,v,f){"use strict";var c=/^([^.]*)(?:\.(.+)|)/;function y(){return!0}function E(){return!1}function S(A,w,R,N,B,b){var I,D;if(typeof w=="object"){typeof R!="string"&&(N=N||R,R=void 0);for(D in w)S(A,D,R,N,w[D],b);return A}if(N==null&&B==null?(B=R,N=R=void 0):B==null&&(typeof R=="string"?(B=N,N=void 0):(B=N,N=R,R=void 0)),B===!1)B=E;else if(!B)return A;return b===1&&(I=B,B=function(P){return n().off(P),I.apply(this,arguments)},B.guid=I.guid||(I.guid=n.guid++)),A.each(function(){n.event.add(this,w,B,N,R)})}n.event={global:{},add:function(A,w,R,N,B){var b,I,D,P,F,W,G,$,H,M,z,U=v.get(A);if(a(A))for(R.handler&&(b=R,R=b.handler,B=b.selector),B&&n.find.matchesSelector(h,B),R.guid||(R.guid=n.guid++),(P=U.events)||(P=U.events=Object.create(null)),(I=U.handle)||(I=U.handle=function(Q){return typeof n!="undefined"&&n.event.triggered!==Q.type?n.event.dispatch.apply(A,arguments):void 0}),w=(w||"").match(s)||[""],F=w.length;F--;)D=c.exec(w[F])||[],H=z=D[1],M=(D[2]||"").split(".").sort(),H&&(G=n.event.special[H]||{},H=(B?G.delegateType:G.bindType)||H,G=n.event.special[H]||{},W=n.extend({type:H,origType:z,data:N,handler:R,guid:R.guid,selector:B,needsContext:B&&n.expr.match.needsContext.test(B),namespace:M.join(".")},b),($=P[H])||($=P[H]=[],$.delegateCount=0,(!G.setup||G.setup.call(A,N,M,I)===!1)&&A.addEventListener&&A.addEventListener(H,I)),G.add&&(G.add.call(A,W),W.handler.guid||(W.handler.guid=R.guid)),B?$.splice($.delegateCount++,0,W):$.push(W),n.event.global[H]=!0)},remove:function(A,w,R,N,B){var b,I,D,P,F,W,G,$,H,M,z,U=v.hasData(A)&&v.get(A);if(!(!U||!(P=U.events))){for(w=(w||"").match(s)||[""],F=w.length;F--;){if(D=c.exec(w[F])||[],H=z=D[1],M=(D[2]||"").split(".").sort(),!H){for(H in P)n.event.remove(A,H+w[F],R,N,!0);continue}for(G=n.event.special[H]||{},H=(N?G.delegateType:G.bindType)||H,$=P[H]||[],D=D[2]&&new RegExp("(^|\\.)"+M.join("\\.(?:.*\\.|)")+"(\\.|$)"),I=b=$.length;b--;)W=$[b],(B||z===W.origType)&&(!R||R.guid===W.guid)&&(!D||D.test(W.namespace))&&(!N||N===W.selector||N==="**"&&W.selector)&&($.splice(b,1),W.selector&&$.delegateCount--,G.remove&&G.remove.call(A,W));I&&!$.length&&((!G.teardown||G.teardown.call(A,M,U.handle)===!1)&&n.removeEvent(A,H,U.handle),delete P[H])}n.isEmptyObject(P)&&v.remove(A,"handle events")}},dispatch:function(A){var w,R,N,B,b,I,D=new Array(arguments.length),P=n.event.fix(A),F=(v.get(this,"events")||Object.create(null))[P.type]||[],W=n.event.special[P.type]||{};for(D[0]=P,w=1;w<arguments.length;w++)D[w]=arguments[w];if(P.delegateTarget=this,!(W.preDispatch&&W.preDispatch.call(this,P)===!1)){for(I=n.event.handlers.call(this,P,F),w=0;(B=I[w++])&&!P.isPropagationStopped();)for(P.currentTarget=B.elem,R=0;(b=B.handlers[R++])&&!P.isImmediatePropagationStopped();)(!P.rnamespace||b.namespace===!1||P.rnamespace.test(b.namespace))&&(P.handleObj=b,P.data=b.data,N=((n.event.special[b.origType]||{}).handle||b.handler).apply(B.elem,D),N!==void 0&&(P.result=N)===!1&&(P.preventDefault(),P.stopPropagation()));return W.postDispatch&&W.postDispatch.call(this,P),P.result}},handlers:function(A,w){var R,N,B,b,I,D=[],P=w.delegateCount,F=A.target;if(P&&F.nodeType&&!(A.type==="click"&&A.button>=1)){for(;F!==this;F=F.parentNode||this)if(F.nodeType===1&&!(A.type==="click"&&F.disabled===!0)){for(b=[],I={},R=0;R<P;R
`+oe),lt.find(".sample-request-response").is(":visible")&<.find(".sample-request-response").fadeTo(1,.1),lt.find(".sample-request-response").fadeTo(250,1),lt.find(".sample-request-response-json").text(Jt),v().highlightAll()}}function B(Lt,st,Rt){const Ot=d()('article[data-group="'+Lt+'"][data-name="'+st+'"][data-version="'+Rt+'"]');Ot.find(".sample-request-response-json").html(""),Ot.find(".sample-request-response").hide(),Ot.find(".sample-request-input").each((St,ft)=>{ft.value=ft.placeholder!==ft.dataset.name?ft.placeholder:""});const lt=Ot.find(".sample-request-url");lt.val(lt.prop("defaultValue"))}const b={"Allowed values:":"Valors permesos:","Compare all with predecessor":"Comparar tot amb versi\xF3 anterior","compare changes to:":"comparar canvis amb:","compared to":"comparat amb","Default value:":"Valor per defecte:",Description:"Descripci\xF3",Field:"Camp",General:"General","Generated with":"Generat amb",Name:"Nom","No response values.":"Sense valors en la resposta.",optional:"opcional",Parameter:"Par\xE0metre","Permission:":"Permisos:",Response:"Resposta",Send:"Enviar","Send a Sample Request":"Enviar una petici\xF3 d'exemple","show up to version:":"mostrar versi\xF3:","Size range:":"Tamany de rang:",Type:"Tipus",url:"url"},I={"Allowed values:":"Povolen\xE9 hodnoty:","Compare all with predecessor":"Porovnat v\u0161e s p\u0159edchoz\xEDmi verzemi","compare changes to:":"porovnat zm\u011Bny s:","compared to":"porovnat s","Default value:":"V\xFDchoz\xED hodnota:",Description:"Popis",Field:"Pole",General:"Obecn\xE9","Generated with":"Vygenerov\xE1no pomoc\xED",Name:"N\xE1zev","No response values.":"Nebyly vr\xE1ceny \u017E\xE1dn\xE9 hodnoty.",optional:"voliteln\xE9",Parameter:"Parametr","Permission:":"Opr\xE1vn\u011Bn\xED:",Response:"Odpov\u011B\u010F",Send:"Odeslat","Send a Sample Request":"Odeslat uk\xE1zkov\xFD po\u017Eadavek","show up to version:":"zobrazit po verzi:","Size range:":"Rozsah velikosti:",Type:"Typ",url:"url"},D={"Allowed values:":"Erlaubte Werte:","Compare all with predecessor":"Vergleiche alle mit ihren Vorg\xE4ngern","compare changes to:":"vergleiche \xC4nderungen mit:","compared to":"verglichen mit","Default value:":"Standardwert:",Description:"Beschreibung",Field:"Feld",General:"Allgemein","Generated with":"Erstellt mit",Name:"Name","No response values.":"Keine R\xFCckgabewerte.",optional:"optional",Parameter:"Parameter","Permission:":"Berechtigung:",Response:"Antwort",Send:"Senden","Send a Sample Request":"Eine Beispielanfrage senden","show up to version:":"zeige bis zur Version:","Size range:":"Gr\xF6\xDFenbereich:",Type:"Typ",url:"url"},P={"Allowed values:":"Valores permitidos:","Compare all with predecessor":"Comparar todo con versi\xF3n anterior","compare changes to:":"comparar cambios con:","compared to":"comparado con","Default value:":"Valor por defecto:",Description:"Descripci\xF3n",Field:"Campo",General:"General","Generated with":"Generado con",Name:"Nombre","No response values.":"Sin valores en la respuesta.",optional:"opcional",Parameter:"Par\xE1metro","Permission:":"Permisos:",Response:"Respuesta",Send:"Enviar","Send a Sample Request":"Enviar una petici\xF3n de ejemplo","show up to version:":"mostrar a versi\xF3n:","Size range:":"Tama\xF1o de rango:",Type:"Tipo",url:"url"},F={"Allowed values:":"Valeurs autoris\xE9es :",Body:"Corps","Compare all with predecessor":"Tout comparer avec ...","compare changes to:":"comparer les changements \xE0 :","compared to":"comparer \xE0","Default value:":"Valeur par d\xE9faut :",Description:"Description",Field:"Champ",General:"G\xE9n\xE9ral","Generated with":"G\xE9n\xE9r\xE9 avec",Header:"En-t\xEAte",Headers:"En-t\xEAtes",Name:"Nom","No response values.":"Aucune valeur de r\xE9ponse.","No value":"Aucune valeur",optional:"optionnel",Parameter:"Param\xE8tre",Parameters:"Param\xE8tres","Permission:":"Permission :","Query Parameter(s)":"Param\xE8tre(s) de la requ\xEAte","Query Parameters":"Param\xE8tres de la requ\xEAte","Request Body":"Corps de la requ\xEAte",required:"requis",Response:"R\xE9ponse",Send:"Envoyer","Send a Sample Request":"Envoyer une
HTTP/1.0200
{
'notification_urls':["notification-urls-list"]
}`,type:"curl"}],name:"Get",group:"Notifications",version:"0.0.0",filename:"Notifications.py",groupTitle:"Notifications"},{type:"put",url:"/api/v1/notifications",title:"Replace Notification URLs",description:"<p>Replace all notification URLs with the provided list (can be empty)</p>",examples:[{title:"Example usage:",content:`curl-XPUThttp://localhost:5000/api/v1/notifications -H"x-api-key:813031b16330fe25e3780cf0325daa45" -H "Content-Type: application/json" -d '{"notification_urls": ["url1", "url2"]}'`,type:"curl"}],name:"Replace",group:"Notifications",success:{fields:{200:[{group:"200",type:"Object[]",optional:!1,field:"notification_urls",description:"<p>List of current notification URLs</p>"}]}},error:{fields:{400:[{group:"400",type:"String",optional:!1,field:"Invalid",description:"<p>input</p>"}]}},version:"0.0.0",filename:"Notifications.py",groupTitle:"Notifications"},{type:"get",url:"/api/v1/systeminfo",title:"Return system info",description:"<p>Return some info about the current system state</p>",examples:[{title:"Example usage:",content:`curl http://localhost:5000/api/v1/systeminfo -H"x-api-key:813031b16330fe25e3780cf0325daa45"
}`,type:"curl"}],name:"Get_Info",group:"System_Information",version:"0.0.0",filename:"SystemInfo.py",groupTitle:"System_Information"},{type:"post",url:"/api/v1/watch",title:"Create a single tag",examples:[{title:"Example usage:",content:`curlhttp://localhost:5000/api/v1/watch -H"x-api-key:813031b16330fe25e3780cf0325daa45" -H "Content-Type: application/json" -d '{"name": "Work related"}'`,type:"curl"}],name:"Create",group:"Tag",success:{fields:{200:[{group:"200",type:"String",optional:!1,field:"OK",description:"<p>Was created</p>"}],500:[{group:"500",type:"String",optional:!1,field:"ERR",description:"<p>Some other error</p>"}]}},version:"0.0.0",filename:"Tags.py",groupTitle:"Tag"},{type:"delete",url:"/api/v1/tag/:uuid",title:"Delete a tag and remove it from all watches",examples:[{title:"Example usage:",content:'curl http://localhost:5000/api/v1/tag/cc0cfffa-f449-477b-83ea-0caafd1dc091 -X DELETE -H"x-api-key:813031b16330fe25e3780cf0325daa45"',type:"curl"}],parameter:{fields:{Parameter:[{group:"Parameter",type:"uuid",optional:!1,field:"uuid",description:"<p>Tag unique ID.</p>"}]}},name:"DeleteTag",group:"Tag",success:{fields:{200:[{group:"200",type:"String",optional:!1,field:"OK",description:"<p>Was deleted</p>"}]}},version:"0.0.0",filename:"Tags.py",groupTitle:"Tag"},{type:"get",url:"/api/v1/tag/:uuid",title:"Single tag - get data or toggle notification muting.",description:"<p>Retrieve tag information and set notification_muted status</p>",examples:[{title:"Example usage:",content:`curl http://localhost:5000/api/v1/tag/cc0cfffa-f449-477b-83ea-0caafd1dc091 -H"x-api-key:813031b16330fe25e3780cf0325daa45"
curl"http://localhost:5000/api/v1/tag/cc0cfffa-f449-477b-83ea-0caafd1dc091?muted=muted"-H"x-api-key:813031b16330fe25e3780cf0325daa45"`,type:"curl"}],name:"Tag",group:"Tag",parameter:{fields:{Parameter:[{group:"Parameter",type:"uuid",optional:!1,field:"uuid",description:"<p>Tag unique ID.</p>"}]}},query:[{group:"Query",type:"String",optional:!0,field:"muted",description:"<p>=<code>muted</code> or =<code>unmuted</code> , Sets the MUTE NOTIFICATIONS state</p>"}],success:{fields:{200:[{group:"200",type:"String",optional:!1,field:"OK",description:"<p>When muted operation OR full JSON object of the tag</p>"},{group:"200",type:"JSON",optional:!1,field:"TagJSON",description:"<p>JSON Full JSON object of the tag</p>"}]}},version:"0.0.0",filename:"Tags.py",groupTitle:"Tag"},{type:"put",url:"/api/v1/tag/:uuid",title:"Update tag information",examples:[{title:"Example usage:",content:`Update(PUT)
curlhttp://localhost:5000/api/v1/tag/cc0cfffa-f449-477b-83ea-0caafd1dc091 -X PUT -H"x-api-key:813031b16330fe25e3780cf0325daa45" -H "Content-Type: application/json" -d '{"title": "New Tag Title"}'`,type:"curl"}],description:"<p>Updates an existing tag using JSON</p>",parameter:{fields:{Parameter:[{group:"Parameter",type:"uuid",optional:!1,field:"uuid",description:"<p>Tag unique ID.</p>"}]}},name:"UpdateTag",group:"Tag",success:{fields:{200:[{group:"200",type:"String",optional:!1,field:"OK",description:"<p>Was updated</p>"}],500:[{group:"500",type:"String",optional:!1,field:"ERR",description:"<p>Some other error</p>"}]}},version:"0.0.0",filename:"Tags.py",groupTitle:"Tag"},{type:"get",url:"/api/v1/tags",title:"List tags",description:"<p>Return list of available tags</p>",examples:[{title:"Example usage:",content:`curl http://localhost:5000/api/v1/tags -H"x-api-key:813031b16330fe25e3780cf0325daa45"
{
"cc0cfffa-f449-477b-83ea-0caafd1dc091":{
"title":"Tech News",
"notification_muted":false,
"date_created":1677103794
},
"e6f5fd5c-dbfe-468b-b8f3-f9d6ff5ad69b":{
"title":"Shopping",
"notification_muted":true,
"date_created":1676662819
}
}`,type:"curl"}],name:"ListTags",group:"Tag_Management",success:{fields:{200:[{group:"200",type:"String",optional:!1,field:"OK",description:"<p>JSON dict</p>"}]}},version:"0.0.0",filename:"Tags.py",groupTitle:"Tag_Management"},{type:"post",url:"/api/v1/watch",title:"Create a single watch",description:'<p>Requires atleast <code>url</code> set, can accept the same structure as <a href="#api-Watch-Watch">get single watch information</a> to create.</p>',examples:[{title:"Example usage:",content:`curlhttp://localhost:5000/api/v1/watch -H"x-api-key:813031b16330fe25e3780cf0325daa45" -H "Content-Type: application/json" -d '{"url": "https://my-nice.com" , "tag": "nice list"}'`,type:"curl"}],name:"Create",group:"Watch",success:{fields:{200:[{group:"200",type:"String",optional:!1,field:"OK",description:"<p>Was created</p>"}],500:[{group:"500",type:"String",optional:!1,field:"ERR",description:"<p>Some other error</p>"}]}},version:"0.0.0",filename:"Watch.py",groupTitle:"Watch"},{type:"delete",url:"/api/v1/watch/:uuid",title:"Delete a watch and related history",examples:[{title:"Example usage:",content:'curl http://localhost:5000/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091 -X DELETE -H"x-api-key:813031b16330fe25e3780cf0325daa45"',type:"curl"}],parameter:{fields:{Parameter:[{group:"Parameter",type:"uuid",optional:!1,field:"uuid",description:"<p>Watch unique ID.</p>"}]}},name:"Delete",group:"Watch",success:{fields:{200:[{group:"200",type:"String",optional:!1,field:"OK",description:"<p>Was deleted</p>"}]}},version:"0.0.0",filename:"Watch.py",groupTitle:"Watch"},{type:"post",url:"/api/v1/import",title:"Import a list of watched URLs",description:"<p>Accepts a line-feed separated list of URLs to import, additionally with ?tag_uuids=(tag id), ?tag=(name), ?proxy={key}, ?dedupe=true (default true) one URL per line.</p>",examples:[{title:"Example usage:",content:'curl http://localhost:5000/api/v1/import --data-binary @list-of-sites.txt -H"x-api-key:8a111a21bc2f8f1dd9b9353bbd46049a"',type:"curl"}],name:"Import",group:"Watch",success:{fields:{200:[{group:"200",type:"List",optional:!1,field:"OK",description:"<p>List of watch UUIDs added</p>"}],500:[{group:"500",type:"String",optional:!1,field:"ERR",description:"<p>Some other error</p>"}]}},version:"0.0.0",filename:"Import.py",groupTitle:"Watch"},{type:"put",url:"/api/v1/watch/:uuid",title:"Update watch information",examples:[{title:"Example usage:",content:`Update (PUT)
curlhttp://localhost:5000/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091 -X PUT -H"x-api-key:813031b16330fe25e3780cf0325daa45" -H "Content-Type: application/json" -d '{"url": "https://my-nice.com" , "tag": "new list"}'`,type:"curl"}],description:'<p>Updates an existing watch using JSON, accepts the same structure as returned in <a href="#api-Watch-Watch">get single watch information</a></p>',parameter:{fields:{Parameter:[{group:"Parameter",type:"uuid",optional:!1,field:"uuid",description:"<p>Watch unique ID.</p>"}]}},name:"Update_a_watch",group:"Watch",success:{fields:{200:[{group:"200",type:"String",optional:!1,field:"OK",description:"<p>Was updated</p>"}],500:[{group:"500",type:"String",optional:!1,field:"ERR",description:"<p>Some other error</p>"}]}},version:"0.0.0",filename:"Watch.py",groupTitle:"Watch"},{type:"get",url:"/api/v1/watch/:uuid",title:"Single watch - get data, recheck, pause, mute.",description:"<p>Retrieve watch information and set muted/paused status</p>",examples:[{title:"Example usage:",content:`curl http://localhost:5000/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091 -H"x-api-key:813031b16330fe25e3780cf0325daa45"
curl"http://localhost:5000/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091?paused=unpaused"-H"x-api-key:813031b16330fe25e3780cf0325daa45"`,type:"curl"}],name:"Watch",group:"Watch",parameter:{fields:{Parameter:[{group:"Parameter",type:"uuid",optional:!1,field:"uuid",description:"<p>Watch unique ID.</p>"}]}},query:[{group:"Query",type:"Boolean",optional:!0,field:"recheck",description:"<p>Recheck this watch <code>recheck=1</code></p>"},{group:"Query",type:"String",optional:!0,field:"paused",description:"<p>=<code>paused</code> or =<code>unpaused</code> , Sets the PAUSED state</p>"},{group:"Query",type:"String",optional:!0,field:"muted",description:"<p>=<code>muted</code> or =<code>unmuted</code> , Sets the MUTE NOTIFICATIONS state</p>"}],success:{fields:{200:[{group:"200",type:"String",optional:!1,field:"OK",description:"<p>When paused/muted/recheck operation OR full JSON object of the watch</p>"},{group:"200",type:"JSON",optional:!1,field:"WatchJSON",description:"<p>JSON Full JSON object of the watch</p>"}]}},version:"0.0.0",filename:"Watch.py",groupTitle:"Watch"},{type:"get",url:"/api/v1/watch/<string:uuid>/history",title:"Get a list of all historical snapshots available for a watch",description:"<p>Requires <code>uuid</code>, returns list</p>",examples:[{title:"Example usage:",content:`curlhttp://localhost:5000/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091/history -H"x-api-key:813031b16330fe25e3780cf0325daa45" -H "Content-Type: application/json"
}`,type:"curl"}],name:"Get_list_of_available_stored_snapshots_for_watch",group:"Watch_History",success:{fields:{200:[{group:"200",type:"String",optional:!1,field:"OK",description:""}],404:[{group:"404",type:"String",optional:!1,field:"ERR",description:"<p>Not found</p>"}]}},version:"0.0.0",filename:"Watch.py",groupTitle:"Watch_History"},{type:"get",url:"/api/v1/watch/<string:uuid>/history/<int:timestamp>",title:"Get single snapshot from watch",description:'<p>Requires watch <code>uuid</code> and <code>timestamp</code>. <code>timestamp</code> of "<code>latest</code>" for latest available snapshot, or <a href="#api-Watch_History-Get_list_of_available_stored_snapshots_for_watch">use the list returned here</a></p>',examples:[{title:"Example usage:",content:'curl http://localhost:5000/api/v1/watch/cc0cfffa-f449-477b-83ea-0caafd1dc091/history/1677092977 -H"x-api-key:813031b16330fe25e3780cf0325daa45" -H "Content-Type: application/json"',type:"curl"}],name:"Get_single_snapshot_content",group:"Watch_History",parameter:{fields:{Parameter:[{group:"Parameter",type:"String",optional:!0,field:"html",description:"<p>Optional Set to =1 to return the last HTML (only stores last 2 snapshots, use <code>latest</code> as timestamp)</p>"}]}},success:{fields:{200:[{group:"200",type:"String",optional:!1,field:"OK",description:""}],404:[{group:"404",type:"String",optional:!1,field:"ERR",description:"<p>Not found</p>"}]}},version:"0.0.0",filename:"Watch.py",groupTitle:"Watch_History"},{type:"get",url:"/api/v1/watch",title:"List watches",description:"<p>Return concise list of available watches and some very basic info</p>",examples:[{title:"Example usage:",content:`curlhttp://localhost:5000/api/v1/watch -H"x-api-key:813031b16330fe25e3780cf0325daa45"
}`,type:"curl"}],parameter:{fields:{Parameter:[{group:"Parameter",type:"String",optional:!0,field:"recheck_all",description:"<p>Optional Set to =1 to force recheck of all watches</p>"},{group:"Parameter",type:"String",optional:!0,field:"tag",description:"<p>Optional name of tag to limit results</p>"}]}},name:"ListWatches",group:"Watch_Management",success:{fields:{200:[{group:"200",type:"String",optional:!1,field:"OK",description:"<p>JSON dict</p>"}]}},version:"0.0.0",filename:"Watch.py",groupTitle:"Watch_Management"},{type:"get",url:"/api/v1/search",title:"Search for watches",description:"<p>Search watches by URL or title text</p>",examples:[{title:"Example usage:",content:`curl"http://localhost:5000/api/v1/search?q=https://example.com/page1"-H"x-api-key:813031b16330fe25e3780cf0325daa45"
curl"http://localhost:5000/api/v1/search?q=https://example.com?partial=true"-H"x-api-key:813031b16330fe25e3780cf0325daa45"`,type:"curl"}],name:"Search",group:"Watch_Management",query:[{group:"Query",type:"String",optional:!1,field:"q",description:"<p>Search query to match against watch URLs and titles</p>"},{group:"Query",type:"String",optional:!0,field:"tag",description:"<p>Optional name of tag to limit results (name not UUID)</p>"},{group:"Query",type:"String",optional:!0,field:"partial",description:"<p>Allow partial matching of URL query</p>"}],success:{fields:{200:[{group:"200",type:"Object",optional:!1,field:"JSON",description:"<p>Object containing matched watches</p>"}]}},version:"0.0.0",filename:"Search.py",groupTitle:"Watch_Management"}];const st={name:"changedetection.io API",version:"0.1.0",description:"Manage your changedetection.io watches via API, requires the `x-api-key` header which is found in the settings UI.",title:"changedetection.io API",url:"",sampleUrl:!1,defaultVersion:"0.0.0",apidoc:"0.3.0",generator:{name:"apidoc",time:"Sun Apr 13 2025 21:49:13 GMT+0200 (Central European Summer Time)",url:"https://apidocjs.com",version:"0.54.0"}};Dt();const Rt=u().compile(d()("#template-header").html()),Ot=u().compile(d()("#template-footer").html()),lt=u().compile(d()("#template-article").html()),St=u().compile(d()("#template-compare-article").html()),ft=u().compile(d()("#template-generator").html()),_t=u().compile(d()("#template-project").html()),Wt=u().compile(d()("#template-sections").html()),zt=u().compile(d()("#template-sidenav").html()),te={aloneDisplay:!1,showRequiredLabels:!1,withGenerator:!0,withCompare:!0};st.template=Object.assign(te,(xt=st.template)!=null?xt:{}),st.template.forceLanguage&&Pt(st.template.forceLanguage);const qt=(0,i.groupBy)(Lt,rt=>rt.group),Jt={};d().each(qt,(rt,q)=>{Jt[rt]=(0,i.groupBy)(q,ct=>ct.name)});const oe=[];d().each(Jt,(rt,q)=>{let ct=[];d().each(q,(ut,At)=>{const Tt=At[0].title;Tt&&ct.push(Tt.toLowerCase()+"#~#"+ut)}),ct.sort(),st.order&&(ct=ot(ct,st.order,"#~#")),ct.forEach(ut=>{const Tt=ut.split("#~#")[1];q[Tt].forEach(vt=>{oe.push(vt)})})}),Lt=oe;let ce={};const Ce={};let ke={};ke[st.version]=1,d().each(Lt,(rt,q)=>{ce[q.group]=1,Ce[q.group]=q.groupTitle||q.group,ke[q.version]=1}),ce=Object.keys(ce),ce.sort(),st.order&&(ce=yt(Ce,st.order)),ke=Object.keys(ke),ke.sort(r().compare),ke.reverse();const xe=[];ce.forEach(rt=>{xe.push({group:rt,isHeader:!0,title:Ce[rt]});let q="";Lt.forEach(ct=>{ct.group===rt&&(q!==ct.name?xe.push({title:ct.title,group:rt,name:ct.name,type:ct.type,version:ct.version,url:ct.url}):xe.push({title:ct.title,group:rt,hidden:!0,name:ct.name,type:ct.type,version:ct.version,url:ct.url}),q=ct.name)})});function sn(rt,q,ct){let ut=!1;if(!q)return ut;const At=q.match(/<h(1|2).*?>(.+?)<\/h(1|2)>/gi);return At&&At.forEach(function(Tt){const vt=Tt.substring(2,3),Ht=Tt.replace(/<.+?>/g,""),pe=Tt.match(/id="api-([^-]+)(?:-(.+))?"/),ae=pe?pe[1]:null,ye=pe?pe[2]:null;vt==="1"&&Ht&&ae&&(rt.splice(ct,0,{group:ae,isHeader:!0,title:Ht,isFixed:!0}),ct++,ut=!0),vt==="2"&&Ht&&ae&&ye&&(rt.splice(ct,0,{group:ae,name:ye,isHeader:!1,title:Ht,isFixed:!1,version:"1.0"}),ct++)}),ut}let Ke;if(st.header&&(Ke=sn(xe,st.header.content,0),Ke||xe.unshift({group:"_header",isHeader:!0,title:st.header.title==null?Et("General"):st.header.title,isFixed:!0})),st.footer){const rt=xe.length;Ke=sn(xe,st.footer.content,xe.length),!Ke&&st.footer.title!=null&&xe.splice(rt,0,{group:"_footer",isHeader:!0,title:st.footer.title,isFixed:!0})}const hn=st.title?st.title:"apiDoc: "+st.name+" - "+st.version;d()(document).attr("title",hn),d()("#loader").remove();const Mn={nav:xe};d()("#sidenav").append(zt(Mn)),d()("#generator").append(ft(st)),(0,i.extend)(st,{versions:ke}),d()("#project").append(_t(st)),st.header&&d()("#header").append(Rt(st.header)),st.footer&&(d()("#footer").append(Ot(st.footer)),st.template.aloneDisplay&&document.getElementById("api-_footer").classList.add("hide"));const Ne={};let _n="";ce.forEach(function(rt){const q=[];let ct="",ut={},At=rt,Tt="";Ne[rt]={},Lt.forEach(function(vt){rt=