Something went wrong. Try again.
[READ-ONLY] Mirror of https://github.com/openstatusHQ/openstatus. ๐ซ Status page with uptime monitoring & API monitoring as code ๐ซ openstatus.dev
bun drizzle-orm monitoring monitoring-as-code nextjs observability on-call open-source shadcn-ui status-page statuspage synthetic-monitoring tinybird turso uptime uptime-checker uptime-monitor
Something went wrong. Try again.
273 kB ยท 7595 lines
YAML
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596openapi: 3.1.0info: description: OpenStatus is a open-source status page platform with global uptime monitoring. The OpenStatus API allows you to interact with the OpenStatus platform programmatically. To get started you need to create an account on https://www.openstatus.dev/ and create an api token in your settings. Requests are rate limited per API key or token (600 per minute, 100 per 10 seconds); exceeding a limit returns HTTP 429 with a Retry-After header. See https://www.openstatus.dev/docs/reference/api-rate-limits. title: OpenStatus API version: v2.0.0 contact: email: ping@openstatus.dev url: https://www.openstatus.devservers: - url: https://api.openstatus.dev description: ProductionexternalDocs: description: OpenStatus Documentation url: https://www.openstatus.dev/docscomponents: responses: RateLimited: description: Rate limit exceeded (Connect code resource_exhausted). Retry after the number of seconds in the Retry-After header. See https://www.openstatus.dev/docs/reference/api-rate-limits. headers: Retry-After: description: Seconds to wait before retrying. schema: type: integer example: 7 content: application/json: schema: $ref: '#/components/schemas/connect.error' securitySchemes: ApiKeyAuth: type: apiKey in: header name: x-openstatus-key schemas: connect.error: type: object properties: code: type: string examples: - not_found enum: - canceled - unknown - invalid_argument - deadline_exceeded - not_found - already_exists - permission_denied - resource_exhausted - failed_precondition - aborted - out_of_range - unimplemented - internal - unavailable - data_loss - unauthenticated description: The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code]. message: type: string description: A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client. details: type: array items: $ref: '#/components/schemas/connect.error_details.Any' description: A list of messages that carry the error details. There is no limit on the number of messages. title: Connect Error additionalProperties: true description: 'Error type returned by Connect: https://connectrpc.com/docs/go/errors/#http-representation' connect.error_details.Any: type: object properties: type: type: string description: 'A URL that acts as a globally unique identifier for the type of the serialized message. For example: `type.googleapis.com/google.rpc.ErrorInfo`. This is used to determine the schema of the data in the `value` field and is the discriminator for the `debug` field.' value: type: string format: binary description: The Protobuf message, serialized as bytes and base64-encoded. The specific message type is identified by the `type` field. debug: oneOf: - type: object title: Any additionalProperties: true description: Detailed error information. discriminator: propertyName: type title: Debug description: Deserialized error detail payload. The 'type' field indicates the schema. This field is for easier debugging and should not be relied upon for application logic. additionalProperties: true description: Contains an arbitrary serialized message along with a @type that describes the type of the serialized message, with an additional debug field for ConnectRPC error details. openstatus.health.v1.CheckRequest: type: object properties: service: type: string title: service description: Optional service name to check. If empty, checks overall service health. title: CheckRequest additionalProperties: false description: CheckRequest is the request message for health checks. openstatus.health.v1.CheckResponse: type: object properties: status: title: status description: The serving status of the service. $ref: '#/components/schemas/openstatus.health.v1.CheckResponse.ServingStatus' title: CheckResponse additionalProperties: false description: CheckResponse is the response message for health checks. openstatus.health.v1.CheckResponse.ServingStatus: type: string title: ServingStatus enum: - SERVING_STATUS_UNSPECIFIED - SERVING_STATUS_SERVING - SERVING_STATUS_NOT_SERVING description: ServingStatus represents the health status of the service. openstatus.maintenance.v1.CreateMaintenanceRequest: type: object properties: title: type: string examples: - Database Migration title: title maxLength: 256 minLength: 1 description: Title of the maintenance (required, 1-256 characters). message: type: string title: message minLength: 1 description: Message describing the maintenance (required). from: type: string examples: - "2024-03-01T02:00:00Z" title: from pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,9})?(Z|[+-]\d{2}:\d{2})$ description: Start time of the maintenance window (RFC 3339 format, required). to: type: string examples: - "2024-03-01T06:00:00Z" title: to pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,9})?(Z|[+-]\d{2}:\d{2})$ description: End time of the maintenance window (RFC 3339 format, required). pageId: type: string title: page_id minLength: 1 description: Page ID to associate with this maintenance (required). pageComponentIds: type: array items: type: string title: page_component_ids description: Page component IDs to associate with this maintenance (optional). notify: type: - boolean - "null" title: notify description: Whether to notify subscribers about this maintenance (optional, defaults to false). title: CreateMaintenanceRequest additionalProperties: false description: CreateMaintenanceRequest is the request to create a new maintenance window. openstatus.maintenance.v1.CreateMaintenanceResponse: type: object properties: maintenance: title: maintenance description: The created maintenance. $ref: '#/components/schemas/openstatus.maintenance.v1.Maintenance' title: CreateMaintenanceResponse additionalProperties: false description: CreateMaintenanceResponse is the response after creating a maintenance window. openstatus.maintenance.v1.DeleteMaintenanceRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the maintenance to delete (required). title: DeleteMaintenanceRequest additionalProperties: false description: DeleteMaintenanceRequest is the request to delete a maintenance window. openstatus.maintenance.v1.DeleteMaintenanceResponse: type: object properties: success: type: boolean title: success description: Whether the deletion was successful. title: DeleteMaintenanceResponse additionalProperties: false description: DeleteMaintenanceResponse is the response after deleting a maintenance window. openstatus.maintenance.v1.GetMaintenanceRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the maintenance to retrieve (required). title: GetMaintenanceRequest additionalProperties: false description: GetMaintenanceRequest is the request to get a maintenance window by ID. openstatus.maintenance.v1.GetMaintenanceResponse: type: object properties: maintenance: title: maintenance description: The requested maintenance. $ref: '#/components/schemas/openstatus.maintenance.v1.Maintenance' title: GetMaintenanceResponse additionalProperties: false description: GetMaintenanceResponse is the response containing the maintenance window. openstatus.maintenance.v1.ListMaintenancesRequest: type: object properties: limit: type: - integer - "null" title: limit maximum: 100 minimum: 1 format: int32 description: Maximum number of maintenances to return (1-100, defaults to 50). offset: type: - integer - "null" title: offset minimum: 0 format: int32 description: Number of maintenances to skip for pagination (defaults to 0). pageId: type: - string - "null" title: page_id description: Filter by page ID (optional). title: ListMaintenancesRequest additionalProperties: false description: ListMaintenancesRequest is the request to list maintenance windows. openstatus.maintenance.v1.ListMaintenancesResponse: type: object properties: maintenances: type: array items: $ref: '#/components/schemas/openstatus.maintenance.v1.MaintenanceSummary' title: maintenances description: List of maintenances. totalSize: type: integer title: total_size format: int32 description: Total number of maintenances matching the filter. title: ListMaintenancesResponse additionalProperties: false description: ListMaintenancesResponse is the response containing maintenance window summaries. openstatus.maintenance.v1.Maintenance: type: object properties: id: type: string title: id description: Unique identifier for the maintenance. title: type: string title: title description: Title of the maintenance. message: type: string title: message description: Message describing the maintenance. from: type: string title: from description: Start time of the maintenance window (RFC 3339 format). to: type: string title: to description: End time of the maintenance window (RFC 3339 format). pageId: type: string title: page_id description: ID of the page this maintenance is associated with. pageComponentIds: type: array items: type: string title: page_component_ids description: IDs of affected page components. createdAt: type: string title: created_at description: Timestamp when the maintenance was created (RFC 3339 format). updatedAt: type: string title: updated_at description: Timestamp when the maintenance was last updated (RFC 3339 format). title: Maintenance additionalProperties: false description: Maintenance represents a maintenance window with full details. openstatus.maintenance.v1.MaintenanceSummary: type: object properties: id: type: string title: id description: Unique identifier for the maintenance. title: type: string title: title description: Title of the maintenance. message: type: string title: message description: Message describing the maintenance. from: type: string title: from description: Start time of the maintenance window (RFC 3339 format). to: type: string title: to description: End time of the maintenance window (RFC 3339 format). pageId: type: string title: page_id description: ID of the page this maintenance is associated with. pageComponentIds: type: array items: type: string title: page_component_ids description: IDs of affected page components. createdAt: type: string title: created_at description: Timestamp when the maintenance was created (RFC 3339 format). updatedAt: type: string title: updated_at description: Timestamp when the maintenance was last updated (RFC 3339 format). title: MaintenanceSummary additionalProperties: false description: MaintenanceSummary represents metadata for a maintenance window (used in list responses). openstatus.maintenance.v1.UpdateMaintenanceRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the maintenance to update (required). title: type: - string - "null" title: title maxLength: 256 minLength: 1 description: New title for the maintenance (optional). message: type: - string - "null" title: message description: New message for the maintenance (optional). from: type: - string - "null" title: from pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,9})?(Z|[+-]\d{2}:\d{2})$ description: New start time (RFC 3339 format, optional). to: type: - string - "null" title: to pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,9})?(Z|[+-]\d{2}:\d{2})$ description: New end time (RFC 3339 format, optional). pageId: type: - string - "null" title: page_id description: 'Deprecated: page_id is now derived from page_component_ids.' deprecated: true pageComponentIds: type: array items: type: string title: page_component_ids description: New list of page component IDs (optional, replaces existing list). updatePageComponentIds: type: - boolean - "null" title: update_page_component_ids description: |- Set to true to update page component associations. When true, page_component_ids replaces the existing list (empty clears all). When false or unset, page_component_ids is ignored and existing associations are preserved. title: UpdateMaintenanceRequest additionalProperties: false description: UpdateMaintenanceRequest is the request to update a maintenance window. openstatus.maintenance.v1.UpdateMaintenanceResponse: type: object properties: maintenance: title: maintenance description: The updated maintenance. $ref: '#/components/schemas/openstatus.maintenance.v1.Maintenance' title: UpdateMaintenanceResponse additionalProperties: false description: UpdateMaintenanceResponse is the response after updating a maintenance window. openstatus.monitor.v1.BodyAssertion: type: object properties: target: type: string title: target description: Target value to compare against. comparator: not: enum: - STRING_COMPARATOR_UNSPECIFIED title: comparator description: Comparison operation (required, must not be UNSPECIFIED). $ref: '#/components/schemas/openstatus.monitor.v1.StringComparator' title: BodyAssertion additionalProperties: false description: BodyAssertion defines an assertion for response body content. openstatus.monitor.v1.CreateDNSMonitorRequest: type: object properties: monitor: title: monitor description: Monitor configuration (required). $ref: '#/components/schemas/openstatus.monitor.v1.DNSMonitor' title: CreateDNSMonitorRequest required: - monitor additionalProperties: false description: CreateDNSMonitorRequest is the request to create a new DNS monitor. openstatus.monitor.v1.CreateDNSMonitorResponse: type: object properties: monitor: title: monitor description: The created monitor with assigned ID. $ref: '#/components/schemas/openstatus.monitor.v1.DNSMonitor' title: CreateDNSMonitorResponse additionalProperties: false description: CreateDNSMonitorResponse is the response after creating a DNS monitor. openstatus.monitor.v1.CreateGRPCMonitorRequest: type: object properties: monitor: title: monitor description: Monitor configuration (required). $ref: '#/components/schemas/openstatus.monitor.v1.GRPCMonitor' title: CreateGRPCMonitorRequest required: - monitor additionalProperties: false description: CreateGRPCMonitorRequest is the request to create a new gRPC monitor. openstatus.monitor.v1.CreateGRPCMonitorResponse: type: object properties: monitor: title: monitor description: The created monitor with assigned ID. $ref: '#/components/schemas/openstatus.monitor.v1.GRPCMonitor' title: CreateGRPCMonitorResponse additionalProperties: false description: CreateGRPCMonitorResponse is the response after creating a gRPC monitor. openstatus.monitor.v1.CreateHTTPMonitorRequest: type: object properties: monitor: title: monitor description: Monitor configuration (required). $ref: '#/components/schemas/openstatus.monitor.v1.HTTPMonitor' title: CreateHTTPMonitorRequest required: - monitor additionalProperties: false description: CreateHTTPMonitorRequest is the request to create a new HTTP monitor. openstatus.monitor.v1.CreateHTTPMonitorResponse: type: object properties: monitor: title: monitor description: The created monitor with assigned ID. $ref: '#/components/schemas/openstatus.monitor.v1.HTTPMonitor' title: CreateHTTPMonitorResponse additionalProperties: false description: CreateHTTPMonitorResponse is the response after creating an HTTP monitor. openstatus.monitor.v1.CreateICMPMonitorRequest: type: object properties: monitor: title: monitor description: Monitor configuration (required). $ref: '#/components/schemas/openstatus.monitor.v1.ICMPMonitor' title: CreateICMPMonitorRequest required: - monitor additionalProperties: false description: CreateICMPMonitorRequest is the request to create a new ICMP monitor. openstatus.monitor.v1.CreateICMPMonitorResponse: type: object properties: monitor: title: monitor description: The created monitor with assigned ID. $ref: '#/components/schemas/openstatus.monitor.v1.ICMPMonitor' title: CreateICMPMonitorResponse additionalProperties: false description: CreateICMPMonitorResponse is the response after creating an ICMP monitor. openstatus.monitor.v1.CreateTCPMonitorRequest: type: object properties: monitor: title: monitor description: Monitor configuration (required). $ref: '#/components/schemas/openstatus.monitor.v1.TCPMonitor' title: CreateTCPMonitorRequest required: - monitor additionalProperties: false description: CreateTCPMonitorRequest is the request to create a new TCP monitor. openstatus.monitor.v1.CreateTCPMonitorResponse: type: object properties: monitor: title: monitor description: The created monitor with assigned ID. $ref: '#/components/schemas/openstatus.monitor.v1.TCPMonitor' title: CreateTCPMonitorResponse additionalProperties: false description: CreateTCPMonitorResponse is the response after creating a TCP monitor. openstatus.monitor.v1.DNSMonitor: type: object properties: id: type: string title: id description: Unique identifier for the monitor (output only for create requests). name: type: string examples: - DNS Resolution Check title: name maxLength: 256 minLength: 1 description: Name of the monitor (required, max 256 characters). uri: type: string examples: - example.com title: uri maxLength: 2048 minLength: 1 description: Domain to resolve (required, max 2048 characters). periodicity: not: enum: - PERIODICITY_UNSPECIFIED title: periodicity description: Check periodicity (required). $ref: '#/components/schemas/openstatus.monitor.v1.Periodicity' timeout: type: - integer - string title: timeout maximum: 120000 minimum: 0 format: int64 description: Timeout in milliseconds (0-120000, defaults to 45000). degradedAt: type: - integer - string - "null" title: degraded_at maximum: 120000 minimum: 0 format: int64 description: Latency threshold for degraded status in milliseconds (optional, 0-120000). retry: type: - integer - string title: retry maximum: 10 minimum: 0 format: int64 description: Number of retry attempts (0-10, defaults to 3). recordAssertions: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.RecordAssertion' title: record_assertions maxItems: 10 description: DNS record assertions for validation. description: type: - string - "null" title: description maxLength: 1024 description: Description of the monitor (optional). active: type: - boolean - "null" title: active description: Whether the monitor is active (defaults to false). public: type: - boolean - "null" title: public description: Whether the monitor is publicly visible (defaults to false). regions: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.Region' title: regions maxItems: 28 description: Geographic regions to run checks from. openTelemetry: title: open_telemetry description: OpenTelemetry configuration for exporting metrics. $ref: '#/components/schemas/openstatus.monitor.v1.OpenTelemetryConfig' status: title: status description: Current operational status of the monitor. $ref: '#/components/schemas/openstatus.monitor.v1.MonitorStatus' privateLocationIds: type: array items: type: string readOnly: true title: private_location_ids description: IDs of private locations that run this monitor. Read-only. readOnly: true title: DNSMonitor additionalProperties: false description: DNSMonitor defines the configuration for a DNS monitor. openstatus.monitor.v1.DeleteMonitorRequest: type: object properties: id: type: string title: id minLength: 1 description: Monitor ID to delete (required). title: DeleteMonitorRequest additionalProperties: false description: DeleteMonitorRequest is the request to delete a monitor. openstatus.monitor.v1.DeleteMonitorResponse: type: object properties: success: type: boolean title: success description: Whether the deletion was successful. title: DeleteMonitorResponse additionalProperties: false description: DeleteMonitorResponse is the response after deleting a monitor. openstatus.monitor.v1.GRPCMonitor: type: object properties: id: type: string title: id description: Unique identifier for the monitor (output only for create requests). name: type: string examples: - Checkout gRPC title: name maxLength: 256 minLength: 1 description: Name of the monitor (required, max 256 characters). uri: type: string examples: - api.example.com:443 title: uri maxLength: 2048 minLength: 1 pattern: ^(\[[0-9a-fA-F:]+\]|[^:/\s]+):[0-9]{1,5}$ description: Target in "host:port" form. IPv6 addresses must be bracketed. periodicity: not: enum: - PERIODICITY_UNSPECIFIED title: periodicity description: Check periodicity (required). $ref: '#/components/schemas/openstatus.monitor.v1.Periodicity' timeout: type: - integer - string title: timeout maximum: 120000 minimum: 0 format: int64 description: Timeout in milliseconds (0-120000, defaults to 45000). degradedAt: type: - integer - string - "null" title: degraded_at maximum: 120000 minimum: 0 format: int64 description: Latency threshold for degraded status in milliseconds (optional, 0-120000). retry: type: - integer - string title: retry maximum: 10 minimum: 0 format: int64 description: Number of retry attempts (0-10, defaults to 3). description: type: - string - "null" title: description maxLength: 1024 description: Description of the monitor (optional). active: type: - boolean - "null" title: active description: Whether the monitor is active (defaults to false). public: type: - boolean - "null" title: public description: Whether the monitor is publicly visible (defaults to false). regions: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.Region' title: regions maxItems: 28 description: Geographic regions to run checks from. openTelemetry: title: open_telemetry description: OpenTelemetry configuration for exporting metrics. $ref: '#/components/schemas/openstatus.monitor.v1.OpenTelemetryConfig' status: title: status description: Current operational status of the monitor. $ref: '#/components/schemas/openstatus.monitor.v1.MonitorStatus' privateLocationIds: type: array items: type: string readOnly: true title: private_location_ids description: IDs of private locations that run this monitor. Read-only. readOnly: true service: type: - string - "null" examples: - checkout.v1.CheckoutService title: service maxLength: 512 description: Service name passed to Health/Check. Empty means overall server health. tlsMode: oneOf: - $ref: '#/components/schemas/openstatus.monitor.v1.GRPCTlsMode' - type: "null" title: tls_mode description: How the connection to the target is secured. Defaults to TLS. metadata: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.Headers' title: metadata maxItems: 20 description: Metadata sent with the health check request. title: GRPCMonitor additionalProperties: false description: |- GRPCMonitor defines the configuration for a gRPC health check monitor. The probe calls grpc.health.v1.Health/Check on the target. openstatus.monitor.v1.GRPCTlsMode: type: string title: GRPCTlsMode enum: - GRPC_TLS_MODE_UNSPECIFIED - GRPC_TLS_MODE_TLS - GRPC_TLS_MODE_PLAINTEXT - GRPC_TLS_MODE_TLS_INSECURE description: GRPCTlsMode selects how the probe secures its connection to the target. openstatus.monitor.v1.GetMonitorHTTPResponseLogRequest: type: object properties: id: type: string title: id minLength: 1 description: Monitor ID to get a response log for (required). logId: type: string title: log_id minLength: 1 description: Response log ID to retrieve (required). title: GetMonitorHTTPResponseLogRequest additionalProperties: false description: GetMonitorHTTPResponseLogRequest is the request to get one response log. openstatus.monitor.v1.GetMonitorHTTPResponseLogResponse: type: object properties: log: title: log description: Response log details. $ref: '#/components/schemas/openstatus.monitor.v1.HTTPResponseLogDetail' title: GetMonitorHTTPResponseLogResponse additionalProperties: false description: GetMonitorHTTPResponseLogResponse is the response containing one response log. openstatus.monitor.v1.GetMonitorRequest: type: object properties: id: type: string title: id minLength: 1 description: Monitor ID to retrieve (required). title: GetMonitorRequest additionalProperties: false description: GetMonitorRequest is the request to get a single monitor by ID. openstatus.monitor.v1.GetMonitorResponse: type: object properties: monitor: title: monitor description: The monitor configuration (one of HTTP, TCP, DNS, ICMP, or gRPC). $ref: '#/components/schemas/openstatus.monitor.v1.MonitorConfig' title: GetMonitorResponse additionalProperties: false description: GetMonitorResponse is the response containing the monitor. openstatus.monitor.v1.GetMonitorStatusRequest: type: object properties: id: type: string title: id minLength: 1 description: Monitor ID to get status for (required). title: GetMonitorStatusRequest additionalProperties: false description: GetMonitorStatusRequest is the request to get the status of all regions for a monitor. openstatus.monitor.v1.GetMonitorStatusResponse: type: object properties: id: type: string title: id description: Monitor ID. regions: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.RegionStatus' title: regions description: Status for each region. title: GetMonitorStatusResponse additionalProperties: false description: GetMonitorStatusResponse is the response containing the status of all regions for a monitor. openstatus.monitor.v1.GetMonitorSummaryRequest: type: object properties: id: type: string title: id minLength: 1 description: Monitor ID to get summary for (required). timeRange: title: time_range description: Time range for metrics aggregation (defaults to 1 day if unspecified). $ref: '#/components/schemas/openstatus.monitor.v1.TimeRange' regions: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.Region' title: regions maxItems: 28 description: Optional filter by regions. If empty, returns metrics for all regions. title: GetMonitorSummaryRequest additionalProperties: false description: GetMonitorSummaryRequest is the request to get aggregated metrics for a monitor. openstatus.monitor.v1.GetMonitorSummaryResponse: type: object properties: id: type: string title: id description: Monitor ID. lastPingAt: type: string title: last_ping_at description: Timestamp of the last check in RFC 3339 format. totalSuccessful: type: - integer - string title: total_successful format: int64 description: Total number of successful requests. totalDegraded: type: - integer - string title: total_degraded format: int64 description: Total number of degraded requests. totalFailed: type: - integer - string title: total_failed format: int64 description: Total number of failed requests. p50: type: - integer - string title: p50 format: int64 description: 50th percentile (median) latency in milliseconds. p75: type: - integer - string title: p75 format: int64 description: 75th percentile latency in milliseconds. p90: type: - integer - string title: p90 format: int64 description: 90th percentile latency in milliseconds. p95: type: - integer - string title: p95 format: int64 description: 95th percentile latency in milliseconds. p99: type: - integer - string title: p99 format: int64 description: 99th percentile latency in milliseconds. timeRange: title: time_range description: Time range used for the metrics. $ref: '#/components/schemas/openstatus.monitor.v1.TimeRange' regions: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.Region' title: regions description: Regions included in the metrics. title: GetMonitorSummaryResponse additionalProperties: false description: GetMonitorSummaryResponse is the response containing aggregated metrics for a monitor. openstatus.monitor.v1.HTTPMethod: type: string title: HTTPMethod enum: - HTTP_METHOD_UNSPECIFIED - HTTP_METHOD_GET - HTTP_METHOD_POST - HTTP_METHOD_HEAD - HTTP_METHOD_PUT - HTTP_METHOD_PATCH - HTTP_METHOD_DELETE - HTTP_METHOD_TRACE - HTTP_METHOD_CONNECT - HTTP_METHOD_OPTIONS description: HTTP methods supported for monitors. openstatus.monitor.v1.HTTPMonitor: type: object properties: id: type: string title: id description: Unique identifier for the monitor (output only for create requests). name: type: string examples: - Production API Health Check title: name maxLength: 256 minLength: 1 description: Name of the monitor (required, max 256 characters). url: type: string examples: - https://api.example.com/health title: url maxLength: 2048 minLength: 1 format: uri description: URL to monitor (required, max 2048 characters). periodicity: not: enum: - PERIODICITY_UNSPECIFIED title: periodicity description: Check periodicity (required). $ref: '#/components/schemas/openstatus.monitor.v1.Periodicity' method: not: enum: - HTTP_METHOD_UNSPECIFIED title: method description: HTTP method to use (defaults to GET). $ref: '#/components/schemas/openstatus.monitor.v1.HTTPMethod' body: type: string examples: - map[key:value] title: body description: Request body (optional). timeout: type: - integer - string title: timeout maximum: 120000 minimum: 0 format: int64 description: Timeout in milliseconds (0-120000, defaults to 45000). degradedAt: type: - integer - string - "null" title: degraded_at maximum: 120000 minimum: 0 format: int64 description: Latency threshold for degraded status in milliseconds (optional, 0-120000). retry: type: - integer - string title: retry maximum: 10 minimum: 0 format: int64 description: Number of retry attempts (0-10, defaults to 3). followRedirects: type: - boolean - "null" title: follow_redirects description: Whether to follow HTTP redirects (defaults to true when not specified). headers: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.Headers' title: headers maxItems: 20 description: Custom headers for the request. statusCodeAssertions: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.StatusCodeAssertion' title: status_code_assertions maxItems: 10 description: Status code assertions for the response. bodyAssertions: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.BodyAssertion' title: body_assertions maxItems: 10 description: Body content assertions for the response. headerAssertions: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.HeaderAssertion' title: header_assertions maxItems: 10 description: Header assertions for the response. description: type: - string - "null" title: description maxLength: 1024 description: Description of the monitor (optional). active: type: - boolean - "null" title: active description: Whether the monitor is active (defaults to false). public: type: - boolean - "null" title: public description: Whether the monitor is publicly visible (defaults to false). regions: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.Region' title: regions maxItems: 28 description: Geographic regions to run checks from. openTelemetry: title: open_telemetry description: OpenTelemetry configuration for exporting metrics. $ref: '#/components/schemas/openstatus.monitor.v1.OpenTelemetryConfig' status: title: status description: Current operational status of the monitor. $ref: '#/components/schemas/openstatus.monitor.v1.MonitorStatus' privateLocationIds: type: array items: type: string readOnly: true title: private_location_ids description: IDs of private locations that run this monitor. Read-only. readOnly: true title: HTTPMonitor additionalProperties: false description: HTTPMonitor defines the configuration for an HTTP monitor. openstatus.monitor.v1.HTTPResponseLogDetail: type: object properties: log: title: log description: Compact response log fields. $ref: '#/components/schemas/openstatus.monitor.v1.HTTPResponseLogListItem' url: type: string title: url description: Checked URL. error: type: boolean title: error description: Whether the check errored. message: type: - string - "null" title: message description: Error message, when present. headers: type: object title: headers additionalProperties: type: string title: value description: Redacted response headers. assertions: type: - string - "null" title: assertions description: Serialized assertions used for the check. title: HTTPResponseLogDetail additionalProperties: false description: HTTPResponseLogDetail contains full response log debugging data. openstatus.monitor.v1.HTTPResponseLogDetail.HeadersEntry: type: object properties: key: type: string title: key value: type: string title: value title: HeadersEntry additionalProperties: false openstatus.monitor.v1.HTTPResponseLogListItem: type: object properties: id: type: - string - "null" title: id description: Response log ID. latency: type: integer title: latency format: int32 description: Latency in milliseconds. statusCode: type: - integer - "null" title: status_code format: int32 description: HTTP status code. monitorId: type: string title: monitor_id description: Monitor ID. requestStatus: title: request_status description: Request status classification. $ref: '#/components/schemas/openstatus.monitor.v1.HTTPResponseLogRequestStatus' region: title: region description: Region where the check ran. $ref: '#/components/schemas/openstatus.monitor.v1.Region' cronTimestamp: type: - integer - string title: cron_timestamp format: int64 description: Cron bucket timestamp in Unix milliseconds. trigger: title: trigger description: Check trigger. $ref: '#/components/schemas/openstatus.monitor.v1.HTTPResponseLogTrigger' timestamp: type: - integer - string title: timestamp format: int64 description: Response timestamp in Unix milliseconds. timing: oneOf: - $ref: '#/components/schemas/openstatus.monitor.v1.HTTPResponseLogTiming' - type: "null" title: timing description: Timing phases. title: HTTPResponseLogListItem additionalProperties: false description: HTTPResponseLogListItem is a compact response log entry. openstatus.monitor.v1.HTTPResponseLogPagination: type: object properties: limit: type: integer title: limit format: int32 description: Requested page size. offset: type: integer title: offset format: int32 description: Requested offset. hasMore: type: boolean title: has_more description: Whether more logs are available. nextOffset: type: - integer - "null" title: next_offset format: int32 description: Next offset if more logs are available. title: HTTPResponseLogPagination additionalProperties: false description: HTTPResponseLogPagination contains offset pagination metadata. openstatus.monitor.v1.HTTPResponseLogRequestStatus: type: string title: HTTPResponseLogRequestStatus enum: - HTTP_RESPONSE_LOG_REQUEST_STATUS_UNSPECIFIED - HTTP_RESPONSE_LOG_REQUEST_STATUS_SUCCESS - HTTP_RESPONSE_LOG_REQUEST_STATUS_ERROR - HTTP_RESPONSE_LOG_REQUEST_STATUS_DEGRADED description: HTTPResponseLogRequestStatus is the result classification for an HTTP response log. openstatus.monitor.v1.HTTPResponseLogTiming: type: object properties: dns: type: integer title: dns format: int32 description: DNS lookup duration. connect: type: integer title: connect format: int32 description: TCP connection duration. tls: type: integer title: tls format: int32 description: TLS handshake duration. ttfb: type: integer title: ttfb format: int32 description: Time to first byte duration. transfer: type: integer title: transfer format: int32 description: Response transfer duration. title: HTTPResponseLogTiming additionalProperties: false description: HTTPResponseLogTiming contains calculated timing phases in milliseconds. openstatus.monitor.v1.HTTPResponseLogTrigger: type: string title: HTTPResponseLogTrigger enum: - HTTP_RESPONSE_LOG_TRIGGER_UNSPECIFIED - HTTP_RESPONSE_LOG_TRIGGER_CRON - HTTP_RESPONSE_LOG_TRIGGER_API description: HTTPResponseLogTrigger describes what started the monitor check. openstatus.monitor.v1.HeaderAssertion: type: object properties: target: type: string title: target description: Target value to compare against. comparator: not: enum: - STRING_COMPARATOR_UNSPECIFIED title: comparator description: Comparison operation (required, must not be UNSPECIFIED). $ref: '#/components/schemas/openstatus.monitor.v1.StringComparator' key: type: string title: key minLength: 1 description: Header key to check (required). title: HeaderAssertion additionalProperties: false description: HeaderAssertion defines an assertion for response headers. openstatus.monitor.v1.Headers: type: object properties: key: type: string examples: - Authorization title: key minLength: 1 description: Header name. value: type: string examples: - Bearer token123 title: value description: Header value. title: Headers additionalProperties: false description: Headers represents a key-value pair for HTTP headers. openstatus.monitor.v1.ICMPMonitor: type: object properties: id: type: string title: id description: Unique identifier for the monitor (output only for create requests). name: type: string examples: - Ping Gateway title: name maxLength: 256 minLength: 1 description: Name of the monitor (required, max 256 characters). uri: type: string examples: - 1.1.1.1 title: uri maxLength: 2048 minLength: 1 description: URI to monitor in format "host or IP" (required, max 2048 characters). periodicity: not: enum: - PERIODICITY_UNSPECIFIED title: periodicity description: Check periodicity (required). $ref: '#/components/schemas/openstatus.monitor.v1.Periodicity' timeout: type: - integer - string title: timeout maximum: 120000 minimum: 0 format: int64 description: Timeout in milliseconds (0-120000, defaults to 45000). degradedAt: type: - integer - string - "null" title: degraded_at maximum: 120000 minimum: 0 format: int64 description: Latency threshold for degraded status in milliseconds (optional, 0-120000). retry: type: - integer - string title: retry maximum: 10 minimum: 0 format: int64 description: Number of retry attempts (0-10, defaults to 3). description: type: - string - "null" title: description maxLength: 1024 description: Description of the monitor (optional). active: type: - boolean - "null" title: active description: Whether the monitor is active (defaults to false). public: type: - boolean - "null" title: public description: Whether the monitor is publicly visible (defaults to false). regions: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.Region' title: regions maxItems: 28 description: Geographic regions to run checks from. openTelemetry: title: open_telemetry description: OpenTelemetry configuration for exporting metrics. $ref: '#/components/schemas/openstatus.monitor.v1.OpenTelemetryConfig' status: title: status description: Current operational status of the monitor. $ref: '#/components/schemas/openstatus.monitor.v1.MonitorStatus' privateLocationIds: type: array items: type: string readOnly: true title: private_location_ids description: IDs of private locations that run this monitor. Read-only. readOnly: true title: ICMPMonitor additionalProperties: false description: ICMPMonitor defines the configuration for a ICMP monitor. openstatus.monitor.v1.ListMonitorHTTPResponseLogsRequest: type: object properties: id: type: string title: id minLength: 1 description: Monitor ID to list response logs for (required). fromTimestamp: type: - integer - string - "null" title: from_timestamp format: int64 description: Start of the response log window as Unix milliseconds within the 14-day retention window. toTimestamp: type: - integer - string - "null" title: to_timestamp format: int64 description: End of the response log window as Unix milliseconds within the 14-day retention window. limit: type: - integer - "null" title: limit maximum: 100 minimum: 1 format: int32 description: Maximum number of logs to return (1-100, defaults to 25). offset: type: - integer - "null" title: offset minimum: 0 format: int32 description: Number of logs to skip for pagination (defaults to 0). title: ListMonitorHTTPResponseLogsRequest additionalProperties: false description: ListMonitorHTTPResponseLogsRequest is the request to list response logs within the 14-day HTTP response-log window. openstatus.monitor.v1.ListMonitorHTTPResponseLogsResponse: type: object properties: logs: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.HTTPResponseLogListItem' title: logs description: Response logs. pagination: title: pagination description: Pagination metadata. $ref: '#/components/schemas/openstatus.monitor.v1.HTTPResponseLogPagination' title: ListMonitorHTTPResponseLogsResponse additionalProperties: false description: ListMonitorHTTPResponseLogsResponse is the response containing response logs. openstatus.monitor.v1.ListMonitorsRequest: type: object properties: limit: type: - integer - "null" title: limit maximum: 100 minimum: 1 format: int32 description: Maximum number of monitors to return (1-100, defaults to 50). offset: type: - integer - "null" title: offset minimum: 0 format: int32 description: Number of monitors to skip for pagination (defaults to 0). title: ListMonitorsRequest additionalProperties: false description: ListMonitorsRequest is the request to list monitors. openstatus.monitor.v1.ListMonitorsResponse: type: object properties: httpMonitors: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.HTTPMonitor' title: http_monitors description: HTTP monitors in the workspace. tcpMonitors: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.TCPMonitor' title: tcp_monitors description: TCP monitors in the workspace. dnsMonitors: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.DNSMonitor' title: dns_monitors description: DNS monitors in the workspace. icmpMonitors: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.ICMPMonitor' title: icmp_monitors description: ICMP monitors in the workspace. grpcMonitors: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.GRPCMonitor' title: grpc_monitors description: gRPC monitors in the workspace. totalSize: type: integer title: total_size format: int32 description: Total number of monitors across all types. title: ListMonitorsResponse additionalProperties: false description: ListMonitorsResponse is the response containing a list of monitors. openstatus.monitor.v1.MonitorConfig: type: object oneOf: - type: object properties: dns: title: dns description: DNS monitor configuration. $ref: '#/components/schemas/openstatus.monitor.v1.DNSMonitor' title: dns required: - dns - type: object properties: grpc: title: grpc description: gRPC monitor configuration. $ref: '#/components/schemas/openstatus.monitor.v1.GRPCMonitor' title: grpc required: - grpc - type: object properties: http: title: http description: HTTP monitor configuration. $ref: '#/components/schemas/openstatus.monitor.v1.HTTPMonitor' title: http required: - http - type: object properties: icmp: title: icmp description: ICMP monitor configuration. $ref: '#/components/schemas/openstatus.monitor.v1.ICMPMonitor' title: icmp required: - icmp - type: object properties: tcp: title: tcp description: TCP monitor configuration. $ref: '#/components/schemas/openstatus.monitor.v1.TCPMonitor' title: tcp required: - tcp title: MonitorConfig additionalProperties: false description: MonitorConfig represents the type-specific configuration for a monitor. openstatus.monitor.v1.MonitorStatus: type: string title: MonitorStatus enum: - MONITOR_STATUS_UNSPECIFIED - MONITOR_STATUS_ACTIVE - MONITOR_STATUS_DEGRADED - MONITOR_STATUS_ERROR description: MonitorStatus represents the operational status of a monitor. openstatus.monitor.v1.NumberComparator: type: string title: NumberComparator enum: - NUMBER_COMPARATOR_UNSPECIFIED - NUMBER_COMPARATOR_EQUAL - NUMBER_COMPARATOR_NOT_EQUAL - NUMBER_COMPARATOR_GREATER_THAN - NUMBER_COMPARATOR_GREATER_THAN_OR_EQUAL - NUMBER_COMPARATOR_LESS_THAN - NUMBER_COMPARATOR_LESS_THAN_OR_EQUAL description: NumberComparator defines comparison operations for numeric values. openstatus.monitor.v1.OpenTelemetryConfig: type: object properties: endpoint: type: string title: endpoint maxLength: 2048 description: OTEL endpoint URL. headers: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.Headers' title: headers maxItems: 20 description: Custom headers for OTEL requests. title: OpenTelemetryConfig additionalProperties: false description: OpenTelemetry configuration for exporting metrics. openstatus.monitor.v1.Periodicity: type: string title: Periodicity enum: - PERIODICITY_UNSPECIFIED - PERIODICITY_30S - PERIODICITY_1M - PERIODICITY_5M - PERIODICITY_10M - PERIODICITY_30M - PERIODICITY_1H description: Monitor periodicity options. openstatus.monitor.v1.RecordAssertion: type: object properties: record: type: string title: record enum: - A - AAAA - CNAME - MX - TXT description: DNS record type (e.g., "A", "AAAA", "CNAME", "MX", "TXT"). comparator: not: enum: - RECORD_COMPARATOR_UNSPECIFIED title: comparator description: Comparison operation (required, must not be UNSPECIFIED). $ref: '#/components/schemas/openstatus.monitor.v1.RecordComparator' target: type: string title: target description: Target value to compare against. title: RecordAssertion additionalProperties: false description: RecordAssertion defines an assertion for DNS records. openstatus.monitor.v1.RecordComparator: type: string title: RecordComparator enum: - RECORD_COMPARATOR_UNSPECIFIED - RECORD_COMPARATOR_EQUAL - RECORD_COMPARATOR_NOT_EQUAL - RECORD_COMPARATOR_CONTAINS - RECORD_COMPARATOR_NOT_CONTAINS description: RecordComparator defines comparison operations for DNS records. openstatus.monitor.v1.Region: type: string title: Region enum: - REGION_UNSPECIFIED - REGION_FLY_AMS - REGION_FLY_ARN - REGION_FLY_BOM - REGION_FLY_CDG - REGION_FLY_DFW - REGION_FLY_EWR - REGION_FLY_FRA - REGION_FLY_GRU - REGION_FLY_IAD - REGION_FLY_JNB - REGION_FLY_LAX - REGION_FLY_LHR - REGION_FLY_NRT - REGION_FLY_ORD - REGION_FLY_SJC - REGION_FLY_SIN - REGION_FLY_SYD - REGION_FLY_YYZ - REGION_KOYEB_FRA - REGION_KOYEB_PAR - REGION_KOYEB_SFO - REGION_KOYEB_SIN - REGION_KOYEB_TYO - REGION_KOYEB_WAS - REGION_RAILWAY_US_WEST2 - REGION_RAILWAY_US_EAST4 - REGION_RAILWAY_EUROPE_WEST4 - REGION_RAILWAY_ASIA_SOUTHEAST1 description: Geographic regions where monitors can run checks from. openstatus.monitor.v1.RegionStatus: type: object properties: region: title: region description: The region identifier. $ref: '#/components/schemas/openstatus.monitor.v1.Region' status: title: status description: The status of the monitor in this region. $ref: '#/components/schemas/openstatus.monitor.v1.MonitorStatus' title: RegionStatus additionalProperties: false description: RegionStatus represents the status of a monitor in a specific region. openstatus.monitor.v1.StatusCodeAssertion: type: object properties: target: type: - integer - string title: target maximum: 599 minimum: 100 format: int64 description: Target status code to compare against (100-599). comparator: not: enum: - NUMBER_COMPARATOR_UNSPECIFIED title: comparator description: Comparison operation (required, must not be UNSPECIFIED). $ref: '#/components/schemas/openstatus.monitor.v1.NumberComparator' title: StatusCodeAssertion additionalProperties: false description: StatusCodeAssertion defines an assertion for HTTP status codes. openstatus.monitor.v1.StringComparator: type: string title: StringComparator enum: - STRING_COMPARATOR_UNSPECIFIED - STRING_COMPARATOR_CONTAINS - STRING_COMPARATOR_NOT_CONTAINS - STRING_COMPARATOR_EQUAL - STRING_COMPARATOR_NOT_EQUAL - STRING_COMPARATOR_EMPTY - STRING_COMPARATOR_NOT_EMPTY - STRING_COMPARATOR_GREATER_THAN - STRING_COMPARATOR_GREATER_THAN_OR_EQUAL - STRING_COMPARATOR_LESS_THAN - STRING_COMPARATOR_LESS_THAN_OR_EQUAL description: StringComparator defines comparison operations for string values. openstatus.monitor.v1.TCPMonitor: type: object properties: id: type: string title: id description: Unique identifier for the monitor (output only for create requests). name: type: string examples: - Database Connection Check title: name maxLength: 256 minLength: 1 description: Name of the monitor (required, max 256 characters). uri: type: string examples: - tcp://db.example.com:5432 title: uri maxLength: 2048 minLength: 1 description: URI to monitor in format "host:port" (required, max 2048 characters). periodicity: not: enum: - PERIODICITY_UNSPECIFIED title: periodicity description: Check periodicity (required). $ref: '#/components/schemas/openstatus.monitor.v1.Periodicity' timeout: type: - integer - string title: timeout maximum: 120000 minimum: 0 format: int64 description: Timeout in milliseconds (0-120000, defaults to 45000). degradedAt: type: - integer - string - "null" title: degraded_at maximum: 120000 minimum: 0 format: int64 description: Latency threshold for degraded status in milliseconds (optional, 0-120000). retry: type: - integer - string title: retry maximum: 10 minimum: 0 format: int64 description: Number of retry attempts (0-10, defaults to 3). description: type: - string - "null" title: description maxLength: 1024 description: Description of the monitor (optional). active: type: - boolean - "null" title: active description: Whether the monitor is active (defaults to false). public: type: - boolean - "null" title: public description: Whether the monitor is publicly visible (defaults to false). regions: type: array items: $ref: '#/components/schemas/openstatus.monitor.v1.Region' title: regions maxItems: 28 description: Geographic regions to run checks from. openTelemetry: title: open_telemetry description: OpenTelemetry configuration for exporting metrics. $ref: '#/components/schemas/openstatus.monitor.v1.OpenTelemetryConfig' status: title: status description: Current operational status of the monitor. $ref: '#/components/schemas/openstatus.monitor.v1.MonitorStatus' privateLocationIds: type: array items: type: string readOnly: true title: private_location_ids description: IDs of private locations that run this monitor. Read-only. readOnly: true title: TCPMonitor additionalProperties: false description: TCPMonitor defines the configuration for a TCP monitor. openstatus.monitor.v1.TimeRange: type: string title: TimeRange enum: - TIME_RANGE_UNSPECIFIED - TIME_RANGE_1D - TIME_RANGE_7D - TIME_RANGE_14D description: TimeRange represents the time period for metrics aggregation. openstatus.monitor.v1.TriggerMonitorRequest: type: object properties: id: type: string title: id minLength: 1 description: Monitor ID to trigger (required). title: TriggerMonitorRequest additionalProperties: false description: TriggerMonitorRequest is the request to trigger a monitor check. openstatus.monitor.v1.TriggerMonitorResponse: type: object properties: success: type: boolean title: success description: Whether the trigger was successful. title: TriggerMonitorResponse additionalProperties: false description: TriggerMonitorResponse is the response after triggering a monitor. openstatus.monitor.v1.UpdateDNSMonitorRequest: type: object properties: id: type: string title: id minLength: 1 description: Monitor ID to update (required). monitor: oneOf: - $ref: '#/components/schemas/openstatus.monitor.v1.DNSMonitor' - type: "null" title: monitor description: Updated monitor configuration (all fields optional for partial updates). title: UpdateDNSMonitorRequest additionalProperties: false description: UpdateDNSMonitorRequest is the request to update an existing DNS monitor. openstatus.monitor.v1.UpdateDNSMonitorResponse: type: object properties: monitor: title: monitor description: The updated monitor. $ref: '#/components/schemas/openstatus.monitor.v1.DNSMonitor' title: UpdateDNSMonitorResponse additionalProperties: false description: UpdateDNSMonitorResponse is the response after updating a DNS monitor. openstatus.monitor.v1.UpdateGRPCMonitorRequest: type: object properties: id: type: string title: id minLength: 1 description: Monitor ID to update (required). monitor: oneOf: - $ref: '#/components/schemas/openstatus.monitor.v1.GRPCMonitor' - type: "null" title: monitor description: Updated monitor configuration (all fields optional for partial updates). title: UpdateGRPCMonitorRequest additionalProperties: false description: UpdateGRPCMonitorRequest is the request to update an existing gRPC monitor. openstatus.monitor.v1.UpdateGRPCMonitorResponse: type: object properties: monitor: title: monitor description: The updated monitor. $ref: '#/components/schemas/openstatus.monitor.v1.GRPCMonitor' title: UpdateGRPCMonitorResponse additionalProperties: false description: UpdateGRPCMonitorResponse is the response after updating a gRPC monitor. openstatus.monitor.v1.UpdateHTTPMonitorRequest: type: object properties: id: type: string title: id minLength: 1 description: Monitor ID to update (required). monitor: oneOf: - $ref: '#/components/schemas/openstatus.monitor.v1.HTTPMonitor' - type: "null" title: monitor description: Updated monitor configuration (all fields optional for partial updates). title: UpdateHTTPMonitorRequest additionalProperties: false description: UpdateHTTPMonitorRequest is the request to update an existing HTTP monitor. openstatus.monitor.v1.UpdateHTTPMonitorResponse: type: object properties: monitor: title: monitor description: The updated monitor. $ref: '#/components/schemas/openstatus.monitor.v1.HTTPMonitor' title: UpdateHTTPMonitorResponse additionalProperties: false description: UpdateHTTPMonitorResponse is the response after updating an HTTP monitor. openstatus.monitor.v1.UpdateICMPMonitorRequest: type: object properties: id: type: string title: id minLength: 1 description: Monitor ID to update (required). monitor: oneOf: - $ref: '#/components/schemas/openstatus.monitor.v1.ICMPMonitor' - type: "null" title: monitor description: Updated monitor configuration (all fields optional for partial updates). title: UpdateICMPMonitorRequest additionalProperties: false description: UpdateICMPMonitorRequest is the request to update an existing ICMP monitor. openstatus.monitor.v1.UpdateICMPMonitorResponse: type: object properties: monitor: title: monitor description: The updated monitor. $ref: '#/components/schemas/openstatus.monitor.v1.ICMPMonitor' title: UpdateICMPMonitorResponse additionalProperties: false description: UpdateICMPMonitorResponse is the response after updating an ICMP monitor. openstatus.monitor.v1.UpdateTCPMonitorRequest: type: object properties: id: type: string title: id minLength: 1 description: Monitor ID to update (required). monitor: oneOf: - $ref: '#/components/schemas/openstatus.monitor.v1.TCPMonitor' - type: "null" title: monitor description: Updated monitor configuration (all fields optional for partial updates). title: UpdateTCPMonitorRequest additionalProperties: false description: UpdateTCPMonitorRequest is the request to update an existing TCP monitor. openstatus.monitor.v1.UpdateTCPMonitorResponse: type: object properties: monitor: title: monitor description: The updated monitor. $ref: '#/components/schemas/openstatus.monitor.v1.TCPMonitor' title: UpdateTCPMonitorResponse additionalProperties: false description: UpdateTCPMonitorResponse is the response after updating a TCP monitor. openstatus.notification.v1.CheckNotificationLimitRequest: type: object title: CheckNotificationLimitRequest additionalProperties: false description: CheckNotificationLimitRequest is the request to check notification limits. openstatus.notification.v1.CheckNotificationLimitResponse: type: object properties: limitReached: type: boolean title: limit_reached description: Whether the workspace has reached its notification limit. currentCount: type: integer title: current_count format: int32 description: Current number of notification channels. maxCount: type: integer title: max_count format: int32 description: Maximum allowed notification channels. title: CheckNotificationLimitResponse additionalProperties: false description: CheckNotificationLimitResponse is the response containing limit information. openstatus.notification.v1.CreateNotificationRequest: type: object properties: name: type: string examples: - Slack Ops Channel title: name minLength: 1 description: Display name for the notification channel. provider: not: enum: - NOTIFICATION_PROVIDER_UNSPECIFIED title: provider description: Provider type. $ref: '#/components/schemas/openstatus.notification.v1.NotificationProvider' data: title: data description: Provider-specific configuration. $ref: '#/components/schemas/openstatus.notification.v1.NotificationData' monitorIds: type: array items: type: string title: monitor_ids description: IDs of monitors to associate with this notification. title: CreateNotificationRequest required: - data additionalProperties: false description: CreateNotificationRequest is the request to create a new notification channel. openstatus.notification.v1.CreateNotificationResponse: type: object properties: notification: title: notification description: The created notification channel. $ref: '#/components/schemas/openstatus.notification.v1.Notification' title: CreateNotificationResponse additionalProperties: false description: CreateNotificationResponse is the response after creating a notification channel. openstatus.notification.v1.DeleteNotificationRequest: type: object properties: id: type: string title: id minLength: 1 description: Notification ID to delete (required). title: DeleteNotificationRequest additionalProperties: false description: DeleteNotificationRequest is the request to delete a notification channel. openstatus.notification.v1.DeleteNotificationResponse: type: object properties: success: type: boolean title: success description: Whether the deletion was successful. title: DeleteNotificationResponse additionalProperties: false description: DeleteNotificationResponse is the response after deleting a notification channel. openstatus.notification.v1.DiscordData: type: object properties: webhookUrl: type: string examples: - https://discord.com/api/webhooks/123/abc title: webhook_url format: uri description: Discord webhook URL. title: DiscordData additionalProperties: false description: DiscordData contains configuration for Discord notifications. openstatus.notification.v1.EmailData: type: object properties: email: type: string examples: - ops-team@example.com title: email format: email description: Email address to send notifications to. title: EmailData additionalProperties: false description: EmailData contains configuration for email notifications. openstatus.notification.v1.GetNotificationRequest: type: object properties: id: type: string title: id minLength: 1 description: Notification ID to retrieve (required). title: GetNotificationRequest additionalProperties: false description: GetNotificationRequest is the request to get a notification channel. openstatus.notification.v1.GetNotificationResponse: type: object properties: notification: title: notification description: The notification channel. $ref: '#/components/schemas/openstatus.notification.v1.Notification' title: GetNotificationResponse additionalProperties: false description: GetNotificationResponse is the response containing the notification channel. openstatus.notification.v1.GoogleChatData: type: object properties: webhookUrl: type: string title: webhook_url format: uri description: Google Chat webhook URL. title: GoogleChatData additionalProperties: false description: GoogleChatData contains configuration for Google Chat notifications. openstatus.notification.v1.GrafanaOncallData: type: object properties: webhookUrl: type: string title: webhook_url format: uri description: Grafana OnCall webhook URL. title: GrafanaOncallData additionalProperties: false description: GrafanaOncallData contains configuration for Grafana OnCall notifications. openstatus.notification.v1.ListNotificationsRequest: type: object properties: limit: type: - integer - "null" title: limit maximum: 100 minimum: 1 format: int32 description: Maximum number of notifications to return (1-100, defaults to 50). offset: type: - integer - "null" title: offset minimum: 0 format: int32 description: Number of notifications to skip for pagination (defaults to 0). title: ListNotificationsRequest additionalProperties: false description: ListNotificationsRequest is the request to list notification channels. openstatus.notification.v1.ListNotificationsResponse: type: object properties: notifications: type: array items: $ref: '#/components/schemas/openstatus.notification.v1.NotificationSummary' title: notifications description: Notification channel summaries. totalSize: type: integer title: total_size format: int32 description: Total number of notification channels. title: ListNotificationsResponse additionalProperties: false description: ListNotificationsResponse is the response containing notification channels. openstatus.notification.v1.MsTeamsData: type: object properties: webhookUrl: type: string examples: - https://prod-00.westeurope.logic.azure.com:443/workflows/abc/triggers/manual/paths/invoke title: webhook_url format: uri description: Microsoft Teams webhook URL (Power Automate Workflows). title: MsTeamsData additionalProperties: false description: MsTeamsData contains configuration for Microsoft Teams notifications. openstatus.notification.v1.Notification: type: object properties: id: type: string title: id description: Unique identifier for the notification. name: type: string title: name description: Display name for the notification channel. provider: title: provider description: Provider type. $ref: '#/components/schemas/openstatus.notification.v1.NotificationProvider' data: title: data description: Provider-specific configuration. $ref: '#/components/schemas/openstatus.notification.v1.NotificationData' monitorIds: type: array items: type: string title: monitor_ids description: IDs of monitors associated with this notification. createdAt: type: string title: created_at description: Timestamp when the notification was created (RFC 3339). updatedAt: type: string title: updated_at description: Timestamp when the notification was last updated (RFC 3339). title: Notification additionalProperties: false description: Notification represents a notification channel with full details. openstatus.notification.v1.NotificationData: type: object oneOf: - type: object properties: discord: title: discord description: Discord configuration. $ref: '#/components/schemas/openstatus.notification.v1.DiscordData' title: discord required: - discord - type: object properties: email: title: email description: Email configuration. $ref: '#/components/schemas/openstatus.notification.v1.EmailData' title: email required: - email - type: object properties: googleChat: title: google_chat description: Google Chat configuration. $ref: '#/components/schemas/openstatus.notification.v1.GoogleChatData' title: google_chat required: - googleChat - type: object properties: grafanaOncall: title: grafana_oncall description: Grafana OnCall configuration. $ref: '#/components/schemas/openstatus.notification.v1.GrafanaOncallData' title: grafana_oncall required: - grafanaOncall - type: object properties: msTeams: title: ms_teams description: Microsoft Teams configuration. $ref: '#/components/schemas/openstatus.notification.v1.MsTeamsData' title: ms_teams required: - msTeams - type: object properties: ntfy: title: ntfy description: Ntfy configuration. $ref: '#/components/schemas/openstatus.notification.v1.NtfyData' title: ntfy required: - ntfy - type: object properties: opsgenie: title: opsgenie description: Opsgenie configuration. $ref: '#/components/schemas/openstatus.notification.v1.OpsgenieData' title: opsgenie required: - opsgenie - type: object properties: pagerduty: title: pagerduty description: PagerDuty configuration. $ref: '#/components/schemas/openstatus.notification.v1.PagerDutyData' title: pagerduty required: - pagerduty - type: object properties: slack: title: slack description: Slack configuration. $ref: '#/components/schemas/openstatus.notification.v1.SlackData' title: slack required: - slack - type: object properties: sms: title: sms description: SMS configuration. $ref: '#/components/schemas/openstatus.notification.v1.SmsData' title: sms required: - sms - type: object properties: telegram: title: telegram description: Telegram configuration. $ref: '#/components/schemas/openstatus.notification.v1.TelegramData' title: telegram required: - telegram - type: object properties: webhook: title: webhook description: Webhook configuration. $ref: '#/components/schemas/openstatus.notification.v1.WebhookData' title: webhook required: - webhook - type: object properties: whatsapp: title: whatsapp description: WhatsApp configuration. $ref: '#/components/schemas/openstatus.notification.v1.WhatsappData' title: whatsapp required: - whatsapp title: NotificationData additionalProperties: false description: NotificationData is a union of provider-specific configuration. openstatus.notification.v1.NotificationProvider: type: string title: NotificationProvider enum: - NOTIFICATION_PROVIDER_UNSPECIFIED - NOTIFICATION_PROVIDER_DISCORD - NOTIFICATION_PROVIDER_EMAIL - NOTIFICATION_PROVIDER_GOOGLE_CHAT - NOTIFICATION_PROVIDER_GRAFANA_ONCALL - NOTIFICATION_PROVIDER_NTFY - NOTIFICATION_PROVIDER_PAGERDUTY - NOTIFICATION_PROVIDER_OPSGENIE - NOTIFICATION_PROVIDER_SLACK - NOTIFICATION_PROVIDER_SMS - NOTIFICATION_PROVIDER_TELEGRAM - NOTIFICATION_PROVIDER_WEBHOOK - NOTIFICATION_PROVIDER_WHATSAPP - NOTIFICATION_PROVIDER_MS_TEAMS description: NotificationProvider represents the supported notification channel types. openstatus.notification.v1.NotificationSummary: type: object properties: id: type: string title: id description: Unique identifier for the notification. name: type: string title: name description: Display name for the notification channel. provider: title: provider description: Provider type. $ref: '#/components/schemas/openstatus.notification.v1.NotificationProvider' monitorCount: type: integer title: monitor_count format: int32 description: Number of monitors associated with this notification. createdAt: type: string title: created_at description: Timestamp when the notification was created (RFC 3339). updatedAt: type: string title: updated_at description: Timestamp when the notification was last updated (RFC 3339). title: NotificationSummary additionalProperties: false description: NotificationSummary represents a notification channel summary for list responses. openstatus.notification.v1.NtfyData: type: object properties: topic: type: string examples: - openstatus-alerts title: topic minLength: 1 description: Ntfy topic to publish to. serverUrl: type: string title: server_url description: Ntfy server URL (defaults to https://ntfy.sh). token: type: - string - "null" title: token description: Optional authentication token. title: NtfyData additionalProperties: false description: NtfyData contains configuration for Ntfy notifications. openstatus.notification.v1.OpsgenieData: type: object properties: apiKey: type: string title: api_key minLength: 1 description: Opsgenie API key. region: title: region description: Opsgenie region. $ref: '#/components/schemas/openstatus.notification.v1.OpsgenieRegion' title: OpsgenieData additionalProperties: false description: OpsgenieData contains configuration for Opsgenie notifications. openstatus.notification.v1.OpsgenieRegion: type: string title: OpsgenieRegion enum: - OPSGENIE_REGION_UNSPECIFIED - OPSGENIE_REGION_US - OPSGENIE_REGION_EU description: OpsgenieRegion represents the Opsgenie API region. openstatus.notification.v1.PagerDutyData: type: object properties: integrationKey: type: string examples: - a1b2c3d4e5f6g7h8i9j0 title: integration_key minLength: 1 description: PagerDuty integration key. title: PagerDutyData additionalProperties: false description: PagerDutyData contains configuration for PagerDuty notifications. openstatus.notification.v1.SendTestNotificationRequest: type: object properties: provider: not: enum: - NOTIFICATION_PROVIDER_UNSPECIFIED title: provider description: Provider type. $ref: '#/components/schemas/openstatus.notification.v1.NotificationProvider' data: title: data description: Provider-specific configuration. $ref: '#/components/schemas/openstatus.notification.v1.NotificationData' title: SendTestNotificationRequest required: - data additionalProperties: false description: SendTestNotificationRequest is the request to send a test notification. openstatus.notification.v1.SendTestNotificationResponse: type: object properties: success: type: boolean title: success description: Whether the test was successful. errorMessage: type: - string - "null" title: error_message description: Optional error message if the test failed. title: SendTestNotificationResponse additionalProperties: false description: SendTestNotificationResponse is the response after sending a test notification. openstatus.notification.v1.SlackData: type: object properties: webhookUrl: type: string examples: - https://hooks.slack.com/services/T00/B00/xxx title: webhook_url format: uri description: Slack webhook URL. title: SlackData additionalProperties: false description: SlackData contains configuration for Slack notifications. openstatus.notification.v1.SmsData: type: object properties: phoneNumber: type: string examples: - "+14155551234" title: phone_number minLength: 1 description: Phone number to send SMS to. title: SmsData additionalProperties: false description: SmsData contains configuration for SMS notifications. openstatus.notification.v1.TelegramData: type: object properties: chatId: type: string examples: - "-1001234567890" title: chat_id minLength: 1 description: Telegram chat ID. title: TelegramData additionalProperties: false description: TelegramData contains configuration for Telegram notifications. openstatus.notification.v1.UpdateNotificationRequest: type: object properties: id: type: string title: id minLength: 1 description: Notification ID to update (required). name: type: - string - "null" title: name description: Updated display name. data: oneOf: - $ref: '#/components/schemas/openstatus.notification.v1.NotificationData' - type: "null" title: data description: Updated provider-specific configuration. monitorIds: type: array items: type: string title: monitor_ids description: Updated monitor IDs to associate. updateMonitorIds: type: - boolean - "null" title: update_monitor_ids description: |- Set to true to update monitor associations. When true, monitor_ids replaces the existing list (empty clears all). When false or unset, monitor_ids is ignored and existing associations are preserved. title: UpdateNotificationRequest additionalProperties: false description: UpdateNotificationRequest is the request to update a notification channel. openstatus.notification.v1.UpdateNotificationResponse: type: object properties: notification: title: notification description: The updated notification channel. $ref: '#/components/schemas/openstatus.notification.v1.Notification' title: UpdateNotificationResponse additionalProperties: false description: UpdateNotificationResponse is the response after updating a notification channel. openstatus.notification.v1.WebhookData: type: object properties: endpoint: type: string examples: - https://api.example.com/webhooks/openstatus title: endpoint format: uri description: Webhook endpoint URL. headers: type: array items: $ref: '#/components/schemas/openstatus.notification.v1.WebhookHeader' title: headers description: Optional custom headers. title: WebhookData additionalProperties: false description: WebhookData contains configuration for custom webhook notifications. openstatus.notification.v1.WebhookHeader: type: object properties: key: type: string title: key minLength: 1 description: Header name. value: type: string title: value description: Header value. title: WebhookHeader additionalProperties: false description: WebhookHeader represents a custom header for webhook requests. openstatus.notification.v1.WhatsappData: type: object properties: phoneNumber: type: string title: phone_number minLength: 1 description: Phone number to send WhatsApp messages to. title: WhatsappData additionalProperties: false description: WhatsappData contains configuration for WhatsApp notifications. openstatus.private_location.v1.CreatePrivateLocationRequest: type: object properties: name: type: string examples: - eu-west-agent title: name maxLength: 256 minLength: 1 description: Display name for the private location (required, 1-256 characters). monitorIds: type: array items: type: string title: monitor_ids description: IDs of monitors this private location should run (optional). metadata: type: object title: metadata maxProperties: 20 additionalProperties: type: string title: value maxLength: 256 description: User-defined key/value labels (optional, up to 20 entries). title: CreatePrivateLocationRequest additionalProperties: false description: CreatePrivateLocationRequest is the request to create a new private location. openstatus.private_location.v1.CreatePrivateLocationRequest.MetadataEntry: type: object properties: key: type: string title: key value: type: string title: value title: MetadataEntry additionalProperties: false openstatus.private_location.v1.CreatePrivateLocationResponse: type: object properties: privateLocation: title: private_location description: The created private location, including its generated agent token. $ref: '#/components/schemas/openstatus.private_location.v1.PrivateLocation' title: CreatePrivateLocationResponse additionalProperties: false description: CreatePrivateLocationResponse is the response after creating a private location. openstatus.private_location.v1.DeletePrivateLocationRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the private location to delete (required). title: DeletePrivateLocationRequest additionalProperties: false description: DeletePrivateLocationRequest is the request to delete a private location. openstatus.private_location.v1.DeletePrivateLocationResponse: type: object properties: success: type: boolean title: success description: Whether the deletion was successful. title: DeletePrivateLocationResponse additionalProperties: false description: DeletePrivateLocationResponse is the response after deleting a private location. openstatus.private_location.v1.GetPrivateLocationRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the private location to retrieve (required). title: GetPrivateLocationRequest additionalProperties: false description: GetPrivateLocationRequest is the request to get a private location by ID. openstatus.private_location.v1.GetPrivateLocationResponse: type: object properties: privateLocation: title: private_location description: The requested private location. $ref: '#/components/schemas/openstatus.private_location.v1.PrivateLocation' title: GetPrivateLocationResponse additionalProperties: false description: GetPrivateLocationResponse is the response containing the private location. openstatus.private_location.v1.ListPrivateLocationsRequest: type: object properties: limit: type: - integer - "null" title: limit maximum: 100 minimum: 1 format: int32 description: Maximum number of private locations to return (1-100, defaults to 50). offset: type: - integer - "null" title: offset minimum: 0 format: int32 description: Number of private locations to skip for pagination (defaults to 0). title: ListPrivateLocationsRequest additionalProperties: false description: ListPrivateLocationsRequest is the request to list private locations. openstatus.private_location.v1.ListPrivateLocationsResponse: type: object properties: privateLocations: type: array items: $ref: '#/components/schemas/openstatus.private_location.v1.PrivateLocationSummary' title: private_locations description: List of private locations. totalSize: type: integer title: total_size format: int32 description: Total number of private locations in the workspace. title: ListPrivateLocationsResponse additionalProperties: false description: ListPrivateLocationsResponse is the response containing private location summaries. openstatus.private_location.v1.PrivateLocation: type: object properties: id: type: string title: id description: Unique identifier for the private location. name: type: string title: name description: Display name for the private location. token: type: string title: token description: |- Agent credential. Generated by the server on creation and used by the agent to authenticate; treat it as a secret. monitorIds: type: array items: type: string title: monitor_ids description: IDs of monitors this private location runs. lastSeenAt: type: string title: last_seen_at description: Last time the agent reported a result (RFC 3339), empty if it never has. createdAt: type: string title: created_at description: Timestamp when the private location was created (RFC 3339 format). updatedAt: type: string title: updated_at description: Timestamp when the private location was last updated (RFC 3339 format). metadata: type: object title: metadata additionalProperties: type: string title: value description: User-defined key/value labels attached to this private location. status: title: status description: Computed health of the agent. Read-only. $ref: '#/components/schemas/openstatus.private_location.v1.PrivateLocationStatus' title: PrivateLocation additionalProperties: false description: PrivateLocation represents a self-hosted checker agent with full details. openstatus.private_location.v1.PrivateLocation.MetadataEntry: type: object properties: key: type: string title: key value: type: string title: value title: MetadataEntry additionalProperties: false openstatus.private_location.v1.PrivateLocationStatus: type: string title: PrivateLocationStatus enum: - PRIVATE_LOCATION_STATUS_UNSPECIFIED - PRIVATE_LOCATION_STATUS_ACTIVE - PRIVATE_LOCATION_STATUS_ERROR description: |- PrivateLocationStatus is the computed health of a private location, derived from the agent heartbeat. Read-only โ it cannot be set through the API. openstatus.private_location.v1.PrivateLocationSummary: type: object properties: id: type: string title: id description: Unique identifier for the private location. name: type: string title: name description: Display name for the private location. monitorCount: type: integer title: monitor_count format: int32 description: Number of monitors this private location runs. lastSeenAt: type: string title: last_seen_at description: Last time the agent reported a result (RFC 3339), empty if it never has. createdAt: type: string title: created_at description: Timestamp when the private location was created (RFC 3339 format). updatedAt: type: string title: updated_at description: Timestamp when the private location was last updated (RFC 3339 format). status: title: status description: Computed health of the agent. Read-only. $ref: '#/components/schemas/openstatus.private_location.v1.PrivateLocationStatus' metadata: type: object title: metadata additionalProperties: type: string title: value description: User-defined key/value labels attached to this private location. title: PrivateLocationSummary additionalProperties: false description: |- PrivateLocationSummary represents metadata for a private location (used in list responses). The agent token is intentionally omitted. openstatus.private_location.v1.PrivateLocationSummary.MetadataEntry: type: object properties: key: type: string title: key value: type: string title: value title: MetadataEntry additionalProperties: false openstatus.private_location.v1.UpdatePrivateLocationRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the private location to update (required). name: type: - string - "null" title: name maxLength: 256 minLength: 1 description: New display name for the private location (optional). monitorIds: type: array items: type: string title: monitor_ids description: New list of monitor IDs. Only applied when update_monitor_ids is true. updateMonitorIds: type: - boolean - "null" title: update_monitor_ids description: |- When true, monitor_ids replaces the current associations (an empty list clears all). When false or unset, monitor_ids is ignored and existing associations are preserved. metadata: type: object title: metadata maxProperties: 20 additionalProperties: type: string title: value maxLength: 256 description: New key/value labels. Only applied when update_metadata is true. updateMetadata: type: - boolean - "null" title: update_metadata description: |- When true, metadata replaces the current labels (an empty map clears all). When false or unset, metadata is ignored and existing labels are preserved. title: UpdatePrivateLocationRequest additionalProperties: false description: UpdatePrivateLocationRequest is the request to update a private location. openstatus.private_location.v1.UpdatePrivateLocationRequest.MetadataEntry: type: object properties: key: type: string title: key value: type: string title: value title: MetadataEntry additionalProperties: false openstatus.private_location.v1.UpdatePrivateLocationResponse: type: object properties: privateLocation: title: private_location description: The updated private location. $ref: '#/components/schemas/openstatus.private_location.v1.PrivateLocation' title: UpdatePrivateLocationResponse additionalProperties: false description: UpdatePrivateLocationResponse is the response after updating a private location. openstatus.status_page.v1.AddMonitorComponentRequest: type: object properties: pageId: type: string title: page_id minLength: 1 description: ID of the status page to add the component to (required). monitorId: type: string title: monitor_id minLength: 1 description: ID of the monitor to associate with this component (required). name: type: - string - "null" title: name maxLength: 256 description: Display name for the component (optional, defaults to monitor name). description: type: - string - "null" title: description maxLength: 1024 description: Description of the component (optional). order: type: - integer - "null" title: order format: int32 description: Display order of the component (optional). groupId: type: - string - "null" title: group_id description: ID of the group to add this component to (optional). title: AddMonitorComponentRequest additionalProperties: false description: AddMonitorComponentRequest is the request to add a monitor-based component to a status page. openstatus.status_page.v1.AddMonitorComponentResponse: type: object properties: component: title: component description: The created component. $ref: '#/components/schemas/openstatus.status_page.v1.PageComponent' title: AddMonitorComponentResponse additionalProperties: false description: AddMonitorComponentResponse is the response after adding a monitor component. openstatus.status_page.v1.AddStaticComponentRequest: type: object properties: pageId: type: string title: page_id minLength: 1 description: ID of the status page to add the component to (required). name: type: string title: name maxLength: 256 minLength: 1 description: Display name for the component (required). description: type: - string - "null" title: description maxLength: 1024 description: Description of the component (optional). order: type: - integer - "null" title: order format: int32 description: Display order of the component (optional). groupId: type: - string - "null" title: group_id description: ID of the group to add this component to (optional). title: AddStaticComponentRequest additionalProperties: false description: AddStaticComponentRequest is the request to add a static component to a status page. openstatus.status_page.v1.AddStaticComponentResponse: type: object properties: component: title: component description: The created component. $ref: '#/components/schemas/openstatus.status_page.v1.PageComponent' title: AddStaticComponentResponse additionalProperties: false description: AddStaticComponentResponse is the response after adding a static component. openstatus.status_page.v1.ComponentDayBucket: type: object properties: day: type: string title: day description: Day in RFC 3339 format (UTC midnight). count: type: - integer - string title: count format: int64 description: Total checks that day. ok: type: - integer - string title: ok format: int64 description: Successful checks. degraded: type: - integer - string title: degraded format: int64 description: Degraded checks. error: type: - integer - string title: error format: int64 description: Failed checks. status: title: status description: Convenience resolved status for the day. $ref: '#/components/schemas/openstatus.status_page.v1.ComponentDayStatus' impact: oneOf: - $ref: '#/components/schemas/openstatus.status_report.v1.PageComponentImpact' - type: "null" title: impact description: Worst status-report impact overlapping the day (absent when none). title: ComponentDayBucket additionalProperties: false description: ComponentDayBucket is one day of status data for a component. openstatus.status_page.v1.ComponentDayStatus: type: string title: ComponentDayStatus enum: - COMPONENT_DAY_STATUS_UNSPECIFIED - COMPONENT_DAY_STATUS_OPERATIONAL - COMPONENT_DAY_STATUS_DEGRADED - COMPONENT_DAY_STATUS_DOWN - COMPONENT_DAY_STATUS_MAINTENANCE - COMPONENT_DAY_STATUS_EMPTY description: ComponentDayStatus is the resolved status of a component on a given day. openstatus.status_page.v1.ComponentEvent: type: object properties: id: type: string title: id description: Identifier of the underlying event. name: type: string title: name description: Human-readable name (incident "Downtime", maintenance / report title). type: title: type description: Kind of event. $ref: '#/components/schemas/openstatus.status_page.v1.ComponentEventType' status: title: status description: Projected status this event contributes. $ref: '#/components/schemas/openstatus.status_page.v1.ComponentEventStatus' from: type: string title: from description: Start time (RFC 3339). to: type: - string - "null" title: to description: End time (RFC 3339); absent while the event is ongoing. impact: oneOf: - $ref: '#/components/schemas/openstatus.status_report.v1.PageComponentImpact' - type: "null" title: impact description: Worst impact over the event (reports only; absent otherwise). title: ComponentEvent additionalProperties: false description: ComponentEvent is a single incident / maintenance / report affecting a component. openstatus.status_page.v1.ComponentEventStatus: type: string title: ComponentEventStatus enum: - COMPONENT_EVENT_STATUS_UNSPECIFIED - COMPONENT_EVENT_STATUS_OPERATIONAL - COMPONENT_EVENT_STATUS_DEGRADED - COMPONENT_EVENT_STATUS_DOWN - COMPONENT_EVENT_STATUS_MAINTENANCE description: ComponentEventStatus is the projected status an event contributes. openstatus.status_page.v1.ComponentEventType: type: string title: ComponentEventType enum: - COMPONENT_EVENT_TYPE_UNSPECIFIED - COMPONENT_EVENT_TYPE_MAINTENANCE - COMPONENT_EVENT_TYPE_INCIDENT - COMPONENT_EVENT_TYPE_REPORT description: ComponentEventType is the kind of timeline event affecting a component. openstatus.status_page.v1.ComponentStatus: type: object properties: componentId: type: string title: component_id description: ID of the component. status: title: status description: Current status of the component. $ref: '#/components/schemas/openstatus.status_page.v1.OverallStatus' title: ComponentStatus additionalProperties: false description: ComponentStatus represents the status of a single component. openstatus.status_page.v1.CreateComponentGroupRequest: type: object properties: pageId: type: string title: page_id minLength: 1 description: ID of the status page to create the group in (required). name: type: string title: name maxLength: 256 minLength: 1 description: Display name for the group (required). defaultOpen: type: - boolean - "null" title: default_open description: Whether the group should be expanded by default on the status page (optional, defaults to false). title: CreateComponentGroupRequest additionalProperties: false description: CreateComponentGroupRequest is the request to create a new component group. openstatus.status_page.v1.CreateComponentGroupResponse: type: object properties: group: title: group description: The created component group. $ref: '#/components/schemas/openstatus.status_page.v1.PageComponentGroup' title: CreateComponentGroupResponse additionalProperties: false description: CreateComponentGroupResponse is the response after creating a component group. openstatus.status_page.v1.CreatePageSubscriptionRequest: type: object allOf: - properties: pageId: type: string title: page_id minLength: 1 description: ID of the status page (required). name: type: - string - "null" title: name maxLength: 255 description: Optional human-readable label. componentIds: type: array items: type: string title: component_ids description: Component scope. Empty = entire page. - oneOf: - type: object properties: emailChannel: title: email_channel $ref: '#/components/schemas/openstatus.status_page.v1.EmailChannel' title: email_channel required: - emailChannel - type: object properties: webhookChannel: title: webhook_channel $ref: '#/components/schemas/openstatus.status_page.v1.WebhookChannel' title: webhook_channel required: - webhookChannel title: CreatePageSubscriptionRequest additionalProperties: false description: CreatePageSubscriptionRequest is the request to add a vendor-managed subscriber to a status page. openstatus.status_page.v1.CreatePageSubscriptionResponse: type: object properties: subscriber: title: subscriber description: The created subscriber. $ref: '#/components/schemas/openstatus.status_page.v1.PageSubscriber' title: CreatePageSubscriptionResponse additionalProperties: false description: CreatePageSubscriptionResponse is the response after creating a vendor-managed subscription. openstatus.status_page.v1.CreateStatusPageRequest: type: object properties: title: type: string examples: - Acme Corp Status title: title maxLength: 256 minLength: 1 description: Title of the status page (required). description: type: - string - "null" title: description maxLength: 1024 description: Description of the status page (optional). slug: type: string examples: - my-status-page title: slug maxLength: 256 minLength: 1 pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$ description: URL-friendly slug for the status page (required). Must be lowercase alphanumeric with hyphens. homepageUrl: type: - string - "null" examples: - https://www.example.com title: homepage_url description: URL to the homepage (optional). contactUrl: type: - string - "null" title: contact_url description: URL to the contact page (optional). defaultLocale: oneOf: - $ref: '#/components/schemas/openstatus.status_page.v1.Locale' - type: "null" title: default_locale description: Default locale for the status page (optional, defaults to EN). locales: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.Locale' title: locales description: Enabled locales for the status page (optional). icon: type: - string - "null" title: icon maxLength: 1024 description: Icon URL for the status page (optional). customDomain: type: - string - "null" title: custom_domain maxLength: 256 description: Custom domain for the status page (optional). theme: oneOf: - $ref: '#/components/schemas/openstatus.status_page.v1.PageTheme' - type: "null" title: theme description: Visual theme for the status page (optional, defaults to SYSTEM). accessType: oneOf: - $ref: '#/components/schemas/openstatus.status_page.v1.PageAccessType' - type: "null" title: access_type description: Access type for the status page (optional, defaults to PUBLIC). password: type: - string - "null" title: password maxLength: 256 minLength: 1 description: Password for the status page (required when access_type is PASSWORD_PROTECTED). authEmailDomains: type: array items: type: string title: auth_email_domains description: Email domains allowed to access the page (used when access_type is AUTHENTICATED). allowIndex: type: - boolean - "null" title: allow_index description: Whether search engines are allowed to index this status page (optional, defaults to true). allowedIpRanges: type: - string - "null" title: allowed_ip_ranges description: Comma-separated IPv4 CIDR ranges (required when access_type is IP_RESTRICTED). customTheme: oneOf: - $ref: '#/components/schemas/openstatus.status_page.v1.CustomTheme' - type: "null" title: custom_theme description: |- Per-mode CSS variable overrides merged over the theme (optional). Only supported variable names are accepted. Requires the custom-theme plan feature. title: CreateStatusPageRequest additionalProperties: false description: CreateStatusPageRequest is the request to create a new status page. openstatus.status_page.v1.CreateStatusPageResponse: type: object properties: statusPage: title: status_page description: The created status page. $ref: '#/components/schemas/openstatus.status_page.v1.StatusPage' title: CreateStatusPageResponse additionalProperties: false description: CreateStatusPageResponse is the response after creating a status page. openstatus.status_page.v1.CustomTheme: type: object properties: light: type: object title: light additionalProperties: type: string title: value description: 'CSS variable overrides applied in light mode, keyed by variable name (e.g. "--primary": "hsl(24 94% 50%)").' dark: type: object title: dark additionalProperties: type: string title: value description: CSS variable overrides applied in dark mode, keyed by variable name. title: CustomTheme additionalProperties: false description: CustomTheme holds per-mode CSS variable overrides merged over the page theme. openstatus.status_page.v1.CustomTheme.DarkEntry: type: object properties: key: type: string title: key value: type: string title: value title: DarkEntry additionalProperties: false openstatus.status_page.v1.CustomTheme.LightEntry: type: object properties: key: type: string title: key value: type: string title: value title: LightEntry additionalProperties: false openstatus.status_page.v1.DeleteComponentGroupRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the component group to delete (required). title: DeleteComponentGroupRequest additionalProperties: false description: DeleteComponentGroupRequest is the request to delete a component group. openstatus.status_page.v1.DeleteComponentGroupResponse: type: object properties: success: type: boolean title: success description: Whether the deletion was successful. title: DeleteComponentGroupResponse additionalProperties: false description: DeleteComponentGroupResponse is the response after deleting a component group. openstatus.status_page.v1.DeleteStatusPageRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the status page to delete (required). title: DeleteStatusPageRequest additionalProperties: false description: DeleteStatusPageRequest is the request to delete a status page. openstatus.status_page.v1.DeleteStatusPageResponse: type: object properties: success: type: boolean title: success description: Whether the deletion was successful. title: DeleteStatusPageResponse additionalProperties: false description: DeleteStatusPageResponse is the response after deleting a status page. openstatus.status_page.v1.EmailChannel: type: object properties: email: type: string title: email format: email description: Email address of the subscriber (required). title: EmailChannel additionalProperties: false description: EmailChannel carries the email-channel fields for CreatePageSubscription. openstatus.status_page.v1.GetOverallStatusRequest: type: object oneOf: - type: object properties: id: type: string title: id description: ID of the status page. title: id required: - id - type: object properties: slug: type: string title: slug description: Slug of the status page. title: slug required: - slug title: GetOverallStatusRequest additionalProperties: false description: GetOverallStatusRequest is the request to get the overall status of a status page. openstatus.status_page.v1.GetOverallStatusResponse: type: object properties: overallStatus: title: overall_status description: Aggregated status across all components. $ref: '#/components/schemas/openstatus.status_page.v1.OverallStatus' componentStatuses: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.ComponentStatus' title: component_statuses description: Status of individual components. title: GetOverallStatusResponse additionalProperties: false description: GetOverallStatusResponse is the response containing the overall status and individual component statuses. openstatus.status_page.v1.GetPageComponentDailySummaryRequest: type: object allOf: - properties: componentIds: type: array items: type: string minLength: 1 title: component_ids description: Restrict the result to these component ids (optional, defaults to all components). days: type: - integer - "null" title: days maximum: 45 minimum: 1 format: int32 description: Number of days to return (1-45, defaults to 45 if unspecified). - oneOf: - type: object properties: id: type: string title: id description: ID of the status page. title: id required: - id - type: object properties: slug: type: string title: slug description: Slug of the status page. title: slug required: - slug title: GetPageComponentDailySummaryRequest additionalProperties: false description: GetPageComponentDailySummaryRequest is the request for per-component daily summaries. openstatus.status_page.v1.GetPageComponentDailySummaryResponse: type: object properties: components: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.PageComponentDailySummary' title: components description: Per-component daily summaries, in page order. title: GetPageComponentDailySummaryResponse additionalProperties: false description: GetPageComponentDailySummaryResponse is the response containing per-component summaries. openstatus.status_page.v1.GetPageComponentRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the component to retrieve (required). title: GetPageComponentRequest additionalProperties: false description: GetPageComponentRequest is the request to fetch a single component by ID. openstatus.status_page.v1.GetPageComponentResponse: type: object properties: component: title: component description: The requested component. $ref: '#/components/schemas/openstatus.status_page.v1.PageComponent' title: GetPageComponentResponse additionalProperties: false description: GetPageComponentResponse is the response containing the component. openstatus.status_page.v1.GetStatusPageContentRequest: type: object oneOf: - type: object properties: id: type: string title: id description: ID of the status page. title: id required: - id - type: object properties: slug: type: string title: slug description: Slug of the status page. title: slug required: - slug title: GetStatusPageContentRequest additionalProperties: false description: GetStatusPageContentRequest is the request to get the full content of a status page. openstatus.status_page.v1.GetStatusPageContentResponse: type: object properties: statusPage: title: status_page description: The status page details. $ref: '#/components/schemas/openstatus.status_page.v1.StatusPage' components: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.PageComponent' title: components description: Components on the status page. groups: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.PageComponentGroup' title: groups description: Component groups on the status page. statusReports: type: array items: $ref: '#/components/schemas/openstatus.status_report.v1.StatusReport' title: status_reports description: Active and recent status reports. maintenances: type: array items: $ref: '#/components/schemas/openstatus.maintenance.v1.MaintenanceSummary' title: maintenances description: Scheduled maintenances. title: GetStatusPageContentResponse additionalProperties: false description: GetStatusPageContentResponse is the response containing the full status page content. openstatus.status_page.v1.GetStatusPageOverviewRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the status page (required, workspace-scoped). title: GetStatusPageOverviewRequest additionalProperties: false description: GetStatusPageOverviewRequest requests the full overview of a status page by id. openstatus.status_page.v1.GetStatusPageOverviewResponse: type: object properties: statusPage: title: status_page description: The status page details. $ref: '#/components/schemas/openstatus.status_page.v1.StatusPage' configuration: title: configuration description: Rich rendering configuration of the page. $ref: '#/components/schemas/openstatus.status_page.v1.PageConfiguration' components: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.PageComponent' title: components description: Components on the status page. groups: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.PageComponentGroup' title: groups description: Component groups on the status page. statusReports: type: array items: $ref: '#/components/schemas/openstatus.status_report.v1.StatusReport' title: status_reports description: Active and recent status reports. maintenances: type: array items: $ref: '#/components/schemas/openstatus.maintenance.v1.MaintenanceSummary' title: maintenances description: Scheduled maintenances. overallStatus: title: overall_status description: Aggregated status across all components. $ref: '#/components/schemas/openstatus.status_page.v1.OverallStatus' componentStatuses: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.ComponentStatus' title: component_statuses description: Status of individual components. title: GetStatusPageOverviewResponse additionalProperties: false description: GetStatusPageOverviewResponse bundles all data for a single status page. openstatus.status_page.v1.GetStatusPageRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the status page to retrieve (required). title: GetStatusPageRequest additionalProperties: false description: GetStatusPageRequest is the request to get a status page by ID. openstatus.status_page.v1.GetStatusPageResponse: type: object properties: statusPage: title: status_page description: The requested status page. $ref: '#/components/schemas/openstatus.status_page.v1.StatusPage' title: GetStatusPageResponse additionalProperties: false description: GetStatusPageResponse is the response containing the status page. openstatus.status_page.v1.ListStatusPagesRequest: type: object properties: limit: type: - integer - "null" title: limit maximum: 100 minimum: 1 format: int32 description: Maximum number of pages to return (1-100, defaults to 50). offset: type: - integer - "null" title: offset minimum: 0 format: int32 description: Number of pages to skip for pagination (defaults to 0). title: ListStatusPagesRequest additionalProperties: false description: ListStatusPagesRequest is the request to list status pages. openstatus.status_page.v1.ListStatusPagesResponse: type: object properties: statusPages: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.StatusPageSummary' title: status_pages description: List of status pages (metadata only). totalSize: type: integer title: total_size format: int32 description: Total number of status pages. title: ListStatusPagesResponse additionalProperties: false description: ListStatusPagesResponse is the response containing status page summaries. openstatus.status_page.v1.ListSubscribersRequest: type: object properties: pageId: type: string title: page_id minLength: 1 description: ID of the status page to list subscribers for (required). limit: type: - integer - "null" title: limit maximum: 100 minimum: 1 format: int32 description: Maximum number of subscribers to return (1-100, defaults to 50). offset: type: - integer - "null" title: offset minimum: 0 format: int32 description: Number of subscribers to skip for pagination (defaults to 0). includeUnsubscribed: type: - boolean - "null" title: include_unsubscribed description: Whether to include unsubscribed users (defaults to false). title: ListSubscribersRequest additionalProperties: false description: ListSubscribersRequest is the request to list subscribers of a status page. openstatus.status_page.v1.ListSubscribersResponse: type: object properties: subscribers: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.PageSubscriber' title: subscribers description: List of subscribers. totalSize: type: integer title: total_size format: int32 description: Total number of subscribers matching the filter. title: ListSubscribersResponse additionalProperties: false description: ListSubscribersResponse is the response containing status page subscribers. openstatus.status_page.v1.Locale: type: string title: Locale enum: - LOCALE_UNSPECIFIED - LOCALE_EN - LOCALE_FR - LOCALE_DE - LOCALE_TR - LOCALE_HI - LOCALE_KO - LOCALE_JA description: Locale defines the supported languages for a status page. openstatus.status_page.v1.OverallStatus: type: string title: OverallStatus enum: - OVERALL_STATUS_UNSPECIFIED - OVERALL_STATUS_OPERATIONAL - OVERALL_STATUS_DEGRADED - OVERALL_STATUS_PARTIAL_OUTAGE - OVERALL_STATUS_MAJOR_OUTAGE - OVERALL_STATUS_MAINTENANCE - OVERALL_STATUS_UNKNOWN description: OverallStatus represents the aggregated status of all components on a page. openstatus.status_page.v1.PageAccessType: type: string title: PageAccessType enum: - PAGE_ACCESS_TYPE_UNSPECIFIED - PAGE_ACCESS_TYPE_PUBLIC - PAGE_ACCESS_TYPE_PASSWORD_PROTECTED - PAGE_ACCESS_TYPE_AUTHENTICATED - PAGE_ACCESS_TYPE_IP_RESTRICTED description: PageAccessType defines who can access the status page. openstatus.status_page.v1.PageBarType: type: string title: PageBarType enum: - PAGE_BAR_TYPE_UNSPECIFIED - PAGE_BAR_TYPE_ABSOLUTE - PAGE_BAR_TYPE_MANUAL description: PageBarType mirrors page.configuration.type (how the status bar is computed). openstatus.status_page.v1.PageComponent: type: object properties: id: type: string title: id description: Unique identifier for the component. pageId: type: string title: page_id description: ID of the status page this component belongs to. name: type: string title: name description: Display name of the component. description: type: string title: description description: Description of the component (optional). type: title: type description: Type of the component (monitor or static). $ref: '#/components/schemas/openstatus.status_page.v1.PageComponentType' monitorId: type: string title: monitor_id description: ID of the monitor if type is MONITOR (optional). order: type: integer title: order format: int32 description: Display order of the component. groupId: type: string title: group_id description: ID of the group this component belongs to (optional). groupOrder: type: integer title: group_order format: int32 description: Order within the group if grouped. createdAt: type: string title: created_at description: Timestamp when the component was created (RFC 3339 format). updatedAt: type: string title: updated_at description: Timestamp when the component was last updated (RFC 3339 format). title: PageComponent additionalProperties: false description: PageComponent represents a component displayed on a status page. openstatus.status_page.v1.PageComponentDailySummary: type: object properties: componentId: type: string title: component_id description: ID of the component. type: title: type description: Component type (monitor or static). $ref: '#/components/schemas/openstatus.status_page.v1.PageComponentType' monitorId: type: - string - "null" title: monitor_id description: Monitor id backing the component (absent for static components). name: type: string title: name description: Display name of the component. buckets: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.ComponentDayBucket' title: buckets description: Per-day buckets, oldest first. events: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.ComponentEvent' title: events description: Events affecting the component within the window. title: PageComponentDailySummary additionalProperties: false description: PageComponentDailySummary is the per-day buckets + event timeline for one component. openstatus.status_page.v1.PageComponentGroup: type: object properties: id: type: string title: id description: Unique identifier for the group. pageId: type: string title: page_id description: ID of the status page this group belongs to. name: type: string title: name description: Display name of the group. createdAt: type: string title: created_at description: Timestamp when the group was created (RFC 3339 format). updatedAt: type: string title: updated_at description: Timestamp when the group was last updated (RFC 3339 format). defaultOpen: type: boolean title: default_open description: Whether the group should be expanded by default on the status page. title: PageComponentGroup additionalProperties: false description: PageComponentGroup represents a group of components on a status page. openstatus.status_page.v1.PageComponentType: type: string title: PageComponentType enum: - PAGE_COMPONENT_TYPE_UNSPECIFIED - PAGE_COMPONENT_TYPE_MONITOR - PAGE_COMPONENT_TYPE_STATIC description: PageComponentType defines the type of a component on a status page. openstatus.status_page.v1.PageConfiguration: type: object properties: metricType: title: metric_type description: Which metric the status bars represent (configuration.value). $ref: '#/components/schemas/openstatus.status_page.v1.PageMetricType' barType: title: bar_type description: How the status bar is computed (configuration.type). $ref: '#/components/schemas/openstatus.status_page.v1.PageBarType' showUptime: type: boolean title: show_uptime description: Whether to show the uptime percentage (configuration.uptime). themeKey: type: string title: theme_key description: |- Theme key from the theme store (configuration.theme), e.g. "default". Free-form string rather than an enum because the theme catalog is dynamic. days: type: integer title: days format: int32 description: 'Number of uptime-bar days rendered on the page (configuration.days): 30 or 45.' title: PageConfiguration additionalProperties: false description: PageConfiguration is the rich rendering config stored in page.configuration. openstatus.status_page.v1.PageMetricType: type: string title: PageMetricType enum: - PAGE_METRIC_TYPE_UNSPECIFIED - PAGE_METRIC_TYPE_DURATION - PAGE_METRIC_TYPE_REQUESTS - PAGE_METRIC_TYPE_MANUAL description: PageMetricType mirrors page.configuration.value (which metric the status bars represent). openstatus.status_page.v1.PageSubscriber: type: object properties: id: type: string title: id description: Unique identifier for the subscriber. pageId: type: string title: page_id description: ID of the status page the user is subscribed to. email: type: string title: email description: Email address of the subscriber (empty for webhook channels). acceptedAt: type: string title: accepted_at description: Timestamp when the subscription was accepted/confirmed (RFC 3339 format, optional). unsubscribedAt: type: string title: unsubscribed_at description: Timestamp when the user unsubscribed (RFC 3339 format, optional). createdAt: type: string title: created_at description: Timestamp when the subscription was created (RFC 3339 format). updatedAt: type: string title: updated_at description: Timestamp when the subscription was last updated (RFC 3339 format). source: title: source description: How the subscription was created. Vendor-added rows skip verification. $ref: '#/components/schemas/openstatus.status_page.v1.SubscriberSource' name: type: - string - "null" title: name description: 'Optional human-readable label (e.g. "Supabase #incidents").' channelType: type: string title: channel_type description: 'Channel type: "email" or "webhook".' webhookUrl: type: - string - "null" title: webhook_url description: Webhook URL (populated only for channel_type = "webhook"). channelConfig: type: - string - "null" title: channel_config description: JSON-encoded channel config (e.g. custom headers). Populated for webhook channels. componentIds: type: array items: type: string title: component_ids description: IDs of components this subscription is scoped to. Empty = entire page. title: PageSubscriber additionalProperties: false description: PageSubscriber represents a subscriber to a status page. openstatus.status_page.v1.PageTheme: type: string title: PageTheme enum: - PAGE_THEME_UNSPECIFIED - PAGE_THEME_SYSTEM - PAGE_THEME_LIGHT - PAGE_THEME_DARK description: PageTheme defines the visual theme of the status page. openstatus.status_page.v1.RemoveComponentRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the component to remove (required). title: RemoveComponentRequest additionalProperties: false description: RemoveComponentRequest is the request to remove a component from a status page. openstatus.status_page.v1.RemoveComponentResponse: type: object properties: success: type: boolean title: success description: Whether the removal was successful. title: RemoveComponentResponse additionalProperties: false description: RemoveComponentResponse is the response after removing a component. openstatus.status_page.v1.StatusPage: type: object properties: id: type: string title: id description: Unique identifier for the status page. title: type: string title: title description: Title of the status page. description: type: string title: description description: Description of the status page. slug: type: string examples: - acme-corp title: slug description: URL-friendly slug for the status page. customDomain: type: string examples: - status.example.com title: custom_domain description: Custom domain for the status page (optional). published: type: boolean title: published description: Whether the status page is published and visible. accessType: title: access_type description: Access type for the status page. $ref: '#/components/schemas/openstatus.status_page.v1.PageAccessType' theme: title: theme description: Visual theme for the status page. $ref: '#/components/schemas/openstatus.status_page.v1.PageTheme' homepageUrl: type: string title: homepage_url description: URL to the homepage (optional). contactUrl: type: string title: contact_url description: URL to the contact page (optional). icon: type: string title: icon description: Icon URL for the status page (optional). createdAt: type: string examples: - "2024-01-15T09:00:00Z" title: created_at description: Timestamp when the page was created (RFC 3339 format). updatedAt: type: string examples: - "2024-06-20T14:30:00Z" title: updated_at description: Timestamp when the page was last updated (RFC 3339 format). defaultLocale: title: default_locale description: Default locale for the status page. $ref: '#/components/schemas/openstatus.status_page.v1.Locale' locales: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.Locale' title: locales description: Enabled locales for the status page. password: type: string title: password description: Password for the status page (only set when access_type is PASSWORD_PROTECTED). authEmailDomains: type: array items: type: string title: auth_email_domains description: Email domains allowed to access the page (only set when access_type is AUTHENTICATED). allowIndex: type: boolean title: allow_index description: Whether search engines are allowed to index this status page. allowedIpRanges: type: string title: allowed_ip_ranges description: Comma-separated IPv4 CIDR ranges (only set when access_type is IP_RESTRICTED). customTheme: oneOf: - $ref: '#/components/schemas/openstatus.status_page.v1.CustomTheme' - type: "null" title: custom_theme description: Per-mode CSS variable overrides merged over the theme (only set when configured). title: StatusPage additionalProperties: false description: StatusPage represents a full status page with all details. openstatus.status_page.v1.StatusPageSummary: type: object properties: id: type: string title: id description: Unique identifier for the status page. title: type: string title: title description: Title of the status page. slug: type: string title: slug description: URL-friendly slug for the status page. published: type: boolean title: published description: Whether the status page is published and visible. createdAt: type: string title: created_at description: Timestamp when the page was created (RFC 3339 format). updatedAt: type: string title: updated_at description: Timestamp when the page was last updated (RFC 3339 format). customDomain: type: string examples: - status.example.com title: custom_domain description: Custom domain for the status page (optional). title: StatusPageSummary additionalProperties: false description: StatusPageSummary represents metadata for a status page (used in list responses). openstatus.status_page.v1.SubscribeToPageRequest: type: object properties: pageId: type: string title: page_id minLength: 1 description: ID of the status page to subscribe to (required). email: type: string examples: - user@example.com title: email format: email description: Email address to subscribe (required). title: SubscribeToPageRequest additionalProperties: false description: SubscribeToPageRequest is the request to subscribe an email to a status page. openstatus.status_page.v1.SubscribeToPageResponse: type: object properties: subscriber: title: subscriber description: The created subscriber. $ref: '#/components/schemas/openstatus.status_page.v1.PageSubscriber' title: SubscribeToPageResponse additionalProperties: false description: SubscribeToPageResponse is the response after subscribing to a status page. openstatus.status_page.v1.SubscriberSource: type: string title: SubscriberSource enum: - SUBSCRIBER_SOURCE_UNSPECIFIED - SUBSCRIBER_SOURCE_SELF_SIGNUP - SUBSCRIBER_SOURCE_VENDOR - SUBSCRIBER_SOURCE_IMPORT description: SubscriberSource indicates how the subscription was created. openstatus.status_page.v1.UnsubscribeFromPageRequest: type: object allOf: - properties: pageId: type: string title: page_id minLength: 1 description: ID of the status page to unsubscribe from (required). - oneOf: - type: object properties: email: type: string title: email description: Email address to unsubscribe. title: email required: - email - type: object properties: id: type: string title: id description: Subscriber ID. title: id required: - id title: UnsubscribeFromPageRequest additionalProperties: false description: UnsubscribeFromPageRequest is the request to unsubscribe from a status page. openstatus.status_page.v1.UnsubscribeFromPageResponse: type: object properties: success: type: boolean title: success description: Whether the unsubscription was successful. title: UnsubscribeFromPageResponse additionalProperties: false description: UnsubscribeFromPageResponse is the response after unsubscribing from a status page. openstatus.status_page.v1.UpdateComponentGroupRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the component group to update (required). name: type: - string - "null" title: name maxLength: 256 minLength: 1 description: New display name for the group (optional). defaultOpen: type: - boolean - "null" title: default_open description: Whether the group should be expanded by default on the status page (optional). title: UpdateComponentGroupRequest additionalProperties: false description: UpdateComponentGroupRequest is the request to update a component group. openstatus.status_page.v1.UpdateComponentGroupResponse: type: object properties: group: title: group description: The updated component group. $ref: '#/components/schemas/openstatus.status_page.v1.PageComponentGroup' title: UpdateComponentGroupResponse additionalProperties: false description: UpdateComponentGroupResponse is the response after updating a component group. openstatus.status_page.v1.UpdateComponentRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the component to update (required). name: type: - string - "null" title: name maxLength: 256 description: New display name for the component (optional). description: type: - string - "null" title: description maxLength: 1024 description: New description for the component (optional). order: type: - integer - "null" title: order format: int32 description: New display order (optional). groupId: type: - string - "null" title: group_id description: New group ID (optional, set to empty string to remove from group). groupOrder: type: - integer - "null" title: group_order format: int32 description: New order within the group (optional). title: UpdateComponentRequest additionalProperties: false description: UpdateComponentRequest is the request to update a component. openstatus.status_page.v1.UpdateComponentResponse: type: object properties: component: title: component description: The updated component. $ref: '#/components/schemas/openstatus.status_page.v1.PageComponent' title: UpdateComponentResponse additionalProperties: false description: UpdateComponentResponse is the response after updating a component. openstatus.status_page.v1.UpdateStatusPageRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the status page to update (required). title: type: - string - "null" title: title maxLength: 256 minLength: 1 description: New title for the status page (optional). description: type: - string - "null" title: description maxLength: 1024 description: New description for the status page (optional). slug: type: - string - "null" title: slug maxLength: 256 minLength: 1 pattern: ^[a-z0-9]+(?:-[a-z0-9]+)*$ description: New slug for the status page (optional). homepageUrl: type: - string - "null" title: homepage_url description: New homepage URL (optional). contactUrl: type: - string - "null" title: contact_url description: New contact URL (optional). defaultLocale: oneOf: - $ref: '#/components/schemas/openstatus.status_page.v1.Locale' - type: "null" title: default_locale description: New default locale for the status page (optional). locales: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.Locale' title: locales description: New enabled locales for the status page (optional). icon: type: - string - "null" title: icon maxLength: 1024 description: New icon URL for the status page (optional). customDomain: type: - string - "null" title: custom_domain maxLength: 256 description: New custom domain (optional). theme: oneOf: - $ref: '#/components/schemas/openstatus.status_page.v1.PageTheme' - type: "null" title: theme description: New visual theme (optional). accessType: oneOf: - $ref: '#/components/schemas/openstatus.status_page.v1.PageAccessType' - type: "null" title: access_type description: New access type (optional). password: type: - string - "null" title: password maxLength: 256 minLength: 1 description: New password (optional, required when access_type is PASSWORD_PROTECTED). authEmailDomains: type: array items: type: string title: auth_email_domains description: New email domains (optional, required when access_type is AUTHENTICATED). allowIndex: type: - boolean - "null" title: allow_index description: Whether search engines are allowed to index this status page (optional). allowedIpRanges: type: - string - "null" title: allowed_ip_ranges description: Comma-separated IPv4 CIDR ranges (required when access_type is IP_RESTRICTED). customTheme: oneOf: - $ref: '#/components/schemas/openstatus.status_page.v1.CustomTheme' - type: "null" title: custom_theme description: |- New per-mode CSS variable overrides (optional). Omit to keep the current value; send an empty message to clear. Requires the custom-theme plan feature. title: UpdateStatusPageRequest additionalProperties: false description: UpdateStatusPageRequest is the request to update a status page. openstatus.status_page.v1.UpdateStatusPageResponse: type: object properties: statusPage: title: status_page description: The updated status page. $ref: '#/components/schemas/openstatus.status_page.v1.StatusPage' title: UpdateStatusPageResponse additionalProperties: false description: UpdateStatusPageResponse is the response after updating a status page. openstatus.status_page.v1.WebhookChannel: type: object properties: webhookUrl: type: string title: webhook_url maxLength: 2048 minLength: 1 format: uri description: Webhook URL (required). Payload flavor (Slack / Discord / generic) is auto-detected from the URL prefix. headers: type: array items: $ref: '#/components/schemas/openstatus.status_page.v1.WebhookChannelHeader' title: headers description: Optional custom HTTP headers attached to every dispatch. title: WebhookChannel additionalProperties: false description: WebhookChannel carries the webhook-channel fields for CreatePageSubscription. openstatus.status_page.v1.WebhookChannelHeader: type: object properties: key: type: string title: key minLength: 1 value: type: string title: value title: WebhookChannelHeader additionalProperties: false description: WebhookChannelHeader is a single custom HTTP header. openstatus.status_report.v1.AddStatusReportUpdateRequest: type: object properties: statusReportId: type: string title: status_report_id minLength: 1 description: ID of the status report to update (required). status: title: status description: New status for the report (required). $ref: '#/components/schemas/openstatus.status_report.v1.StatusReportStatus' message: type: string title: message minLength: 1 description: Message describing what changed (required). date: type: - string - "null" title: date pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,9})?(Z|[+-]\d{2}:\d{2})$ description: Optional date for the update (RFC 3339 format). Defaults to current time if not provided. notify: type: - boolean - "null" title: notify description: Whether to notify subscribers about this update (optional, defaults to false). componentImpacts: type: array items: $ref: '#/components/schemas/openstatus.status_report.v1.ComponentImpact' title: component_impacts description: |- Per-component impacts this update sets (optional). Components named here are added to the report's affected set; omitted components keep their prior impact. title: AddStatusReportUpdateRequest additionalProperties: false description: AddStatusReportUpdateRequest is the request to add a new update to a status report. openstatus.status_report.v1.AddStatusReportUpdateResponse: type: object properties: statusReport: title: status_report description: The updated status report with the new update included. $ref: '#/components/schemas/openstatus.status_report.v1.StatusReport' title: AddStatusReportUpdateResponse additionalProperties: false description: AddStatusReportUpdateResponse is the response after adding an update to a status report. openstatus.status_report.v1.ComponentImpact: type: object properties: pageComponentId: type: string title: page_component_id description: ID of the affected page component. impact: title: impact description: Impact set for the component. $ref: '#/components/schemas/openstatus.status_report.v1.PageComponentImpact' title: ComponentImpact additionalProperties: false description: ComponentImpact pairs a page component with the impact an update set for it. openstatus.status_report.v1.CreateStatusReportRequest: type: object properties: title: type: string examples: - API Degradation Investigation title: title minLength: 1 description: Title of the status report (required). status: title: status description: Initial status (required). $ref: '#/components/schemas/openstatus.status_report.v1.StatusReportStatus' message: type: string examples: - We are investigating reports of increased API latency. title: message minLength: 1 description: Initial message describing the incident (required). date: type: string examples: - "2024-03-15T10:30:00Z" title: date pattern: ^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}(\.\d{1,9})?(Z|[+-]\d{2}:\d{2})$ description: Date when the event occurred (RFC 3339 format, required). pageId: type: string title: page_id minLength: 1 description: Page ID to associate with this report (required). pageComponentIds: type: array items: type: string title: page_component_ids description: Page component IDs to associate with this report (optional). notify: type: - boolean - "null" title: notify description: Whether to notify subscribers about this status report (optional, defaults to false). componentImpacts: type: array items: $ref: '#/components/schemas/openstatus.status_report.v1.ComponentImpact' title: component_impacts description: |- Per-component impacts set by the initial update (optional). When provided, the named components are added to the report's affected set. Omitting this field creates a legacy report without impact tracking. title: CreateStatusReportRequest additionalProperties: false description: CreateStatusReportRequest is the request to create a new status report. openstatus.status_report.v1.CreateStatusReportResponse: type: object properties: statusReport: title: status_report description: The created status report. $ref: '#/components/schemas/openstatus.status_report.v1.StatusReport' title: CreateStatusReportResponse additionalProperties: false description: CreateStatusReportResponse is the response after creating a status report. openstatus.status_report.v1.DeleteStatusReportRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the status report to delete (required). title: DeleteStatusReportRequest additionalProperties: false description: DeleteStatusReportRequest is the request to delete a status report. openstatus.status_report.v1.DeleteStatusReportResponse: type: object properties: success: type: boolean title: success description: Whether the deletion was successful. title: DeleteStatusReportResponse additionalProperties: false description: DeleteStatusReportResponse is the response after deleting a status report. openstatus.status_report.v1.GetStatusReportRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the status report to retrieve (required). title: GetStatusReportRequest additionalProperties: false description: GetStatusReportRequest is the request to get a status report by ID. openstatus.status_report.v1.GetStatusReportResponse: type: object properties: statusReport: title: status_report description: The requested status report. $ref: '#/components/schemas/openstatus.status_report.v1.StatusReport' title: GetStatusReportResponse additionalProperties: false description: GetStatusReportResponse is the response containing the status report with its full update timeline. openstatus.status_report.v1.ListStatusReportsRequest: type: object properties: limit: type: - integer - "null" title: limit maximum: 100 minimum: 1 format: int32 description: Maximum number of reports to return (1-100, defaults to 50). offset: type: - integer - "null" title: offset minimum: 0 format: int32 description: Number of reports to skip for pagination (defaults to 0). statuses: type: array items: $ref: '#/components/schemas/openstatus.status_report.v1.StatusReportStatus' title: statuses description: Filter by status (optional). If empty, returns all statuses. title: ListStatusReportsRequest additionalProperties: false description: ListStatusReportsRequest is the request to list status reports. openstatus.status_report.v1.ListStatusReportsResponse: type: object properties: statusReports: type: array items: $ref: '#/components/schemas/openstatus.status_report.v1.StatusReportSummary' title: status_reports description: List of status reports (metadata only, use GetStatusReport for full details). totalSize: type: integer title: total_size format: int32 description: Total number of reports matching the filter. title: ListStatusReportsResponse additionalProperties: false description: ListStatusReportsResponse is the response containing status report summaries. openstatus.status_report.v1.PageComponentImpact: type: string title: PageComponentImpact enum: - PAGE_COMPONENT_IMPACT_UNSPECIFIED - PAGE_COMPONENT_IMPACT_OPERATIONAL - PAGE_COMPONENT_IMPACT_DEGRADED_PERFORMANCE - PAGE_COMPONENT_IMPACT_PARTIAL_OUTAGE - PAGE_COMPONENT_IMPACT_MAJOR_OUTAGE description: |- PageComponentImpact is the per-component impact a status report update sets. UNSPECIFIED means the caller doesn't speak impact (legacy) โ it is NOT operational. openstatus.status_report.v1.StatusReport: type: object properties: id: type: string title: id description: Unique identifier for the status report. status: title: status description: Current status of the report. $ref: '#/components/schemas/openstatus.status_report.v1.StatusReportStatus' title: type: string title: title description: Title of the status report. pageComponentIds: type: array items: type: string title: page_component_ids description: IDs of affected page components. updates: type: array items: $ref: '#/components/schemas/openstatus.status_report.v1.StatusReportUpdate' title: updates description: Timeline of updates for this report (only included in GetStatusReport). createdAt: type: string title: created_at description: Timestamp when the report was created (RFC 3339 format). updatedAt: type: string title: updated_at description: Timestamp when the report was last updated (RFC 3339 format). title: StatusReport additionalProperties: false description: StatusReport represents an incident or maintenance report with full details. openstatus.status_report.v1.StatusReportStatus: type: string title: StatusReportStatus enum: - STATUS_REPORT_STATUS_UNSPECIFIED - STATUS_REPORT_STATUS_INVESTIGATING - STATUS_REPORT_STATUS_IDENTIFIED - STATUS_REPORT_STATUS_MONITORING - STATUS_REPORT_STATUS_RESOLVED description: StatusReportStatus represents the current state of a status report. openstatus.status_report.v1.StatusReportSummary: type: object properties: id: type: string title: id description: Unique identifier for the status report. status: title: status description: Current status of the report. $ref: '#/components/schemas/openstatus.status_report.v1.StatusReportStatus' title: type: string title: title description: Title of the status report. pageComponentIds: type: array items: type: string title: page_component_ids description: IDs of affected page components. createdAt: type: string title: created_at description: Timestamp when the report was created (RFC 3339 format). updatedAt: type: string title: updated_at description: Timestamp when the report was last updated (RFC 3339 format). title: StatusReportSummary additionalProperties: false description: StatusReportSummary represents metadata for a status report (used in list responses). openstatus.status_report.v1.StatusReportUpdate: type: object properties: id: type: string title: id description: Unique identifier for the update. status: title: status description: Status at the time of this update. $ref: '#/components/schemas/openstatus.status_report.v1.StatusReportStatus' date: type: string title: date description: Timestamp when this update occurred (RFC 3339 format). message: type: string title: message description: Message describing the update. createdAt: type: string title: created_at description: Timestamp when the update was created (RFC 3339 format). componentImpacts: type: array items: $ref: '#/components/schemas/openstatus.status_report.v1.ComponentImpact' title: component_impacts description: Per-component impacts this update set (empty for legacy reports). title: StatusReportUpdate additionalProperties: false description: StatusReportUpdate represents a single update entry in a status report timeline. openstatus.status_report.v1.UpdateStatusReportRequest: type: object properties: id: type: string title: id minLength: 1 description: ID of the status report to update (required). title: type: - string - "null" title: title description: New title for the report (optional). pageComponentIds: type: array items: type: string title: page_component_ids description: New list of page component IDs (optional, replaces existing list). updatePageComponentIds: type: - boolean - "null" title: update_page_component_ids description: |- Set to true to update page component associations. When true, page_component_ids replaces the existing list (empty clears all). When false or unset, page_component_ids is ignored and existing associations are preserved. title: UpdateStatusReportRequest additionalProperties: false description: UpdateStatusReportRequest is the request to update a status report's metadata. openstatus.status_report.v1.UpdateStatusReportResponse: type: object properties: statusReport: title: status_report description: The updated status report. $ref: '#/components/schemas/openstatus.status_report.v1.StatusReport' title: UpdateStatusReportResponse additionalProperties: false description: UpdateStatusReportResponse is the response after updating a status report.security: - ApiKeyAuth: []tags: - name: MonitorService description: | Create, update, delete, and query monitors. Supports HTTP, TCP, and DNS monitor types with configurable check intervals, regions, assertions, and alerting thresholds. - name: StatusPageService description: | Manage public status pages with components, component groups, and email subscribers. Includes endpoints for retrieving full page content and aggregated status. - name: NotificationService description: | Configure notification channels (Slack, Discord, PagerDuty, email, webhooks, etc.) and associate them with monitors. Supports 12 notification providers. - name: StatusReportService description: | Create and manage incident reports with status updates. Reports follow a lifecycle: investigating -> identified -> monitoring -> resolved. - name: MaintenanceService description: | Schedule maintenance windows for status page components. Subscribers can be notified automatically when maintenance is created. - name: HealthService description: Health check endpoint for load balancer probes. No authentication required. - name: PrivateLocationService description: |- PrivateLocationService provides CRUD operations for private locations โ self-hosted checker agents that run monitors from your own network.paths: /rpc/openstatus.health.v1.HealthService/Check: get: tags: - HealthService summary: Check description: Check returns the current serving status of the service. operationId: HealthService_Check.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.health.v1.CheckRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.health.v1.CheckResponse' post: tags: - HealthService summary: Check description: Check returns the current serving status of the service. operationId: HealthService_Check requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.health.v1.CheckRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.health.v1.CheckResponse' /rpc/openstatus.maintenance.v1.MaintenanceService/CreateMaintenance: post: tags: - MaintenanceService summary: CreateMaintenance description: CreateMaintenance creates a new maintenance window. operationId: MaintenanceService_CreateMaintenance requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.CreateMaintenanceRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.CreateMaintenanceResponse' /rpc/openstatus.maintenance.v1.MaintenanceService/DeleteMaintenance: post: tags: - MaintenanceService summary: DeleteMaintenance description: DeleteMaintenance removes a maintenance window. operationId: MaintenanceService_DeleteMaintenance requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.DeleteMaintenanceRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.DeleteMaintenanceResponse' /rpc/openstatus.maintenance.v1.MaintenanceService/GetMaintenance: get: tags: - MaintenanceService summary: GetMaintenance description: GetMaintenance retrieves a specific maintenance window by ID. operationId: MaintenanceService_GetMaintenance.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.GetMaintenanceRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.GetMaintenanceResponse' post: tags: - MaintenanceService summary: GetMaintenance description: GetMaintenance retrieves a specific maintenance window by ID. operationId: MaintenanceService_GetMaintenance requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.GetMaintenanceRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.GetMaintenanceResponse' /rpc/openstatus.maintenance.v1.MaintenanceService/ListMaintenances: get: tags: - MaintenanceService summary: ListMaintenances description: ListMaintenances returns all maintenance windows for the workspace. operationId: MaintenanceService_ListMaintenances.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.ListMaintenancesRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.ListMaintenancesResponse' post: tags: - MaintenanceService summary: ListMaintenances description: ListMaintenances returns all maintenance windows for the workspace. operationId: MaintenanceService_ListMaintenances requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.ListMaintenancesRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.ListMaintenancesResponse' /rpc/openstatus.maintenance.v1.MaintenanceService/UpdateMaintenance: post: tags: - MaintenanceService summary: UpdateMaintenance description: UpdateMaintenance updates a maintenance window. operationId: MaintenanceService_UpdateMaintenance requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.UpdateMaintenanceRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.maintenance.v1.UpdateMaintenanceResponse' /rpc/openstatus.monitor.v1.MonitorService/CreateDNSMonitor: post: tags: - MonitorService summary: CreateDNSMonitor description: CreateDNSMonitor creates a new DNS monitor. operationId: MonitorService_CreateDNSMonitor requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.CreateDNSMonitorRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.CreateDNSMonitorResponse' /rpc/openstatus.monitor.v1.MonitorService/CreateGRPCMonitor: post: tags: - MonitorService summary: CreateGRPCMonitor description: CreateGRPCMonitor creates a new gRPC health check monitor. operationId: MonitorService_CreateGRPCMonitor requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.CreateGRPCMonitorRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.CreateGRPCMonitorResponse' /rpc/openstatus.monitor.v1.MonitorService/CreateHTTPMonitor: post: tags: - MonitorService summary: CreateHTTPMonitor description: Creates a new HTTP monitor in the authenticated workspace. Configure the target URL, HTTP method, request headers and body, response assertions (status code, body content, headers), check periodicity, geographic regions, and optional OpenTelemetry export. The monitor starts checking immediately if set to active. operationId: MonitorService_CreateHTTPMonitor requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.CreateHTTPMonitorRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.CreateHTTPMonitorResponse' /rpc/openstatus.monitor.v1.MonitorService/CreateICMPMonitor: post: tags: - MonitorService summary: CreateICMPMonitor description: CreateICMPMonitor creates a new ICMP monitor. operationId: MonitorService_CreateICMPMonitor requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.CreateICMPMonitorRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.CreateICMPMonitorResponse' /rpc/openstatus.monitor.v1.MonitorService/CreateTCPMonitor: post: tags: - MonitorService summary: CreateTCPMonitor description: CreateTCPMonitor creates a new TCP monitor. operationId: MonitorService_CreateTCPMonitor requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.CreateTCPMonitorRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.CreateTCPMonitorResponse' /rpc/openstatus.monitor.v1.MonitorService/DeleteMonitor: post: tags: - MonitorService summary: DeleteMonitor description: DeleteMonitor removes a monitor. operationId: MonitorService_DeleteMonitor requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.DeleteMonitorRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.DeleteMonitorResponse' /rpc/openstatus.monitor.v1.MonitorService/GetMonitor: get: tags: - MonitorService summary: GetMonitor description: |- GetMonitor returns a single monitor by ID within the authenticated workspace. Returns the monitor configuration (HTTP, TCP, DNS, ICMP, or gRPC) using the MonitorConfig oneof type. operationId: MonitorService_GetMonitor.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorResponse' post: tags: - MonitorService summary: GetMonitor description: |- GetMonitor returns a single monitor by ID within the authenticated workspace. Returns the monitor configuration (HTTP, TCP, DNS, ICMP, or gRPC) using the MonitorConfig oneof type. operationId: MonitorService_GetMonitor requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorResponse' /rpc/openstatus.monitor.v1.MonitorService/GetMonitorHTTPResponseLog: get: tags: - MonitorService summary: GetMonitorHTTPResponseLog description: GetMonitorHTTPResponseLog returns one response log for an HTTP monitor. operationId: MonitorService_GetMonitorHTTPResponseLog.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorHTTPResponseLogRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorHTTPResponseLogResponse' post: tags: - MonitorService summary: GetMonitorHTTPResponseLog description: GetMonitorHTTPResponseLog returns one response log for an HTTP monitor. operationId: MonitorService_GetMonitorHTTPResponseLog requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorHTTPResponseLogRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorHTTPResponseLogResponse' /rpc/openstatus.monitor.v1.MonitorService/GetMonitorStatus: get: tags: - MonitorService summary: GetMonitorStatus description: GetMonitorStatus returns the current status of all regions for a monitor. operationId: MonitorService_GetMonitorStatus.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorStatusRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorStatusResponse' post: tags: - MonitorService summary: GetMonitorStatus description: GetMonitorStatus returns the current status of all regions for a monitor. operationId: MonitorService_GetMonitorStatus requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorStatusRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorStatusResponse' /rpc/openstatus.monitor.v1.MonitorService/GetMonitorSummary: get: tags: - MonitorService summary: GetMonitorSummary description: Returns aggregated metrics for a monitor including latency percentiles (p50, p75, p90, p95, p99), request counts by status (successful, degraded, failed), and the timestamp of the last check. Metrics can be scoped to a time range (1 day, 7 days, or 14 days) and filtered by specific regions. operationId: MonitorService_GetMonitorSummary.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorSummaryRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorSummaryResponse' post: tags: - MonitorService summary: GetMonitorSummary description: Returns aggregated metrics for a monitor including latency percentiles (p50, p75, p90, p95, p99), request counts by status (successful, degraded, failed), and the timestamp of the last check. Metrics can be scoped to a time range (1 day, 7 days, or 14 days) and filtered by specific regions. operationId: MonitorService_GetMonitorSummary requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorSummaryRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.GetMonitorSummaryResponse' /rpc/openstatus.monitor.v1.MonitorService/ListMonitorHTTPResponseLogs: get: tags: - MonitorService summary: ListMonitorHTTPResponseLogs description: ListMonitorHTTPResponseLogs returns paginated response logs for an HTTP monitor from the 14-day HTTP response-log window. operationId: MonitorService_ListMonitorHTTPResponseLogs.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.ListMonitorHTTPResponseLogsRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.ListMonitorHTTPResponseLogsResponse' post: tags: - MonitorService summary: ListMonitorHTTPResponseLogs description: ListMonitorHTTPResponseLogs returns paginated response logs for an HTTP monitor from the 14-day HTTP response-log window. operationId: MonitorService_ListMonitorHTTPResponseLogs requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.ListMonitorHTTPResponseLogsRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.ListMonitorHTTPResponseLogsResponse' /rpc/openstatus.monitor.v1.MonitorService/ListMonitors: get: tags: - MonitorService summary: ListMonitors description: ListMonitors returns a paginated list of all monitors in the workspace. operationId: MonitorService_ListMonitors.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.ListMonitorsRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.ListMonitorsResponse' post: tags: - MonitorService summary: ListMonitors description: ListMonitors returns a paginated list of all monitors in the workspace. operationId: MonitorService_ListMonitors requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.ListMonitorsRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.ListMonitorsResponse' /rpc/openstatus.monitor.v1.MonitorService/TriggerMonitor: post: tags: - MonitorService summary: TriggerMonitor description: Manually triggers an immediate check for the specified monitor across all configured regions. This operation is rate-limited under the synthetic-checks quota. A monitor run record is created and the check is dispatched to the checker service. operationId: MonitorService_TriggerMonitor requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.TriggerMonitorRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.TriggerMonitorResponse' /rpc/openstatus.monitor.v1.MonitorService/UpdateDNSMonitor: post: tags: - MonitorService summary: UpdateDNSMonitor description: UpdateDNSMonitor updates an existing DNS monitor. operationId: MonitorService_UpdateDNSMonitor requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.UpdateDNSMonitorRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.UpdateDNSMonitorResponse' /rpc/openstatus.monitor.v1.MonitorService/UpdateGRPCMonitor: post: tags: - MonitorService summary: UpdateGRPCMonitor description: UpdateGRPCMonitor updates an existing gRPC monitor. operationId: MonitorService_UpdateGRPCMonitor requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.UpdateGRPCMonitorRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.UpdateGRPCMonitorResponse' /rpc/openstatus.monitor.v1.MonitorService/UpdateHTTPMonitor: post: tags: - MonitorService summary: UpdateHTTPMonitor description: UpdateHTTPMonitor updates an existing HTTP monitor. operationId: MonitorService_UpdateHTTPMonitor requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.UpdateHTTPMonitorRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.UpdateHTTPMonitorResponse' /rpc/openstatus.monitor.v1.MonitorService/UpdateICMPMonitor: post: tags: - MonitorService summary: UpdateICMPMonitor description: UpdateICMPMonitor updates an existing ICMP monitor. operationId: MonitorService_UpdateICMPMonitor requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.UpdateICMPMonitorRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.UpdateICMPMonitorResponse' /rpc/openstatus.monitor.v1.MonitorService/UpdateTCPMonitor: post: tags: - MonitorService summary: UpdateTCPMonitor description: UpdateTCPMonitor updates an existing TCP monitor. operationId: MonitorService_UpdateTCPMonitor requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.UpdateTCPMonitorRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.monitor.v1.UpdateTCPMonitorResponse' /rpc/openstatus.notification.v1.NotificationService/CheckNotificationLimit: get: tags: - NotificationService summary: CheckNotificationLimit description: CheckNotificationLimit checks if the workspace has reached its notification limit. operationId: NotificationService_CheckNotificationLimit.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.CheckNotificationLimitRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.CheckNotificationLimitResponse' post: tags: - NotificationService summary: CheckNotificationLimit description: CheckNotificationLimit checks if the workspace has reached its notification limit. operationId: NotificationService_CheckNotificationLimit requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.CheckNotificationLimitRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.CheckNotificationLimitResponse' /rpc/openstatus.notification.v1.NotificationService/CreateNotification: post: tags: - NotificationService summary: CreateNotification description: CreateNotification creates a new notification channel. operationId: NotificationService_CreateNotification requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.CreateNotificationRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.CreateNotificationResponse' /rpc/openstatus.notification.v1.NotificationService/DeleteNotification: post: tags: - NotificationService summary: DeleteNotification description: DeleteNotification removes a notification channel. operationId: NotificationService_DeleteNotification requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.DeleteNotificationRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.DeleteNotificationResponse' /rpc/openstatus.notification.v1.NotificationService/GetNotification: get: tags: - NotificationService summary: GetNotification description: GetNotification retrieves a notification channel by ID. operationId: NotificationService_GetNotification.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.GetNotificationRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.GetNotificationResponse' post: tags: - NotificationService summary: GetNotification description: GetNotification retrieves a notification channel by ID. operationId: NotificationService_GetNotification requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.GetNotificationRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.GetNotificationResponse' /rpc/openstatus.notification.v1.NotificationService/ListNotifications: get: tags: - NotificationService summary: ListNotifications description: ListNotifications returns a list of notification channels. operationId: NotificationService_ListNotifications.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.ListNotificationsRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.ListNotificationsResponse' post: tags: - NotificationService summary: ListNotifications description: ListNotifications returns a list of notification channels. operationId: NotificationService_ListNotifications requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.ListNotificationsRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.ListNotificationsResponse' /rpc/openstatus.notification.v1.NotificationService/SendTestNotification: post: tags: - NotificationService summary: SendTestNotification description: Sends a test notification to the specified provider to verify that the configuration is correct. This does not require an existing notification channel - just provide the provider type and its configuration data. Returns success status and an error message if the test failed. operationId: NotificationService_SendTestNotification requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.SendTestNotificationRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.SendTestNotificationResponse' /rpc/openstatus.notification.v1.NotificationService/UpdateNotification: post: tags: - NotificationService summary: UpdateNotification description: UpdateNotification updates an existing notification channel. operationId: NotificationService_UpdateNotification requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.UpdateNotificationRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.notification.v1.UpdateNotificationResponse' /rpc/openstatus.private_location.v1.PrivateLocationService/CreatePrivateLocation: post: tags: - PrivateLocationService summary: CreatePrivateLocation description: Creates a private location. The agent token is generated by the server and returned in the response - it cannot be supplied by the caller. Use the token to configure the agent so it can pull its monitors and report results. operationId: PrivateLocationService_CreatePrivateLocation requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.CreatePrivateLocationRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.CreatePrivateLocationResponse' /rpc/openstatus.private_location.v1.PrivateLocationService/DeletePrivateLocation: post: tags: - PrivateLocationService summary: DeletePrivateLocation description: DeletePrivateLocation removes a private location. operationId: PrivateLocationService_DeletePrivateLocation requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.DeletePrivateLocationRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.DeletePrivateLocationResponse' /rpc/openstatus.private_location.v1.PrivateLocationService/GetPrivateLocation: get: tags: - PrivateLocationService summary: GetPrivateLocation description: |- GetPrivateLocation retrieves a single private location by ID, including its agent token. operationId: PrivateLocationService_GetPrivateLocation.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.GetPrivateLocationRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.GetPrivateLocationResponse' post: tags: - PrivateLocationService summary: GetPrivateLocation description: |- GetPrivateLocation retrieves a single private location by ID, including its agent token. operationId: PrivateLocationService_GetPrivateLocation requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.GetPrivateLocationRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.GetPrivateLocationResponse' /rpc/openstatus.private_location.v1.PrivateLocationService/ListPrivateLocations: get: tags: - PrivateLocationService summary: ListPrivateLocations description: |- ListPrivateLocations returns a paginated list of private location summaries. Agent tokens are not included - use GetPrivateLocation. operationId: PrivateLocationService_ListPrivateLocations.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.ListPrivateLocationsRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.ListPrivateLocationsResponse' post: tags: - PrivateLocationService summary: ListPrivateLocations description: |- ListPrivateLocations returns a paginated list of private location summaries. Agent tokens are not included - use GetPrivateLocation. operationId: PrivateLocationService_ListPrivateLocations requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.ListPrivateLocationsRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.ListPrivateLocationsResponse' /rpc/openstatus.private_location.v1.PrivateLocationService/UpdatePrivateLocation: post: tags: - PrivateLocationService summary: UpdatePrivateLocation description: UpdatePrivateLocation updates a private location. operationId: PrivateLocationService_UpdatePrivateLocation requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.UpdatePrivateLocationRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.private_location.v1.UpdatePrivateLocationResponse' /rpc/openstatus.status_page.v1.StatusPageService/AddMonitorComponent: post: tags: - StatusPageService summary: AddMonitorComponent description: AddMonitorComponent adds a monitor-based component to a status page. operationId: StatusPageService_AddMonitorComponent requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.AddMonitorComponentRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.AddMonitorComponentResponse' /rpc/openstatus.status_page.v1.StatusPageService/AddStaticComponent: post: tags: - StatusPageService summary: AddStaticComponent description: AddStaticComponent adds a static component to a status page. operationId: StatusPageService_AddStaticComponent requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.AddStaticComponentRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.AddStaticComponentResponse' /rpc/openstatus.status_page.v1.StatusPageService/CreateComponentGroup: post: tags: - StatusPageService summary: CreateComponentGroup description: CreateComponentGroup creates a new component group. operationId: StatusPageService_CreateComponentGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.CreateComponentGroupRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.CreateComponentGroupResponse' /rpc/openstatus.status_page.v1.StatusPageService/CreatePageSubscription: post: tags: - StatusPageService summary: 'CreatePageSubscription: operator-added subscriber (email or webhook), no verification.' description: Operator-added subscriber (email or webhook) with no verification flow โ the partner starts receiving notifications immediately. Supports Slack and Discord webhook URLs in addition to email. A management token is still generated so the subscriber can self-manage (update scope, unsubscribe) without operator involvement. Use this for vendor/partner integrations where consent is established out-of-band; use SubscribeToPage for subscriber-initiated signups that require double opt-in. operationId: StatusPageService_CreatePageSubscription requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.CreatePageSubscriptionRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.CreatePageSubscriptionResponse' /rpc/openstatus.status_page.v1.StatusPageService/CreateStatusPage: post: tags: - StatusPageService summary: CreateStatusPage description: CreateStatusPage creates a new status page. operationId: StatusPageService_CreateStatusPage requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.CreateStatusPageRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.CreateStatusPageResponse' /rpc/openstatus.status_page.v1.StatusPageService/DeleteComponentGroup: post: tags: - StatusPageService summary: DeleteComponentGroup description: DeleteComponentGroup removes a component group. operationId: StatusPageService_DeleteComponentGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.DeleteComponentGroupRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.DeleteComponentGroupResponse' /rpc/openstatus.status_page.v1.StatusPageService/DeleteStatusPage: post: tags: - StatusPageService summary: DeleteStatusPage description: DeleteStatusPage removes a status page. operationId: StatusPageService_DeleteStatusPage requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.DeleteStatusPageRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.DeleteStatusPageResponse' /rpc/openstatus.status_page.v1.StatusPageService/GetOverallStatus: get: tags: - StatusPageService summary: GetOverallStatus description: 'Returns the overall status of a status page along with individual component statuses. The overall status is computed from active status reports and maintenances with the following priority: degraded (from active status reports) > maintenance (from active maintenance windows) > operational.' operationId: StatusPageService_GetOverallStatus.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetOverallStatusRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetOverallStatusResponse' post: tags: - StatusPageService summary: GetOverallStatus description: 'Returns the overall status of a status page along with individual component statuses. The overall status is computed from active status reports and maintenances with the following priority: degraded (from active status reports) > maintenance (from active maintenance windows) > operational.' operationId: StatusPageService_GetOverallStatus requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetOverallStatusRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetOverallStatusResponse' /rpc/openstatus.status_page.v1.StatusPageService/GetPageComponent: get: tags: - StatusPageService summary: GetPageComponent description: Returns a single status-page component by its ID, scoped to the authenticated workspace. Use this to resolve a component id to its name (and other fields) instead of fetching the whole page via GetStatusPageContent and filtering .components. operationId: StatusPageService_GetPageComponent.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetPageComponentRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetPageComponentResponse' post: tags: - StatusPageService summary: GetPageComponent description: Returns a single status-page component by its ID, scoped to the authenticated workspace. Use this to resolve a component id to its name (and other fields) instead of fetching the whole page via GetStatusPageContent and filtering .components. operationId: StatusPageService_GetPageComponent requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetPageComponentRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetPageComponentResponse' /rpc/openstatus.status_page.v1.StatusPageService/GetPageComponentDailySummary: get: tags: - StatusPageService summary: GetPageComponentDailySummary description: 'Returns per-component daily status buckets (ok/degraded/error/count plus a resolved status) merged with the incident, maintenance, and status-report timeline over the last N days (max 45). Suitable as a single source of truth for status-bar and uptime-calendar rendering. Supports two access paths: by id (authenticated, workspace-scoped) or by slug (public access, requires the page to be published with access_type=PUBLIC).' operationId: StatusPageService_GetPageComponentDailySummary.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetPageComponentDailySummaryRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetPageComponentDailySummaryResponse' post: tags: - StatusPageService summary: GetPageComponentDailySummary description: 'Returns per-component daily status buckets (ok/degraded/error/count plus a resolved status) merged with the incident, maintenance, and status-report timeline over the last N days (max 45). Suitable as a single source of truth for status-bar and uptime-calendar rendering. Supports two access paths: by id (authenticated, workspace-scoped) or by slug (public access, requires the page to be published with access_type=PUBLIC).' operationId: StatusPageService_GetPageComponentDailySummary requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetPageComponentDailySummaryRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetPageComponentDailySummaryResponse' /rpc/openstatus.status_page.v1.StatusPageService/GetStatusPage: get: tags: - StatusPageService summary: GetStatusPage description: GetStatusPage retrieves a specific status page by ID. operationId: StatusPageService_GetStatusPage.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetStatusPageRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetStatusPageResponse' post: tags: - StatusPageService summary: GetStatusPage description: GetStatusPage retrieves a specific status page by ID. operationId: StatusPageService_GetStatusPage requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetStatusPageRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetStatusPageResponse' /rpc/openstatus.status_page.v1.StatusPageService/GetStatusPageContent: get: tags: - StatusPageService summary: GetStatusPageContent description: 'Returns the full content of a status page including its components, component groups, active status reports, and scheduled maintenances. Supports two access paths: by ID (requires authentication, workspace-scoped) or by slug (public access, requires the page to be published with access_type=PUBLIC).' operationId: StatusPageService_GetStatusPageContent.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetStatusPageContentRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetStatusPageContentResponse' post: tags: - StatusPageService summary: GetStatusPageContent description: 'Returns the full content of a status page including its components, component groups, active status reports, and scheduled maintenances. Supports two access paths: by ID (requires authentication, workspace-scoped) or by slug (public access, requires the page to be published with access_type=PUBLIC).' operationId: StatusPageService_GetStatusPageContent requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetStatusPageContentRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetStatusPageContentResponse' /rpc/openstatus.status_page.v1.StatusPageService/GetStatusPageOverview: get: tags: - StatusPageService summary: GetStatusPageOverview description: 'Returns everything about a single status page in one authenticated call: the page, its rich rendering configuration, components, component groups, active/recent status reports, maintenances, and the computed overall + per-component statuses. Workspace-scoped by id; there is no public slug access path. Does not include uptime time-series โ use GetPageComponentDailySummary for that.' operationId: StatusPageService_GetStatusPageOverview.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetStatusPageOverviewRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetStatusPageOverviewResponse' post: tags: - StatusPageService summary: GetStatusPageOverview description: 'Returns everything about a single status page in one authenticated call: the page, its rich rendering configuration, components, component groups, active/recent status reports, maintenances, and the computed overall + per-component statuses. Workspace-scoped by id; there is no public slug access path. Does not include uptime time-series โ use GetPageComponentDailySummary for that.' operationId: StatusPageService_GetStatusPageOverview requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetStatusPageOverviewRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.GetStatusPageOverviewResponse' /rpc/openstatus.status_page.v1.StatusPageService/ListStatusPages: get: tags: - StatusPageService summary: ListStatusPages description: ListStatusPages returns all status pages for the workspace. operationId: StatusPageService_ListStatusPages.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.ListStatusPagesRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.ListStatusPagesResponse' post: tags: - StatusPageService summary: ListStatusPages description: ListStatusPages returns all status pages for the workspace. operationId: StatusPageService_ListStatusPages requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.ListStatusPagesRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.ListStatusPagesResponse' /rpc/openstatus.status_page.v1.StatusPageService/ListSubscribers: get: tags: - StatusPageService summary: ListSubscribers description: ListSubscribers returns all subscribers for a status page. operationId: StatusPageService_ListSubscribers.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.ListSubscribersRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.ListSubscribersResponse' post: tags: - StatusPageService summary: ListSubscribers description: ListSubscribers returns all subscribers for a status page. operationId: StatusPageService_ListSubscribers requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.ListSubscribersRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.ListSubscribersResponse' /rpc/openstatus.status_page.v1.StatusPageService/RemoveComponent: post: tags: - StatusPageService summary: RemoveComponent description: RemoveComponent removes a component from a status page. operationId: StatusPageService_RemoveComponent requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.RemoveComponentRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.RemoveComponentResponse' /rpc/openstatus.status_page.v1.StatusPageService/SubscribeToPage: post: tags: - StatusPageService summary: 'SubscribeToPage: end-user email self-signup with double opt-in verification.' description: End-user email self-signup with double opt-in verification. A verification email is sent and the subscription activates only after the recipient confirms. If the email was previously unsubscribed, the existing row is reactivated instead of a duplicate being created. Use this for subscriber-initiated signups on the public status page; use CreatePageSubscription for operator-initiated (vendor) subscriptions that should skip verification. operationId: StatusPageService_SubscribeToPage requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.SubscribeToPageRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.SubscribeToPageResponse' /rpc/openstatus.status_page.v1.StatusPageService/UnsubscribeFromPage: post: tags: - StatusPageService summary: UnsubscribeFromPage description: UnsubscribeFromPage removes a subscription from a status page. operationId: StatusPageService_UnsubscribeFromPage requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.UnsubscribeFromPageRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.UnsubscribeFromPageResponse' /rpc/openstatus.status_page.v1.StatusPageService/UpdateComponent: post: tags: - StatusPageService summary: UpdateComponent description: UpdateComponent updates an existing component. operationId: StatusPageService_UpdateComponent requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.UpdateComponentRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.UpdateComponentResponse' /rpc/openstatus.status_page.v1.StatusPageService/UpdateComponentGroup: post: tags: - StatusPageService summary: UpdateComponentGroup description: UpdateComponentGroup updates an existing component group. operationId: StatusPageService_UpdateComponentGroup requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.UpdateComponentGroupRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.UpdateComponentGroupResponse' /rpc/openstatus.status_page.v1.StatusPageService/UpdateStatusPage: post: tags: - StatusPageService summary: UpdateStatusPage description: UpdateStatusPage updates an existing status page. operationId: StatusPageService_UpdateStatusPage requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.UpdateStatusPageRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_page.v1.UpdateStatusPageResponse' /rpc/openstatus.status_report.v1.StatusReportService/AddStatusReportUpdate: post: tags: - StatusReportService summary: AddStatusReportUpdate description: 'Adds a new update entry to an existing status report and transitions the report to the specified status. Status reports follow a lifecycle: investigating -> identified -> monitoring -> resolved. If notify is true, subscribers of the associated page are notified by email about the update.' operationId: StatusReportService_AddStatusReportUpdate requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.AddStatusReportUpdateRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.AddStatusReportUpdateResponse' /rpc/openstatus.status_report.v1.StatusReportService/CreateStatusReport: post: tags: - StatusReportService summary: CreateStatusReport description: Creates a new status report with an initial update entry. The report is associated with a status page and optionally specific page components. An initial StatusReportUpdate is created automatically with the provided status, message, and date. If notify is true, subscribers of the associated page are notified by email. operationId: StatusReportService_CreateStatusReport requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.CreateStatusReportRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.CreateStatusReportResponse' /rpc/openstatus.status_report.v1.StatusReportService/DeleteStatusReport: post: tags: - StatusReportService summary: DeleteStatusReport description: DeleteStatusReport removes a status report and all its updates. operationId: StatusReportService_DeleteStatusReport requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.DeleteStatusReportRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.DeleteStatusReportResponse' /rpc/openstatus.status_report.v1.StatusReportService/GetStatusReport: get: tags: - StatusReportService summary: GetStatusReport description: GetStatusReport retrieves a specific status report by ID (includes full update timeline). operationId: StatusReportService_GetStatusReport.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.GetStatusReportRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.GetStatusReportResponse' post: tags: - StatusReportService summary: GetStatusReport description: GetStatusReport retrieves a specific status report by ID (includes full update timeline). operationId: StatusReportService_GetStatusReport requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.GetStatusReportRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.GetStatusReportResponse' /rpc/openstatus.status_report.v1.StatusReportService/ListStatusReports: get: tags: - StatusReportService summary: ListStatusReports description: ListStatusReports returns all status reports for the workspace (metadata only). operationId: StatusReportService_ListStatusReports.get parameters: - name: message in: query content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.ListStatusReportsRequest' responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.ListStatusReportsResponse' post: tags: - StatusReportService summary: ListStatusReports description: ListStatusReports returns all status reports for the workspace (metadata only). operationId: StatusReportService_ListStatusReports requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.ListStatusReportsRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.ListStatusReportsResponse' /rpc/openstatus.status_report.v1.StatusReportService/UpdateStatusReport: post: tags: - StatusReportService summary: UpdateStatusReport description: UpdateStatusReport updates the metadata of a status report (title, page components). operationId: StatusReportService_UpdateStatusReport requestBody: content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.UpdateStatusReportRequest' required: true responses: "429": $ref: '#/components/responses/RateLimited' default: description: Error content: application/json: schema: $ref: '#/components/schemas/connect.error' "200": description: Success content: application/json: schema: $ref: '#/components/schemas/openstatus.status_report.v1.UpdateStatusReportResponse'