swagger.yaml 87 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683
  1. definitions:
  2. acls.ACL:
  3. additionalProperties:
  4. format: int32
  5. type: integer
  6. type: object
  7. acls.ACLContainer:
  8. additionalProperties:
  9. $ref: '#/definitions/acls.ACL'
  10. type: object
  11. config.ServerConfig:
  12. properties:
  13. IsEE:
  14. type: string
  15. allowedEmailDomains:
  16. type: string
  17. allowedOrigin:
  18. type: string
  19. apiconnString:
  20. type: string
  21. apihost:
  22. type: string
  23. apiport:
  24. type: string
  25. authProvider:
  26. type: string
  27. azureTenant:
  28. type: string
  29. basicAuth:
  30. type: string
  31. broker:
  32. type: string
  33. brokerType:
  34. type: string
  35. cacheEnabled:
  36. type: string
  37. clientID:
  38. type: string
  39. clientSecret:
  40. type: string
  41. coreDNSAddr:
  42. type: string
  43. database:
  44. type: string
  45. defaultDomain:
  46. type: string
  47. deployedByOperator:
  48. type: boolean
  49. disableRemoteIPCheck:
  50. type: string
  51. displayKeys:
  52. type: string
  53. dnskey:
  54. type: string
  55. dnsmode:
  56. type: string
  57. egressesLimit:
  58. type: integer
  59. email_sender_addr:
  60. type: string
  61. email_sender_password:
  62. type: string
  63. email_sender_user:
  64. type: string
  65. emqxRestEndpoint:
  66. type: string
  67. endpoint_detection:
  68. type: boolean
  69. environment:
  70. type: string
  71. frontendURL:
  72. type: string
  73. hostNetwork:
  74. type: string
  75. ingressesLimit:
  76. type: integer
  77. jwtValidityDuration:
  78. format: int64
  79. type: integer
  80. licenseValue:
  81. type: string
  82. machinesLimit:
  83. type: integer
  84. manageDNS:
  85. type: boolean
  86. masterKey:
  87. type: string
  88. messageQueueBackend:
  89. type: string
  90. metricInterval:
  91. type: string
  92. metricsExporter:
  93. type: string
  94. mqpassword:
  95. type: string
  96. mquserName:
  97. type: string
  98. netclientAutoUpdate:
  99. type: string
  100. netclientEndpointDetection:
  101. type: string
  102. netmakerTenantID:
  103. type: string
  104. networksLimit:
  105. type: integer
  106. nodeID:
  107. type: string
  108. oidcissuer:
  109. type: string
  110. platform:
  111. type: string
  112. publicIPService:
  113. type: string
  114. publicIp:
  115. type: string
  116. racAutoDisable:
  117. type: boolean
  118. restBackend:
  119. type: string
  120. server:
  121. type: string
  122. serverBrokerEndpoint:
  123. type: string
  124. smtp_host:
  125. type: string
  126. smtp_port:
  127. type: integer
  128. sqlconn:
  129. type: string
  130. stun:
  131. type: boolean
  132. stunList:
  133. type: string
  134. stunPort:
  135. type: integer
  136. stunServers:
  137. type: string
  138. telemetry:
  139. type: string
  140. turnApiServer:
  141. type: string
  142. turnPassword:
  143. type: string
  144. turnPort:
  145. type: integer
  146. turnServer:
  147. type: string
  148. turnUserName:
  149. type: string
  150. useTurn:
  151. type: boolean
  152. usersLimit:
  153. type: integer
  154. verbosity:
  155. type: integer
  156. version:
  157. type: string
  158. type: object
  159. models.APIEnrollmentKey:
  160. properties:
  161. expiration:
  162. format: int64
  163. type: integer
  164. groups:
  165. items:
  166. type: string
  167. type: array
  168. networks:
  169. items:
  170. type: string
  171. type: array
  172. relay:
  173. type: string
  174. tags:
  175. items:
  176. type: string
  177. type: array
  178. type:
  179. $ref: '#/definitions/models.KeyType'
  180. unlimited:
  181. type: boolean
  182. uses_remaining:
  183. type: integer
  184. required:
  185. - tags
  186. type: object
  187. models.AclRule:
  188. properties:
  189. allowed:
  190. type: boolean
  191. allowed_ports:
  192. items:
  193. type: string
  194. type: array
  195. allowed_protocols:
  196. allOf:
  197. - $ref: '#/definitions/models.Protocol'
  198. description: tcp, udp, etc.
  199. direction:
  200. allOf:
  201. - $ref: '#/definitions/models.AllowedTrafficDirection'
  202. description: single or two-way
  203. id:
  204. type: string
  205. ip_list:
  206. items:
  207. $ref: '#/definitions/net.IPNet'
  208. type: array
  209. ip6_list:
  210. items:
  211. $ref: '#/definitions/net.IPNet'
  212. type: array
  213. type: object
  214. models.AllowedTrafficDirection:
  215. enum:
  216. - 0
  217. - 1
  218. type: integer
  219. x-enum-varnames:
  220. - TrafficDirectionUni
  221. - TrafficDirectionBi
  222. models.ApiHost:
  223. properties:
  224. autoupdate:
  225. type: boolean
  226. debug:
  227. type: boolean
  228. defaultinterface:
  229. type: string
  230. endpointip:
  231. type: string
  232. endpointipv6:
  233. type: string
  234. firewallinuse:
  235. type: string
  236. id:
  237. type: string
  238. interfaces:
  239. items:
  240. $ref: '#/definitions/models.ApiIface'
  241. type: array
  242. isdefault:
  243. type: boolean
  244. isstatic:
  245. type: boolean
  246. isstaticport:
  247. type: boolean
  248. listenport:
  249. type: integer
  250. macaddress:
  251. type: string
  252. mtu:
  253. type: integer
  254. name:
  255. type: string
  256. nat_type:
  257. type: string
  258. nodes:
  259. items:
  260. type: string
  261. type: array
  262. os:
  263. type: string
  264. persistentkeepalive:
  265. type: integer
  266. publickey:
  267. type: string
  268. verbosity:
  269. type: integer
  270. version:
  271. type: string
  272. wg_public_listen_port:
  273. type: integer
  274. type: object
  275. models.ApiIface:
  276. properties:
  277. addressString:
  278. type: string
  279. name:
  280. type: string
  281. type: object
  282. models.ApiNode:
  283. properties:
  284. additional_rag_ips:
  285. items:
  286. type: string
  287. type: array
  288. address:
  289. type: string
  290. address6:
  291. type: string
  292. allowedips:
  293. items:
  294. type: string
  295. type: array
  296. connected:
  297. type: boolean
  298. defaultacl:
  299. description: == PRO ==
  300. type: string
  301. dnson:
  302. type: boolean
  303. egressgatewaynatenabled:
  304. type: boolean
  305. egressgatewayranges:
  306. items:
  307. type: string
  308. type: array
  309. expdatetime:
  310. format: int64
  311. type: integer
  312. fail_over_peers:
  313. additionalProperties:
  314. type: object
  315. type: object
  316. failed_over_by:
  317. type: string
  318. hostid:
  319. minLength: 5
  320. type: string
  321. id:
  322. minLength: 5
  323. type: string
  324. inet_node_req:
  325. $ref: '#/definitions/models.InetNodeReq'
  326. ingressdns:
  327. type: string
  328. ingressmtu:
  329. type: integer
  330. ingresspersistentkeepalive:
  331. type: integer
  332. internetgw_node_id:
  333. type: string
  334. is_fail_over:
  335. type: boolean
  336. is_static:
  337. type: boolean
  338. is_user_node:
  339. type: boolean
  340. isegressgateway:
  341. type: boolean
  342. isingressgateway:
  343. type: boolean
  344. isinternetgateway:
  345. type: boolean
  346. isrelay:
  347. type: boolean
  348. isrelayed:
  349. type: boolean
  350. lastcheckin:
  351. format: int64
  352. type: integer
  353. lastmodified:
  354. format: int64
  355. type: integer
  356. lastpeerupdate:
  357. format: int64
  358. type: integer
  359. localaddress:
  360. type: string
  361. metadata:
  362. type: string
  363. network:
  364. type: string
  365. networkrange:
  366. type: string
  367. networkrange6:
  368. type: string
  369. pendingdelete:
  370. type: boolean
  371. relayedby:
  372. type: string
  373. relaynodes:
  374. items:
  375. type: string
  376. type: array
  377. server:
  378. type: string
  379. static_node:
  380. $ref: '#/definitions/models.ExtClient'
  381. status:
  382. $ref: '#/definitions/models.NodeStatus'
  383. tags:
  384. additionalProperties:
  385. type: object
  386. type: object
  387. required:
  388. - hostid
  389. - id
  390. type: object
  391. models.AuthParams:
  392. properties:
  393. id:
  394. type: string
  395. macaddress:
  396. type: string
  397. password:
  398. type: string
  399. type: object
  400. models.DNSEntry:
  401. properties:
  402. address:
  403. type: string
  404. address6:
  405. type: string
  406. name:
  407. maxLength: 192
  408. minLength: 1
  409. type: string
  410. network:
  411. type: string
  412. required:
  413. - name
  414. type: object
  415. models.EgressGatewayRequest:
  416. properties:
  417. natenabled:
  418. type: string
  419. netid:
  420. type: string
  421. nodeid:
  422. type: string
  423. ranges:
  424. items:
  425. type: string
  426. type: array
  427. type: object
  428. models.EgressInfo:
  429. properties:
  430. egress_gateway_cfg:
  431. $ref: '#/definitions/models.EgressGatewayRequest'
  432. egress_gw_addr:
  433. $ref: '#/definitions/net.IPNet'
  434. egress_gw_addr6:
  435. $ref: '#/definitions/net.IPNet'
  436. egress_id:
  437. type: string
  438. network:
  439. $ref: '#/definitions/net.IPNet'
  440. network6:
  441. $ref: '#/definitions/net.IPNet'
  442. type: object
  443. models.EgressNetworkRoutes:
  444. properties:
  445. egress_gw_addr:
  446. $ref: '#/definitions/net.IPNet'
  447. egress_gw_addr6:
  448. $ref: '#/definitions/net.IPNet'
  449. egress_ranges:
  450. items:
  451. type: string
  452. type: array
  453. node_addr:
  454. $ref: '#/definitions/net.IPNet'
  455. node_addr6:
  456. $ref: '#/definitions/net.IPNet'
  457. type: object
  458. models.EnrollmentKey:
  459. properties:
  460. default:
  461. type: boolean
  462. expiration:
  463. type: string
  464. groups:
  465. items:
  466. type: string
  467. type: array
  468. networks:
  469. items:
  470. type: string
  471. type: array
  472. relay:
  473. type: string
  474. tags:
  475. items:
  476. type: string
  477. type: array
  478. token:
  479. description: B64 value of EnrollmentToken
  480. type: string
  481. type:
  482. $ref: '#/definitions/models.KeyType'
  483. unlimited:
  484. type: boolean
  485. uses_remaining:
  486. type: integer
  487. value:
  488. type: string
  489. type: object
  490. models.ErrorResponse:
  491. properties:
  492. code:
  493. type: integer
  494. message:
  495. type: string
  496. type: object
  497. models.ExtClient:
  498. properties:
  499. address:
  500. type: string
  501. address6:
  502. type: string
  503. allowed_ips:
  504. items:
  505. type: string
  506. type: array
  507. clientid:
  508. type: string
  509. country:
  510. type: string
  511. deniednodeacls:
  512. additionalProperties:
  513. type: object
  514. type: object
  515. device_name:
  516. type: string
  517. dns:
  518. type: string
  519. enabled:
  520. type: boolean
  521. extraallowedips:
  522. items:
  523. type: string
  524. type: array
  525. ingressgatewayendpoint:
  526. type: string
  527. ingressgatewayid:
  528. type: string
  529. lastmodified:
  530. format: int64
  531. type: integer
  532. network:
  533. type: string
  534. os:
  535. type: string
  536. ownerid:
  537. type: string
  538. postdown:
  539. type: string
  540. postup:
  541. type: string
  542. privatekey:
  543. type: string
  544. public_endpoint:
  545. type: string
  546. publickey:
  547. type: string
  548. remote_access_client_id:
  549. description: unique ID (MAC address) of RAC machine
  550. type: string
  551. tags:
  552. additionalProperties:
  553. type: object
  554. type: object
  555. type: object
  556. models.FailOverMeReq:
  557. properties:
  558. node_id:
  559. type: string
  560. type: object
  561. models.FwRule:
  562. properties:
  563. allow:
  564. type: boolean
  565. allowed_ports:
  566. items:
  567. type: string
  568. type: array
  569. allowed_protocols:
  570. allOf:
  571. - $ref: '#/definitions/models.Protocol'
  572. description: tcp, udp, etc.
  573. dst_ip:
  574. $ref: '#/definitions/net.IPNet'
  575. src_ip:
  576. $ref: '#/definitions/net.IPNet'
  577. type: object
  578. models.FwUpdate:
  579. properties:
  580. acl_rules:
  581. additionalProperties:
  582. $ref: '#/definitions/models.AclRule'
  583. type: object
  584. allow_all:
  585. type: boolean
  586. egress_info:
  587. additionalProperties:
  588. $ref: '#/definitions/models.EgressInfo'
  589. type: object
  590. ingress_info:
  591. additionalProperties:
  592. $ref: '#/definitions/models.IngressInfo'
  593. type: object
  594. is_egress_gw:
  595. type: boolean
  596. is_ingress_gw:
  597. type: boolean
  598. networks:
  599. items:
  600. $ref: '#/definitions/net.IPNet'
  601. type: array
  602. type: object
  603. models.Host:
  604. properties:
  605. autoupdate:
  606. type: boolean
  607. daemoninstalled:
  608. type: boolean
  609. debug:
  610. type: boolean
  611. defaultinterface:
  612. type: string
  613. endpointip:
  614. items:
  615. type: integer
  616. type: array
  617. endpointipv6:
  618. items:
  619. type: integer
  620. type: array
  621. firewallinuse:
  622. type: string
  623. hostpass:
  624. type: string
  625. id:
  626. type: string
  627. interface:
  628. type: string
  629. interfaces:
  630. items:
  631. $ref: '#/definitions/models.Iface'
  632. type: array
  633. ipforwarding:
  634. type: boolean
  635. isdefault:
  636. type: boolean
  637. isdocker:
  638. type: boolean
  639. isk8s:
  640. type: boolean
  641. isstatic:
  642. type: boolean
  643. isstaticport:
  644. type: boolean
  645. listenport:
  646. type: integer
  647. macaddress:
  648. items:
  649. type: integer
  650. type: array
  651. mtu:
  652. type: integer
  653. name:
  654. type: string
  655. nat_type:
  656. type: string
  657. nodes:
  658. items:
  659. type: string
  660. type: array
  661. os:
  662. type: string
  663. persistentkeepalive:
  664. format: int64
  665. type: integer
  666. publickey:
  667. items:
  668. type: integer
  669. type: array
  670. traffickeypublic:
  671. items:
  672. type: integer
  673. type: array
  674. turn_endpoint:
  675. $ref: '#/definitions/netip.AddrPort'
  676. verbosity:
  677. type: integer
  678. version:
  679. type: string
  680. wg_public_listen_port:
  681. type: integer
  682. type: object
  683. models.HostInfoMap:
  684. additionalProperties:
  685. $ref: '#/definitions/models.HostNetworkInfo'
  686. type: object
  687. models.HostMqAction:
  688. enum:
  689. - UPGRADE
  690. - SIGNAL_HOST
  691. - UPDATE_HOST
  692. - DELETE_HOST
  693. - JOIN_HOST_TO_NETWORK
  694. - ACK
  695. - REQ_ACK
  696. - CHECK_IN
  697. - UPDATE_KEYS
  698. - REQ_PULL
  699. - SIGNAL_PULL
  700. - UPDATE_METRICS
  701. type: string
  702. x-enum-varnames:
  703. - Upgrade
  704. - SignalHost
  705. - UpdateHost
  706. - DeleteHost
  707. - JoinHostToNetwork
  708. - Acknowledgement
  709. - RequestAck
  710. - CheckIn
  711. - UpdateKeys
  712. - RequestPull
  713. - SignalPull
  714. - UpdateMetrics
  715. models.HostNetworkInfo:
  716. properties:
  717. interfaces:
  718. items:
  719. $ref: '#/definitions/models.Iface'
  720. type: array
  721. is_static:
  722. type: boolean
  723. is_static_port:
  724. type: boolean
  725. listen_port:
  726. type: integer
  727. type: object
  728. models.HostPull:
  729. properties:
  730. change_default_gw:
  731. type: boolean
  732. default_gw_ip:
  733. items:
  734. type: integer
  735. type: array
  736. egress_network_routes:
  737. items:
  738. $ref: '#/definitions/models.EgressNetworkRoutes'
  739. type: array
  740. endpoint_detection:
  741. type: boolean
  742. fw_update:
  743. $ref: '#/definitions/models.FwUpdate'
  744. host:
  745. $ref: '#/definitions/models.Host'
  746. host_network_info:
  747. $ref: '#/definitions/models.HostInfoMap'
  748. is_inet_gw:
  749. type: boolean
  750. nodes:
  751. items:
  752. $ref: '#/definitions/models.Node'
  753. type: array
  754. peer_ids:
  755. $ref: '#/definitions/models.PeerMap'
  756. peers:
  757. items:
  758. $ref: '#/definitions/wgtypes.PeerConfig'
  759. type: array
  760. server_config:
  761. $ref: '#/definitions/models.ServerConfig'
  762. type: object
  763. models.HostUpdate:
  764. properties:
  765. action:
  766. $ref: '#/definitions/models.HostMqAction'
  767. host:
  768. $ref: '#/definitions/models.Host'
  769. newMetrics:
  770. $ref: '#/definitions/models.Metrics'
  771. node:
  772. $ref: '#/definitions/models.Node'
  773. signal:
  774. $ref: '#/definitions/models.Signal'
  775. type: object
  776. models.IDandAddr:
  777. properties:
  778. address:
  779. type: string
  780. host_id:
  781. type: string
  782. id:
  783. type: string
  784. is_extclient:
  785. type: boolean
  786. isserver:
  787. type: string
  788. listen_port:
  789. type: integer
  790. name:
  791. type: string
  792. network:
  793. type: string
  794. type: object
  795. models.Iface:
  796. properties:
  797. address:
  798. $ref: '#/definitions/net.IPNet'
  799. addressString:
  800. type: string
  801. name:
  802. type: string
  803. type: object
  804. models.InetNodeReq:
  805. properties:
  806. inet_node_client_ids:
  807. items:
  808. type: string
  809. type: array
  810. type: object
  811. models.IngressGwUsers:
  812. properties:
  813. network:
  814. type: string
  815. node_id:
  816. type: string
  817. users:
  818. items:
  819. $ref: '#/definitions/models.ReturnUser'
  820. type: array
  821. type: object
  822. models.IngressInfo:
  823. properties:
  824. allow_all:
  825. type: boolean
  826. egress_ranges:
  827. items:
  828. $ref: '#/definitions/net.IPNet'
  829. type: array
  830. egress_ranges6:
  831. items:
  832. $ref: '#/definitions/net.IPNet'
  833. type: array
  834. ingress_id:
  835. type: string
  836. network:
  837. $ref: '#/definitions/net.IPNet'
  838. network6:
  839. $ref: '#/definitions/net.IPNet'
  840. rules:
  841. items:
  842. $ref: '#/definitions/models.FwRule'
  843. type: array
  844. static_node_ips:
  845. items:
  846. items:
  847. type: integer
  848. type: array
  849. type: array
  850. type: object
  851. models.KeyType:
  852. enum:
  853. - 0
  854. - 1
  855. - 2
  856. - 3
  857. type: integer
  858. x-enum-varnames:
  859. - Undefined
  860. - TimeExpiration
  861. - Uses
  862. - Unlimited
  863. models.Metric:
  864. properties:
  865. actualuptime:
  866. format: int64
  867. type: integer
  868. connected:
  869. type: boolean
  870. lasttotalreceived:
  871. format: int64
  872. type: integer
  873. lasttotalsent:
  874. format: int64
  875. type: integer
  876. latency:
  877. format: int64
  878. type: integer
  879. node_name:
  880. type: string
  881. percentup:
  882. type: number
  883. totalreceived:
  884. format: int64
  885. type: integer
  886. totalsent:
  887. format: int64
  888. type: integer
  889. totaltime:
  890. format: int64
  891. type: integer
  892. uptime:
  893. format: int64
  894. type: integer
  895. type: object
  896. models.Metrics:
  897. properties:
  898. connectivity:
  899. additionalProperties:
  900. $ref: '#/definitions/models.Metric'
  901. type: object
  902. network:
  903. type: string
  904. node_id:
  905. type: string
  906. node_name:
  907. type: string
  908. type: object
  909. models.Network:
  910. properties:
  911. addressrange:
  912. type: string
  913. addressrange6:
  914. type: string
  915. allowmanualsignup:
  916. type: string
  917. defaultacl:
  918. type: string
  919. defaultinterface:
  920. maxLength: 35
  921. minLength: 1
  922. type: string
  923. defaultkeepalive:
  924. maximum: 1000
  925. type: integer
  926. defaultlistenport:
  927. maximum: 65535
  928. minimum: 1024
  929. type: integer
  930. defaultmtu:
  931. type: integer
  932. defaultpostdown:
  933. type: string
  934. defaultudpholepunch:
  935. type: string
  936. isipv4:
  937. type: string
  938. isipv6:
  939. type: string
  940. netid:
  941. maxLength: 32
  942. minLength: 1
  943. type: string
  944. networklastmodified:
  945. format: int64
  946. type: integer
  947. nodelimit:
  948. type: integer
  949. nodeslastmodified:
  950. format: int64
  951. type: integer
  952. required:
  953. - netid
  954. type: object
  955. models.NetworkID:
  956. enum:
  957. - all_networks
  958. type: string
  959. x-enum-varnames:
  960. - AllNetworks
  961. models.Node:
  962. properties:
  963. action:
  964. type: string
  965. additional_rag_ips:
  966. items:
  967. type: number
  968. type: array
  969. address:
  970. $ref: '#/definitions/net.IPNet'
  971. address6:
  972. $ref: '#/definitions/net.IPNet'
  973. connected:
  974. type: boolean
  975. defaultacl:
  976. description: == PRO ==
  977. type: string
  978. dnson:
  979. type: boolean
  980. egressgatewaynatenabled:
  981. type: boolean
  982. egressgatewayranges:
  983. items:
  984. type: string
  985. type: array
  986. egressgatewayrequest:
  987. $ref: '#/definitions/models.EgressGatewayRequest'
  988. expdatetime:
  989. type: string
  990. fail_over_peers:
  991. additionalProperties:
  992. type: object
  993. type: object
  994. failed_over_by:
  995. type: string
  996. hostid:
  997. type: string
  998. id:
  999. type: string
  1000. inet_node_req:
  1001. $ref: '#/definitions/models.InetNodeReq'
  1002. ingressdns:
  1003. type: string
  1004. ingressgatewayrange:
  1005. type: string
  1006. ingressgatewayrange6:
  1007. type: string
  1008. ingressmtu:
  1009. type: integer
  1010. ingresspersistentkeepalive:
  1011. type: integer
  1012. internetgw_node_id:
  1013. type: string
  1014. is_fail_over:
  1015. type: boolean
  1016. is_static:
  1017. type: boolean
  1018. is_user_node:
  1019. type: boolean
  1020. isegressgateway:
  1021. type: boolean
  1022. isingressgateway:
  1023. type: boolean
  1024. isinternetgateway:
  1025. type: boolean
  1026. isrelay:
  1027. type: boolean
  1028. isrelayed:
  1029. type: boolean
  1030. lastcheckin:
  1031. type: string
  1032. lastmodified:
  1033. type: string
  1034. lastpeerupdate:
  1035. type: string
  1036. localaddress:
  1037. $ref: '#/definitions/net.IPNet'
  1038. metadata:
  1039. type: string
  1040. network:
  1041. type: string
  1042. networkrange:
  1043. type: integer
  1044. networkrange6:
  1045. type: number
  1046. node_status:
  1047. $ref: '#/definitions/models.NodeStatus'
  1048. ownerid:
  1049. type: string
  1050. pendingdelete:
  1051. type: boolean
  1052. relayedby:
  1053. type: string
  1054. relaynodes:
  1055. items:
  1056. type: string
  1057. type: array
  1058. server:
  1059. type: string
  1060. static_node:
  1061. $ref: '#/definitions/models.ExtClient'
  1062. tags:
  1063. additionalProperties:
  1064. type: object
  1065. type: object
  1066. type: object
  1067. models.NodeGet:
  1068. properties:
  1069. host:
  1070. $ref: '#/definitions/models.Host'
  1071. host_peers:
  1072. items:
  1073. $ref: '#/definitions/wgtypes.PeerConfig'
  1074. type: array
  1075. node:
  1076. $ref: '#/definitions/models.Node'
  1077. peerids:
  1078. $ref: '#/definitions/models.PeerMap'
  1079. peers:
  1080. items:
  1081. $ref: '#/definitions/wgtypes.PeerConfig'
  1082. type: array
  1083. serverconfig:
  1084. $ref: '#/definitions/models.ServerConfig'
  1085. type: object
  1086. models.NodeStatus:
  1087. enum:
  1088. - online
  1089. - offline
  1090. - warning
  1091. - error
  1092. - unknown
  1093. type: string
  1094. x-enum-varnames:
  1095. - OnlineSt
  1096. - OfflineSt
  1097. - WarningSt
  1098. - ErrorSt
  1099. - UnKnown
  1100. models.PeerMap:
  1101. additionalProperties:
  1102. $ref: '#/definitions/models.IDandAddr'
  1103. type: object
  1104. models.Protocol:
  1105. enum:
  1106. - all
  1107. - udp
  1108. - tcp
  1109. - icmp
  1110. type: string
  1111. x-enum-varnames:
  1112. - ALL
  1113. - UDP
  1114. - TCP
  1115. - ICMP
  1116. models.RegisterResponse:
  1117. properties:
  1118. requested_host:
  1119. $ref: '#/definitions/models.Host'
  1120. server_config:
  1121. $ref: '#/definitions/models.ServerConfig'
  1122. type: object
  1123. models.RelayRequest:
  1124. properties:
  1125. netid:
  1126. type: string
  1127. nodeid:
  1128. type: string
  1129. relayaddrs:
  1130. items:
  1131. type: string
  1132. type: array
  1133. type: object
  1134. models.ReturnUser:
  1135. properties:
  1136. auth_type:
  1137. type: string
  1138. isadmin:
  1139. type: boolean
  1140. issuperadmin:
  1141. type: boolean
  1142. last_login_time:
  1143. type: string
  1144. network_roles:
  1145. additionalProperties:
  1146. additionalProperties:
  1147. type: object
  1148. type: object
  1149. type: object
  1150. platform_role_id:
  1151. $ref: '#/definitions/models.UserRoleID'
  1152. remote_gw_ids:
  1153. additionalProperties:
  1154. type: object
  1155. description: deprecated
  1156. type: object
  1157. user_group_ids:
  1158. additionalProperties:
  1159. type: object
  1160. type: object
  1161. username:
  1162. type: string
  1163. type: object
  1164. models.RsrcPermissionScope:
  1165. properties:
  1166. create:
  1167. type: boolean
  1168. delete:
  1169. type: boolean
  1170. read:
  1171. type: boolean
  1172. self_only:
  1173. type: boolean
  1174. update:
  1175. type: boolean
  1176. vpn_access:
  1177. type: boolean
  1178. type: object
  1179. models.ServerConfig:
  1180. properties:
  1181. Is_EE:
  1182. type: boolean
  1183. api:
  1184. type: string
  1185. apiport:
  1186. type: string
  1187. broker:
  1188. type: string
  1189. brokerType:
  1190. type: string
  1191. coreDNSAddr:
  1192. type: string
  1193. defaultDomain:
  1194. type: string
  1195. dnsmode:
  1196. type: string
  1197. manageDNS:
  1198. type: boolean
  1199. metricInterval:
  1200. type: string
  1201. mqpassword:
  1202. type: string
  1203. mqport:
  1204. type: string
  1205. mquserName:
  1206. type: string
  1207. server:
  1208. type: string
  1209. stun:
  1210. type: boolean
  1211. stunServers:
  1212. type: string
  1213. trafficKey:
  1214. items:
  1215. type: integer
  1216. type: array
  1217. version:
  1218. type: string
  1219. type: object
  1220. models.Signal:
  1221. properties:
  1222. action:
  1223. $ref: '#/definitions/models.SignalAction'
  1224. from_host_id:
  1225. type: string
  1226. from_host_pubkey:
  1227. type: string
  1228. from_node_id:
  1229. type: string
  1230. is_pro:
  1231. type: boolean
  1232. reply:
  1233. type: boolean
  1234. server:
  1235. type: string
  1236. timestamp:
  1237. type: integer
  1238. to_host_id:
  1239. type: string
  1240. to_host_pubkey:
  1241. type: string
  1242. to_node_id:
  1243. type: string
  1244. type: object
  1245. models.SignalAction:
  1246. enum:
  1247. - CONNECTION_NEGOTIATION
  1248. - RELAY_ME
  1249. type: string
  1250. x-enum-varnames:
  1251. - ConnNegotiation
  1252. - RelayME
  1253. models.SuccessResponse:
  1254. properties:
  1255. code:
  1256. type: integer
  1257. message:
  1258. type: string
  1259. response: {}
  1260. type: object
  1261. models.User:
  1262. properties:
  1263. auth_type:
  1264. type: string
  1265. external_identity_provider_id:
  1266. type: string
  1267. isadmin:
  1268. description: deprecated
  1269. type: boolean
  1270. issuperadmin:
  1271. description: deprecated
  1272. type: boolean
  1273. last_login_time:
  1274. type: string
  1275. network_roles:
  1276. additionalProperties:
  1277. additionalProperties:
  1278. type: object
  1279. type: object
  1280. type: object
  1281. password:
  1282. minLength: 5
  1283. type: string
  1284. platform_role_id:
  1285. $ref: '#/definitions/models.UserRoleID'
  1286. remote_gw_ids:
  1287. additionalProperties:
  1288. type: object
  1289. description: deprecated
  1290. type: object
  1291. user_group_ids:
  1292. additionalProperties:
  1293. type: object
  1294. type: object
  1295. username:
  1296. maxLength: 40
  1297. minLength: 3
  1298. type: string
  1299. required:
  1300. - password
  1301. type: object
  1302. models.UserAuthParams:
  1303. properties:
  1304. password:
  1305. type: string
  1306. username:
  1307. type: string
  1308. type: object
  1309. models.UserRemoteGws:
  1310. properties:
  1311. allowed_endpoints:
  1312. items:
  1313. type: string
  1314. type: array
  1315. connected:
  1316. type: boolean
  1317. gw_client:
  1318. $ref: '#/definitions/models.ExtClient'
  1319. gw_listen_port:
  1320. type: integer
  1321. gw_name:
  1322. type: string
  1323. gw_peer_public_key:
  1324. type: string
  1325. is_internet_gateway:
  1326. type: boolean
  1327. metadata:
  1328. type: string
  1329. network:
  1330. type: string
  1331. network_addresses:
  1332. items:
  1333. type: string
  1334. type: array
  1335. remote_access_gw_id:
  1336. type: string
  1337. type: object
  1338. models.UserRoleID:
  1339. enum:
  1340. - super-admin
  1341. - admin
  1342. - service-user
  1343. - platform-user
  1344. - network-admin
  1345. - network-user
  1346. type: string
  1347. x-enum-varnames:
  1348. - SuperAdminRole
  1349. - AdminRole
  1350. - ServiceUser
  1351. - PlatformUser
  1352. - NetworkAdmin
  1353. - NetworkUser
  1354. models.UserRolePermissionTemplate:
  1355. properties:
  1356. default:
  1357. type: boolean
  1358. deny_dashboard_access:
  1359. type: boolean
  1360. full_access:
  1361. type: boolean
  1362. global_level_access:
  1363. additionalProperties:
  1364. additionalProperties:
  1365. $ref: '#/definitions/models.RsrcPermissionScope'
  1366. type: object
  1367. type: object
  1368. id:
  1369. $ref: '#/definitions/models.UserRoleID'
  1370. meta_data:
  1371. type: string
  1372. name:
  1373. type: string
  1374. network_id:
  1375. $ref: '#/definitions/models.NetworkID'
  1376. network_level_access:
  1377. additionalProperties:
  1378. additionalProperties:
  1379. $ref: '#/definitions/models.RsrcPermissionScope'
  1380. type: object
  1381. type: object
  1382. type: object
  1383. net.IPNet:
  1384. properties:
  1385. ip:
  1386. description: network number
  1387. items:
  1388. type: integer
  1389. type: array
  1390. mask:
  1391. description: network mask
  1392. items:
  1393. format: int32
  1394. type: integer
  1395. type: array
  1396. type: object
  1397. net.UDPAddr:
  1398. properties:
  1399. ip:
  1400. items:
  1401. type: integer
  1402. type: array
  1403. port:
  1404. type: integer
  1405. zone:
  1406. description: IPv6 scoped addressing zone
  1407. type: string
  1408. type: object
  1409. netip.AddrPort:
  1410. type: object
  1411. wgtypes.PeerConfig:
  1412. properties:
  1413. allowedIPs:
  1414. description: |-
  1415. AllowedIPs specifies a list of allowed IP addresses in CIDR notation
  1416. for this peer.
  1417. items:
  1418. $ref: '#/definitions/net.IPNet'
  1419. type: array
  1420. endpoint:
  1421. allOf:
  1422. - $ref: '#/definitions/net.UDPAddr'
  1423. description: Endpoint specifies the endpoint of this peer entry, if not nil.
  1424. persistentKeepaliveInterval:
  1425. description: |-
  1426. PersistentKeepaliveInterval specifies the persistent keepalive interval
  1427. for this peer, if not nil.
  1428. A non-nil value of 0 will clear the persistent keepalive interval.
  1429. format: int64
  1430. type: integer
  1431. presharedKey:
  1432. description: |-
  1433. PresharedKey specifies a peer's preshared key configuration, if not nil.
  1434. A non-nil, zero-value Key will clear the preshared key.
  1435. items:
  1436. type: integer
  1437. type: array
  1438. publicKey:
  1439. description: |-
  1440. PublicKey specifies the public key of this peer. PublicKey is a
  1441. mandatory field for all PeerConfigs.
  1442. items:
  1443. type: integer
  1444. type: array
  1445. remove:
  1446. description: |-
  1447. Remove specifies if the peer with this public key should be removed
  1448. from a device's peer list.
  1449. type: boolean
  1450. replaceAllowedIPs:
  1451. description: |-
  1452. ReplaceAllowedIPs specifies if the allowed IPs specified in this peer
  1453. configuration should replace any existing ones, instead of appending them
  1454. to the allowed IPs list.
  1455. type: boolean
  1456. updateOnly:
  1457. description: |-
  1458. UpdateOnly specifies that an operation will only occur on this peer
  1459. if the peer already exists as part of the interface.
  1460. type: boolean
  1461. type: object
  1462. host: api.demo.netmaker.io
  1463. info:
  1464. contact: {}
  1465. description: NetMaker API Docs
  1466. title: NetMaker
  1467. version: 0.30.0
  1468. paths:
  1469. /api/dns:
  1470. get:
  1471. consumes:
  1472. - application/json
  1473. responses:
  1474. "200":
  1475. description: OK
  1476. schema:
  1477. items:
  1478. $ref: '#/definitions/models.DNSEntry'
  1479. type: array
  1480. "500":
  1481. description: Internal Server Error
  1482. schema:
  1483. $ref: '#/definitions/models.ErrorResponse'
  1484. summary: Get all DNS entries
  1485. tags:
  1486. - DNS
  1487. /api/dns/{network}:
  1488. get:
  1489. consumes:
  1490. - application/json
  1491. parameters:
  1492. - description: Network identifier
  1493. in: path
  1494. name: network
  1495. required: true
  1496. type: string
  1497. responses:
  1498. "200":
  1499. description: OK
  1500. schema:
  1501. items:
  1502. $ref: '#/definitions/models.DNSEntry'
  1503. type: array
  1504. "500":
  1505. description: Internal Server Error
  1506. schema:
  1507. $ref: '#/definitions/models.ErrorResponse'
  1508. summary: Gets node DNS entries associated with a network
  1509. tags:
  1510. - DNS
  1511. /api/dns/{network}/{domain}:
  1512. delete:
  1513. consumes:
  1514. - application/json
  1515. parameters:
  1516. - description: Network identifier
  1517. in: path
  1518. name: network
  1519. required: true
  1520. type: string
  1521. - description: Domain Name
  1522. in: path
  1523. name: domain
  1524. required: true
  1525. type: string
  1526. responses:
  1527. "200":
  1528. description: OK
  1529. schema:
  1530. items:
  1531. $ref: '#/definitions/models.DNSEntry'
  1532. type: array
  1533. "500":
  1534. description: Internal Server Error
  1535. schema:
  1536. $ref: '#/definitions/models.ErrorResponse'
  1537. summary: Delete a DNS entry
  1538. tags:
  1539. - DNS
  1540. /api/dns/adm/{network}:
  1541. get:
  1542. consumes:
  1543. - application/json
  1544. parameters:
  1545. - description: Network identifier
  1546. in: path
  1547. name: network
  1548. required: true
  1549. type: string
  1550. responses:
  1551. "200":
  1552. description: OK
  1553. schema:
  1554. items:
  1555. $ref: '#/definitions/models.DNSEntry'
  1556. type: array
  1557. "500":
  1558. description: Internal Server Error
  1559. schema:
  1560. $ref: '#/definitions/models.ErrorResponse'
  1561. summary: Get all DNS entries associated with the network
  1562. tags:
  1563. - DNS
  1564. post:
  1565. consumes:
  1566. - application/json
  1567. parameters:
  1568. - description: Network identifier
  1569. in: path
  1570. name: network
  1571. required: true
  1572. type: string
  1573. - description: DNS entry details
  1574. in: body
  1575. name: body
  1576. required: true
  1577. schema:
  1578. $ref: '#/definitions/models.DNSEntry'
  1579. responses:
  1580. "200":
  1581. description: OK
  1582. schema:
  1583. $ref: '#/definitions/models.DNSEntry'
  1584. "400":
  1585. description: Bad Request
  1586. schema:
  1587. $ref: '#/definitions/models.ErrorResponse'
  1588. "500":
  1589. description: Internal Server Error
  1590. schema:
  1591. $ref: '#/definitions/models.ErrorResponse'
  1592. summary: Create a new DNS entry
  1593. tags:
  1594. - DNS
  1595. /api/dns/adm/{network}/custom:
  1596. get:
  1597. consumes:
  1598. - application/json
  1599. parameters:
  1600. - description: Network identifier
  1601. in: path
  1602. name: network
  1603. required: true
  1604. type: string
  1605. responses:
  1606. "200":
  1607. description: OK
  1608. schema:
  1609. items:
  1610. $ref: '#/definitions/models.DNSEntry'
  1611. type: array
  1612. "500":
  1613. description: Internal Server Error
  1614. schema:
  1615. $ref: '#/definitions/models.ErrorResponse'
  1616. summary: Gets custom DNS entries associated with a network
  1617. tags:
  1618. - DNS
  1619. /api/dns/adm/{network}/sync:
  1620. post:
  1621. consumes:
  1622. - application/json
  1623. responses:
  1624. "200":
  1625. description: DNS Sync completed successfully
  1626. schema:
  1627. type: string
  1628. "400":
  1629. description: Bad Request
  1630. schema:
  1631. $ref: '#/definitions/models.ErrorResponse'
  1632. "500":
  1633. description: Internal Server Error
  1634. schema:
  1635. $ref: '#/definitions/models.ErrorResponse'
  1636. summary: Sync DNS entries for a given network
  1637. tags:
  1638. - DNS
  1639. /api/dns/adm/pushdns:
  1640. post:
  1641. consumes:
  1642. - application/json
  1643. responses:
  1644. "200":
  1645. description: DNS Pushed to CoreDNS
  1646. schema:
  1647. type: string
  1648. "400":
  1649. description: Bad Request
  1650. schema:
  1651. $ref: '#/definitions/models.ErrorResponse'
  1652. "500":
  1653. description: Internal Server Error
  1654. schema:
  1655. $ref: '#/definitions/models.ErrorResponse'
  1656. summary: Push DNS entries to nameserver
  1657. tags:
  1658. - DNS
  1659. /api/emqx/hosts:
  1660. delete:
  1661. responses:
  1662. "200":
  1663. description: deleted hosts data on emqx
  1664. schema:
  1665. type: string
  1666. "500":
  1667. description: Internal Server Error
  1668. schema:
  1669. $ref: '#/definitions/models.ErrorResponse'
  1670. security:
  1671. - oauth: []
  1672. summary: Deletes all EMQX hosts
  1673. tags:
  1674. - Hosts
  1675. /api/extclients:
  1676. get:
  1677. responses:
  1678. "200":
  1679. description: OK
  1680. schema:
  1681. $ref: '#/definitions/models.ExtClient'
  1682. "500":
  1683. description: Internal Server Error
  1684. schema:
  1685. $ref: '#/definitions/models.ErrorResponse'
  1686. security:
  1687. - oauth2: []
  1688. summary: Fetches All Remote Access Clients across all networks
  1689. tags:
  1690. - Remote Access Client
  1691. /api/extclients/{network}:
  1692. get:
  1693. responses:
  1694. "200":
  1695. description: OK
  1696. schema:
  1697. $ref: '#/definitions/models.ExtClient'
  1698. "500":
  1699. description: Internal Server Error
  1700. schema:
  1701. $ref: '#/definitions/models.ErrorResponse'
  1702. security:
  1703. - oauth2: []
  1704. summary: Get all remote access client associated with network
  1705. tags:
  1706. - Remote Access Client
  1707. /api/extclients/{network}/{clientid}:
  1708. delete:
  1709. responses:
  1710. "200":
  1711. description: OK
  1712. "403":
  1713. description: Forbidden
  1714. schema:
  1715. $ref: '#/definitions/models.ErrorResponse'
  1716. "500":
  1717. description: Internal Server Error
  1718. schema:
  1719. $ref: '#/definitions/models.ErrorResponse'
  1720. security:
  1721. - oauth2: []
  1722. summary: Delete an individual remote access client
  1723. tags:
  1724. - Remote Access Client
  1725. get:
  1726. responses:
  1727. "200":
  1728. description: OK
  1729. schema:
  1730. $ref: '#/definitions/models.ExtClient'
  1731. "403":
  1732. description: Forbidden
  1733. schema:
  1734. $ref: '#/definitions/models.ErrorResponse'
  1735. "500":
  1736. description: Internal Server Error
  1737. schema:
  1738. $ref: '#/definitions/models.ErrorResponse'
  1739. security:
  1740. - oauth2: []
  1741. summary: Get an individual remote access client
  1742. tags:
  1743. - Remote Access Client
  1744. put:
  1745. responses:
  1746. "200":
  1747. description: OK
  1748. schema:
  1749. $ref: '#/definitions/models.ExtClient'
  1750. "400":
  1751. description: Bad Request
  1752. schema:
  1753. $ref: '#/definitions/models.ErrorResponse'
  1754. "403":
  1755. description: Forbidden
  1756. schema:
  1757. $ref: '#/definitions/models.ErrorResponse'
  1758. "500":
  1759. description: Internal Server Error
  1760. schema:
  1761. $ref: '#/definitions/models.ErrorResponse'
  1762. security:
  1763. - oauth2: []
  1764. summary: Update an individual remote access client
  1765. tags:
  1766. - Remote Access Client
  1767. /api/extclients/{network}/{clientid}/{type}:
  1768. get:
  1769. responses:
  1770. "200":
  1771. description: OK
  1772. schema:
  1773. $ref: '#/definitions/models.ExtClient'
  1774. "403":
  1775. description: Forbidden
  1776. schema:
  1777. $ref: '#/definitions/models.ErrorResponse'
  1778. "500":
  1779. description: Internal Server Error
  1780. schema:
  1781. $ref: '#/definitions/models.ErrorResponse'
  1782. security:
  1783. - oauth2: []
  1784. summary: Get an individual remote access client
  1785. tags:
  1786. - Remote Access Client
  1787. /api/extclients/{network}/{nodeid}:
  1788. post:
  1789. responses:
  1790. "200":
  1791. description: OK
  1792. schema:
  1793. type: string
  1794. "400":
  1795. description: Bad Request
  1796. schema:
  1797. $ref: '#/definitions/models.ErrorResponse'
  1798. "403":
  1799. description: Forbidden
  1800. schema:
  1801. $ref: '#/definitions/models.ErrorResponse'
  1802. "500":
  1803. description: Internal Server Error
  1804. schema:
  1805. $ref: '#/definitions/models.ErrorResponse'
  1806. security:
  1807. - oauth2: []
  1808. summary: Create an individual remote access client
  1809. tags:
  1810. - Remote Access Client
  1811. /api/getip:
  1812. get:
  1813. responses:
  1814. "200":
  1815. description: The public IP address.
  1816. schema:
  1817. type: string
  1818. "400":
  1819. description: Invalid IP address or no IP found.
  1820. schema:
  1821. type: string
  1822. security:
  1823. - oauth2: []
  1824. summary: Get the current public IP address.
  1825. tags:
  1826. - IP Service
  1827. /api/hosts:
  1828. get:
  1829. responses:
  1830. "200":
  1831. description: OK
  1832. schema:
  1833. items:
  1834. $ref: '#/definitions/models.ApiHost'
  1835. type: array
  1836. "500":
  1837. description: Internal Server Error
  1838. schema:
  1839. $ref: '#/definitions/models.ErrorResponse'
  1840. security:
  1841. - oauth: []
  1842. summary: List all hosts
  1843. tags:
  1844. - Hosts
  1845. /api/hosts/{hostid}:
  1846. delete:
  1847. parameters:
  1848. - description: Host ID
  1849. in: path
  1850. name: hostid
  1851. required: true
  1852. type: string
  1853. - description: Force delete
  1854. in: query
  1855. name: force
  1856. type: boolean
  1857. responses:
  1858. "200":
  1859. description: OK
  1860. schema:
  1861. $ref: '#/definitions/models.ApiHost'
  1862. "500":
  1863. description: Internal Server Error
  1864. schema:
  1865. $ref: '#/definitions/models.ErrorResponse'
  1866. security:
  1867. - oauth: []
  1868. summary: Deletes a Netclient host from Netmaker server
  1869. tags:
  1870. - Hosts
  1871. put:
  1872. parameters:
  1873. - description: Host ID
  1874. in: path
  1875. name: hostid
  1876. required: true
  1877. type: string
  1878. - description: New host data
  1879. in: body
  1880. name: body
  1881. required: true
  1882. schema:
  1883. $ref: '#/definitions/models.ApiHost'
  1884. responses:
  1885. "200":
  1886. description: OK
  1887. schema:
  1888. $ref: '#/definitions/models.ApiHost'
  1889. "500":
  1890. description: Internal Server Error
  1891. schema:
  1892. $ref: '#/definitions/models.ErrorResponse'
  1893. security:
  1894. - oauth: []
  1895. summary: Updates a Netclient host on Netmaker server
  1896. tags:
  1897. - Hosts
  1898. /api/hosts/{hostid}/keys:
  1899. put:
  1900. parameters:
  1901. - description: Host ID
  1902. in: path
  1903. name: hostid
  1904. required: true
  1905. type: string
  1906. responses:
  1907. "200":
  1908. description: OK
  1909. schema:
  1910. type: string
  1911. "400":
  1912. description: Bad Request
  1913. schema:
  1914. $ref: '#/definitions/models.ErrorResponse'
  1915. security:
  1916. - oauth: []
  1917. summary: Update keys for a host
  1918. tags:
  1919. - Hosts
  1920. /api/hosts/{hostid}/networks/{network}:
  1921. delete:
  1922. parameters:
  1923. - description: Host ID
  1924. in: path
  1925. name: hostid
  1926. required: true
  1927. type: string
  1928. - description: Network name
  1929. in: path
  1930. name: network
  1931. required: true
  1932. type: string
  1933. - description: Force delete
  1934. in: query
  1935. name: force
  1936. type: boolean
  1937. responses:
  1938. "200":
  1939. description: OK
  1940. schema:
  1941. type: string
  1942. "500":
  1943. description: Internal Server Error
  1944. schema:
  1945. $ref: '#/definitions/models.ErrorResponse'
  1946. security:
  1947. - oauth: []
  1948. summary: To Remove Host from Network
  1949. tags:
  1950. - Hosts
  1951. post:
  1952. parameters:
  1953. - description: Host ID
  1954. in: path
  1955. name: hostid
  1956. required: true
  1957. type: string
  1958. - description: Network name
  1959. in: path
  1960. name: network
  1961. required: true
  1962. type: string
  1963. responses:
  1964. "200":
  1965. description: OK
  1966. schema:
  1967. type: string
  1968. "500":
  1969. description: Internal Server Error
  1970. schema:
  1971. $ref: '#/definitions/models.ErrorResponse'
  1972. security:
  1973. - oauth: []
  1974. summary: To Add Host To Network
  1975. tags:
  1976. - Hosts
  1977. /api/hosts/{hostid}/sync:
  1978. post:
  1979. parameters:
  1980. - description: Host ID
  1981. in: path
  1982. name: hostid
  1983. required: true
  1984. type: string
  1985. responses:
  1986. "200":
  1987. description: OK
  1988. schema:
  1989. type: string
  1990. "400":
  1991. description: Bad Request
  1992. schema:
  1993. $ref: '#/definitions/models.ErrorResponse'
  1994. security:
  1995. - oauth: []
  1996. summary: Requests a host to pull
  1997. tags:
  1998. - Hosts
  1999. /api/hosts/{hostid}/upgrade:
  2000. put:
  2001. parameters:
  2002. - description: Host ID
  2003. in: path
  2004. name: hostid
  2005. required: true
  2006. type: string
  2007. responses:
  2008. "200":
  2009. description: passed message to upgrade host
  2010. schema:
  2011. type: string
  2012. "500":
  2013. description: Internal Server Error
  2014. schema:
  2015. $ref: '#/definitions/models.ErrorResponse'
  2016. security:
  2017. - oauth: []
  2018. summary: Upgrade a host
  2019. tags:
  2020. - Hosts
  2021. /api/hosts/adm/authenticate:
  2022. post:
  2023. consumes:
  2024. - application/json
  2025. parameters:
  2026. - description: Authentication parameters
  2027. in: body
  2028. name: body
  2029. required: true
  2030. schema:
  2031. $ref: '#/definitions/models.AuthParams'
  2032. responses:
  2033. "200":
  2034. description: OK
  2035. schema:
  2036. $ref: '#/definitions/models.SuccessResponse'
  2037. "400":
  2038. description: Bad Request
  2039. schema:
  2040. $ref: '#/definitions/models.ErrorResponse'
  2041. "401":
  2042. description: Unauthorized
  2043. schema:
  2044. $ref: '#/definitions/models.ErrorResponse'
  2045. "500":
  2046. description: Internal Server Error
  2047. schema:
  2048. $ref: '#/definitions/models.ErrorResponse'
  2049. summary: To Fetch Auth Token for a Host
  2050. tags:
  2051. - Auth
  2052. /api/hosts/keys:
  2053. put:
  2054. responses:
  2055. "200":
  2056. description: OK
  2057. schema:
  2058. type: string
  2059. "400":
  2060. description: Bad Request
  2061. schema:
  2062. $ref: '#/definitions/models.ErrorResponse'
  2063. security:
  2064. - oauth: []
  2065. summary: Update keys for all hosts
  2066. tags:
  2067. - Hosts
  2068. /api/networks:
  2069. get:
  2070. produces:
  2071. - application/json
  2072. responses:
  2073. "200":
  2074. description: OK
  2075. schema:
  2076. $ref: '#/definitions/models.Network'
  2077. "500":
  2078. description: Internal Server Error
  2079. schema:
  2080. $ref: '#/definitions/models.ErrorResponse'
  2081. security:
  2082. - oauth: []
  2083. summary: Lists all networks
  2084. tags:
  2085. - Networks
  2086. post:
  2087. parameters:
  2088. - description: Network details
  2089. in: body
  2090. name: body
  2091. required: true
  2092. schema:
  2093. $ref: '#/definitions/models.Network'
  2094. produces:
  2095. - application/json
  2096. responses:
  2097. "200":
  2098. description: OK
  2099. schema:
  2100. $ref: '#/definitions/models.Network'
  2101. "400":
  2102. description: Bad Request
  2103. schema:
  2104. $ref: '#/definitions/models.ErrorResponse'
  2105. security:
  2106. - oauth: []
  2107. summary: Create a network
  2108. tags:
  2109. - Networks
  2110. /api/networks/{networkname}:
  2111. delete:
  2112. parameters:
  2113. - description: Network name
  2114. in: path
  2115. name: networkname
  2116. required: true
  2117. type: string
  2118. produces:
  2119. - application/json
  2120. responses:
  2121. "200":
  2122. description: OK
  2123. schema:
  2124. $ref: '#/definitions/models.SuccessResponse'
  2125. "400":
  2126. description: Bad Request
  2127. schema:
  2128. $ref: '#/definitions/models.ErrorResponse'
  2129. "403":
  2130. description: Forbidden
  2131. schema:
  2132. $ref: '#/definitions/models.ErrorResponse'
  2133. security:
  2134. - oauth: []
  2135. summary: Delete a network
  2136. tags:
  2137. - Networks
  2138. get:
  2139. parameters:
  2140. - description: Network name
  2141. in: path
  2142. name: networkname
  2143. required: true
  2144. type: string
  2145. produces:
  2146. - application/json
  2147. responses:
  2148. "200":
  2149. description: OK
  2150. schema:
  2151. $ref: '#/definitions/models.Network'
  2152. "500":
  2153. description: Internal Server Error
  2154. schema:
  2155. $ref: '#/definitions/models.ErrorResponse'
  2156. security:
  2157. - oauth: []
  2158. summary: Get a network
  2159. tags:
  2160. - Networks
  2161. put:
  2162. parameters:
  2163. - description: Network name
  2164. in: path
  2165. name: networkname
  2166. required: true
  2167. type: string
  2168. - description: Network details
  2169. in: body
  2170. name: body
  2171. required: true
  2172. schema:
  2173. $ref: '#/definitions/models.Network'
  2174. produces:
  2175. - application/json
  2176. responses:
  2177. "200":
  2178. description: OK
  2179. schema:
  2180. $ref: '#/definitions/models.Network'
  2181. "400":
  2182. description: Bad Request
  2183. schema:
  2184. $ref: '#/definitions/models.ErrorResponse'
  2185. security:
  2186. - oauth: []
  2187. summary: Update network settings
  2188. tags:
  2189. - Networks
  2190. /api/networks/{networkname}/acls:
  2191. get:
  2192. parameters:
  2193. - description: Network name
  2194. in: path
  2195. name: networkname
  2196. required: true
  2197. type: string
  2198. produces:
  2199. - application/json
  2200. responses:
  2201. "200":
  2202. description: OK
  2203. schema:
  2204. $ref: '#/definitions/acls.ACLContainer'
  2205. "500":
  2206. description: Internal Server Error
  2207. schema:
  2208. $ref: '#/definitions/models.ErrorResponse'
  2209. security:
  2210. - oauth: []
  2211. summary: Get a network ACL (Access Control List)
  2212. tags:
  2213. - Networks
  2214. put:
  2215. parameters:
  2216. - description: Network name
  2217. in: path
  2218. name: networkname
  2219. required: true
  2220. type: string
  2221. - description: ACL container
  2222. in: body
  2223. name: body
  2224. required: true
  2225. schema:
  2226. $ref: '#/definitions/acls.ACLContainer'
  2227. produces:
  2228. - application/json
  2229. responses:
  2230. "200":
  2231. description: OK
  2232. schema:
  2233. $ref: '#/definitions/acls.ACLContainer'
  2234. "400":
  2235. description: Bad Request
  2236. schema:
  2237. $ref: '#/definitions/models.ErrorResponse'
  2238. "500":
  2239. description: Internal Server Error
  2240. schema:
  2241. $ref: '#/definitions/models.ErrorResponse'
  2242. security:
  2243. - oauth: []
  2244. summary: Update a network ACL (Access Control List)
  2245. tags:
  2246. - Networks
  2247. /api/networks/{networkname}/acls/v2:
  2248. put:
  2249. parameters:
  2250. - description: Network name
  2251. in: path
  2252. name: networkname
  2253. required: true
  2254. type: string
  2255. - description: ACL container
  2256. in: body
  2257. name: body
  2258. required: true
  2259. schema:
  2260. $ref: '#/definitions/acls.ACLContainer'
  2261. produces:
  2262. - application/json
  2263. responses:
  2264. "200":
  2265. description: OK
  2266. schema:
  2267. $ref: '#/definitions/acls.ACLContainer'
  2268. "400":
  2269. description: Bad Request
  2270. schema:
  2271. $ref: '#/definitions/models.ErrorResponse'
  2272. "500":
  2273. description: Internal Server Error
  2274. schema:
  2275. $ref: '#/definitions/models.ErrorResponse'
  2276. security:
  2277. - oauth: []
  2278. summary: Update a network ACL (Access Control List)
  2279. tags:
  2280. - Networks
  2281. /api/nodes:
  2282. get:
  2283. responses:
  2284. "200":
  2285. description: OK
  2286. schema:
  2287. items:
  2288. $ref: '#/definitions/models.ApiNode'
  2289. type: array
  2290. "500":
  2291. description: Internal Server Error
  2292. schema:
  2293. $ref: '#/definitions/models.ErrorResponse'
  2294. summary: Get all nodes across all networks
  2295. tags:
  2296. - Nodes
  2297. /api/nodes/{network}/{nodeid}:
  2298. delete:
  2299. responses:
  2300. "200":
  2301. description: Node deleted.
  2302. schema:
  2303. type: string
  2304. "500":
  2305. description: Internal Server Error
  2306. schema:
  2307. $ref: '#/definitions/models.ErrorResponse'
  2308. security:
  2309. - oauth2: []
  2310. summary: Delete an individual node
  2311. tags:
  2312. - Nodes
  2313. get:
  2314. responses:
  2315. "200":
  2316. description: OK
  2317. schema:
  2318. $ref: '#/definitions/models.NodeGet'
  2319. "500":
  2320. description: Internal Server Error
  2321. schema:
  2322. $ref: '#/definitions/models.ErrorResponse'
  2323. security:
  2324. - oauth2: []
  2325. summary: Get an individual node
  2326. tags:
  2327. - Nodes
  2328. put:
  2329. responses:
  2330. "200":
  2331. description: OK
  2332. schema:
  2333. $ref: '#/definitions/models.ApiNode'
  2334. "500":
  2335. description: Internal Server Error
  2336. schema:
  2337. $ref: '#/definitions/models.ErrorResponse'
  2338. security:
  2339. - oauth2: []
  2340. summary: Update an individual node
  2341. tags:
  2342. - Nodes
  2343. /api/nodes/{network}/{nodeid}/creategateway:
  2344. post:
  2345. responses:
  2346. "200":
  2347. description: OK
  2348. schema:
  2349. $ref: '#/definitions/models.ApiNode'
  2350. "500":
  2351. description: Internal Server Error
  2352. schema:
  2353. $ref: '#/definitions/models.ErrorResponse'
  2354. security:
  2355. - oauth2: []
  2356. summary: Create an egress gateway
  2357. tags:
  2358. - Nodes
  2359. /api/nodes/{network}/{nodeid}/createingress:
  2360. post:
  2361. responses:
  2362. "200":
  2363. description: OK
  2364. schema:
  2365. $ref: '#/definitions/models.ApiNode'
  2366. "500":
  2367. description: Internal Server Error
  2368. schema:
  2369. $ref: '#/definitions/models.ErrorResponse'
  2370. security:
  2371. - oauth2: []
  2372. summary: Create an remote access gateway
  2373. tags:
  2374. - Nodes
  2375. /api/nodes/{network}/{nodeid}/createrelay:
  2376. post:
  2377. consumes:
  2378. - application/json
  2379. parameters:
  2380. - description: Network ID
  2381. in: path
  2382. name: network
  2383. required: true
  2384. type: string
  2385. - description: Node ID
  2386. in: path
  2387. name: nodeid
  2388. required: true
  2389. type: string
  2390. - description: Relay request parameters
  2391. in: body
  2392. name: body
  2393. required: true
  2394. schema:
  2395. $ref: '#/definitions/models.RelayRequest'
  2396. produces:
  2397. - application/json
  2398. responses:
  2399. "200":
  2400. description: OK
  2401. schema:
  2402. $ref: '#/definitions/models.ApiNode'
  2403. "400":
  2404. description: Bad Request
  2405. schema:
  2406. $ref: '#/definitions/models.ErrorResponse'
  2407. "500":
  2408. description: Internal Server Error
  2409. schema:
  2410. $ref: '#/definitions/models.ErrorResponse'
  2411. summary: Create a relay
  2412. tags:
  2413. - PRO
  2414. /api/nodes/{network}/{nodeid}/deletegateway:
  2415. delete:
  2416. responses:
  2417. "200":
  2418. description: OK
  2419. schema:
  2420. $ref: '#/definitions/models.ApiNode'
  2421. "500":
  2422. description: Internal Server Error
  2423. schema:
  2424. $ref: '#/definitions/models.ErrorResponse'
  2425. security:
  2426. - oauth2: []
  2427. summary: Delete an egress gateway
  2428. tags:
  2429. - Nodes
  2430. /api/nodes/{network}/{nodeid}/deleteingress:
  2431. delete:
  2432. responses:
  2433. "200":
  2434. description: OK
  2435. schema:
  2436. $ref: '#/definitions/models.ApiNode'
  2437. "500":
  2438. description: Internal Server Error
  2439. schema:
  2440. $ref: '#/definitions/models.ErrorResponse'
  2441. security:
  2442. - oauth2: []
  2443. summary: Delete an remote access gateway
  2444. tags:
  2445. - Nodes
  2446. /api/nodes/{network}/{nodeid}/deleterelay:
  2447. delete:
  2448. consumes:
  2449. - application/json
  2450. parameters:
  2451. - description: Network ID
  2452. in: path
  2453. name: network
  2454. required: true
  2455. type: string
  2456. - description: Node ID
  2457. in: path
  2458. name: nodeid
  2459. required: true
  2460. type: string
  2461. produces:
  2462. - application/json
  2463. responses:
  2464. "200":
  2465. description: OK
  2466. schema:
  2467. $ref: '#/definitions/models.ApiNode'
  2468. "400":
  2469. description: Bad Request
  2470. schema:
  2471. $ref: '#/definitions/models.ErrorResponse'
  2472. "500":
  2473. description: Internal Server Error
  2474. schema:
  2475. $ref: '#/definitions/models.ErrorResponse'
  2476. summary: Remove a relay
  2477. tags:
  2478. - PRO
  2479. /api/nodes/{network}/{nodeid}/inet_gw:
  2480. delete:
  2481. parameters:
  2482. - description: Network ID
  2483. in: path
  2484. name: network
  2485. required: true
  2486. type: string
  2487. - description: Node ID
  2488. in: path
  2489. name: nodeid
  2490. required: true
  2491. type: string
  2492. responses:
  2493. "200":
  2494. description: OK
  2495. schema:
  2496. $ref: '#/definitions/models.Node'
  2497. "400":
  2498. description: Bad Request
  2499. schema:
  2500. $ref: '#/definitions/models.ErrorResponse'
  2501. "500":
  2502. description: Internal Server Error
  2503. schema:
  2504. $ref: '#/definitions/models.ErrorResponse'
  2505. summary: Delete an internet gateway
  2506. tags:
  2507. - PRO
  2508. post:
  2509. consumes:
  2510. - application/json
  2511. parameters:
  2512. - description: Network ID
  2513. in: path
  2514. name: network
  2515. required: true
  2516. type: string
  2517. - description: Node ID
  2518. in: path
  2519. name: nodeid
  2520. required: true
  2521. type: string
  2522. - description: Internet gateway request
  2523. in: body
  2524. name: body
  2525. required: true
  2526. schema:
  2527. $ref: '#/definitions/models.InetNodeReq'
  2528. responses:
  2529. "200":
  2530. description: OK
  2531. schema:
  2532. $ref: '#/definitions/models.Node'
  2533. "400":
  2534. description: Bad Request
  2535. schema:
  2536. $ref: '#/definitions/models.ErrorResponse'
  2537. "500":
  2538. description: Internal Server Error
  2539. schema:
  2540. $ref: '#/definitions/models.ErrorResponse'
  2541. summary: Create an internet gateway
  2542. tags:
  2543. - PRO
  2544. put:
  2545. consumes:
  2546. - application/json
  2547. parameters:
  2548. - description: Network ID
  2549. in: path
  2550. name: network
  2551. required: true
  2552. type: string
  2553. - description: Node ID
  2554. in: path
  2555. name: nodeid
  2556. required: true
  2557. type: string
  2558. - description: Internet gateway request
  2559. in: body
  2560. name: body
  2561. required: true
  2562. schema:
  2563. $ref: '#/definitions/models.InetNodeReq'
  2564. responses:
  2565. "200":
  2566. description: OK
  2567. schema:
  2568. $ref: '#/definitions/models.Node'
  2569. "400":
  2570. description: Bad Request
  2571. schema:
  2572. $ref: '#/definitions/models.ErrorResponse'
  2573. "500":
  2574. description: Internal Server Error
  2575. schema:
  2576. $ref: '#/definitions/models.ErrorResponse'
  2577. summary: Update an internet gateway
  2578. tags:
  2579. - PRO
  2580. /api/nodes/{network}/{nodeid}/ingress/users:
  2581. get:
  2582. consumes:
  2583. - application/json
  2584. parameters:
  2585. - description: Ingress Gateway ID
  2586. in: path
  2587. name: ingress_id
  2588. required: true
  2589. type: string
  2590. produces:
  2591. - application/json
  2592. responses:
  2593. "200":
  2594. description: OK
  2595. schema:
  2596. items:
  2597. $ref: '#/definitions/models.IngressGwUsers'
  2598. type: array
  2599. "400":
  2600. description: Bad Request
  2601. schema:
  2602. $ref: '#/definitions/models.ErrorResponse'
  2603. "500":
  2604. description: Internal Server Error
  2605. schema:
  2606. $ref: '#/definitions/models.ErrorResponse'
  2607. summary: List users attached to an remote access gateway
  2608. tags:
  2609. - PRO
  2610. /api/nodes/adm/{network}:
  2611. get:
  2612. responses:
  2613. "200":
  2614. description: OK
  2615. schema:
  2616. items:
  2617. $ref: '#/definitions/models.Node'
  2618. type: array
  2619. "500":
  2620. description: Internal Server Error
  2621. schema:
  2622. $ref: '#/definitions/models.ErrorResponse'
  2623. summary: Gets all nodes associated with network including pending nodes
  2624. tags:
  2625. - Nodes
  2626. /api/server/getconfig:
  2627. get:
  2628. responses:
  2629. "200":
  2630. description: OK
  2631. schema:
  2632. $ref: '#/definitions/config.ServerConfig'
  2633. security:
  2634. - oauth2: []
  2635. summary: Get the server configuration
  2636. tags:
  2637. - Server
  2638. /api/server/getserverinfo:
  2639. get:
  2640. responses:
  2641. "200":
  2642. description: OK
  2643. schema:
  2644. $ref: '#/definitions/models.ServerConfig'
  2645. security:
  2646. - oauth2: []
  2647. summary: Get the server information
  2648. tags:
  2649. - Server
  2650. /api/server/status:
  2651. get:
  2652. responses: {}
  2653. security:
  2654. - oauth2: []
  2655. summary: Get the server status
  2656. tags:
  2657. - Server
  2658. /api/users/{username}:
  2659. delete:
  2660. parameters:
  2661. - description: Username of the user to delete
  2662. in: path
  2663. name: username
  2664. required: true
  2665. type: string
  2666. responses:
  2667. "200":
  2668. description: OK
  2669. schema:
  2670. type: string
  2671. "500":
  2672. description: Internal Server Error
  2673. schema:
  2674. $ref: '#/definitions/models.ErrorResponse'
  2675. summary: Delete a user
  2676. tags:
  2677. - Users
  2678. get:
  2679. parameters:
  2680. - description: Username of the user to fetch
  2681. in: path
  2682. name: username
  2683. required: true
  2684. type: string
  2685. responses:
  2686. "200":
  2687. description: OK
  2688. schema:
  2689. $ref: '#/definitions/models.User'
  2690. "500":
  2691. description: Internal Server Error
  2692. schema:
  2693. $ref: '#/definitions/models.ErrorResponse'
  2694. summary: Get an individual user
  2695. tags:
  2696. - Users
  2697. post:
  2698. parameters:
  2699. - description: Username of the user to create
  2700. in: path
  2701. name: username
  2702. required: true
  2703. type: string
  2704. - description: User details
  2705. in: body
  2706. name: body
  2707. required: true
  2708. schema:
  2709. $ref: '#/definitions/models.User'
  2710. responses:
  2711. "200":
  2712. description: OK
  2713. schema:
  2714. $ref: '#/definitions/models.User'
  2715. "400":
  2716. description: Bad Request
  2717. schema:
  2718. $ref: '#/definitions/models.ErrorResponse'
  2719. "403":
  2720. description: Forbidden
  2721. schema:
  2722. $ref: '#/definitions/models.ErrorResponse'
  2723. "500":
  2724. description: Internal Server Error
  2725. schema:
  2726. $ref: '#/definitions/models.ErrorResponse'
  2727. summary: Create a user
  2728. tags:
  2729. - Users
  2730. put:
  2731. parameters:
  2732. - description: Username of the user to update
  2733. in: path
  2734. name: username
  2735. required: true
  2736. type: string
  2737. - description: User details
  2738. in: body
  2739. name: body
  2740. required: true
  2741. schema:
  2742. $ref: '#/definitions/models.User'
  2743. responses:
  2744. "200":
  2745. description: OK
  2746. schema:
  2747. $ref: '#/definitions/models.User'
  2748. "400":
  2749. description: Bad Request
  2750. schema:
  2751. $ref: '#/definitions/models.ErrorResponse'
  2752. "403":
  2753. description: Forbidden
  2754. schema:
  2755. $ref: '#/definitions/models.ErrorResponse'
  2756. "500":
  2757. description: Internal Server Error
  2758. schema:
  2759. $ref: '#/definitions/models.ErrorResponse'
  2760. summary: Update a user
  2761. tags:
  2762. - Users
  2763. /api/users/{username}/remote_access_gw:
  2764. get:
  2765. parameters:
  2766. - description: Username to fetch all the gateways with access
  2767. in: path
  2768. name: username
  2769. required: true
  2770. type: string
  2771. responses:
  2772. "200":
  2773. description: OK
  2774. schema:
  2775. additionalProperties:
  2776. items:
  2777. $ref: '#/definitions/models.UserRemoteGws'
  2778. type: array
  2779. type: object
  2780. "500":
  2781. description: Internal Server Error
  2782. schema:
  2783. $ref: '#/definitions/models.ErrorResponse'
  2784. summary: Get Users Remote Access Gw.
  2785. tags:
  2786. - Users
  2787. /api/users/{username}/remote_access_gw/{remote_access_gateway_id}:
  2788. delete:
  2789. consumes:
  2790. - application/json
  2791. parameters:
  2792. - description: Username
  2793. in: path
  2794. name: username
  2795. required: true
  2796. type: string
  2797. - description: Remote Access Gateway ID
  2798. in: path
  2799. name: remote_access_gateway_id
  2800. required: true
  2801. type: string
  2802. produces:
  2803. - application/json
  2804. responses:
  2805. "200":
  2806. description: OK
  2807. schema:
  2808. $ref: '#/definitions/models.ReturnUser'
  2809. "400":
  2810. description: Bad Request
  2811. schema:
  2812. $ref: '#/definitions/models.ErrorResponse'
  2813. "500":
  2814. description: Internal Server Error
  2815. schema:
  2816. $ref: '#/definitions/models.ErrorResponse'
  2817. summary: Remove user from a remote access gateway
  2818. tags:
  2819. - PRO
  2820. post:
  2821. consumes:
  2822. - application/json
  2823. parameters:
  2824. - description: Username
  2825. in: path
  2826. name: username
  2827. required: true
  2828. type: string
  2829. - description: Remote Access Gateway ID
  2830. in: path
  2831. name: remote_access_gateway_id
  2832. required: true
  2833. type: string
  2834. produces:
  2835. - application/json
  2836. responses:
  2837. "200":
  2838. description: OK
  2839. schema:
  2840. $ref: '#/definitions/models.ReturnUser'
  2841. "400":
  2842. description: Bad Request
  2843. schema:
  2844. $ref: '#/definitions/models.ErrorResponse'
  2845. "500":
  2846. description: Internal Server Error
  2847. schema:
  2848. $ref: '#/definitions/models.ErrorResponse'
  2849. summary: Attach user to a remote access gateway
  2850. tags:
  2851. - PRO
  2852. /api/users/adm/authenticate:
  2853. post:
  2854. consumes:
  2855. - application/json
  2856. parameters:
  2857. - description: Authentication parameters
  2858. in: body
  2859. name: body
  2860. required: true
  2861. schema:
  2862. $ref: '#/definitions/models.UserAuthParams'
  2863. responses:
  2864. "200":
  2865. description: OK
  2866. schema:
  2867. $ref: '#/definitions/models.SuccessResponse'
  2868. "400":
  2869. description: Bad Request
  2870. schema:
  2871. $ref: '#/definitions/models.ErrorResponse'
  2872. "401":
  2873. description: Unauthorized
  2874. schema:
  2875. $ref: '#/definitions/models.ErrorResponse'
  2876. "500":
  2877. description: Internal Server Error
  2878. schema:
  2879. $ref: '#/definitions/models.ErrorResponse'
  2880. summary: Authenticate a user to retrieve an authorization token
  2881. tags:
  2882. - Auth
  2883. /api/users/adm/createsuperadmin:
  2884. post:
  2885. parameters:
  2886. - description: User details
  2887. in: body
  2888. name: body
  2889. required: true
  2890. schema:
  2891. $ref: '#/definitions/models.User'
  2892. responses:
  2893. "200":
  2894. description: OK
  2895. schema:
  2896. $ref: '#/definitions/models.User'
  2897. "400":
  2898. description: Bad Request
  2899. schema:
  2900. $ref: '#/definitions/models.ErrorResponse'
  2901. "500":
  2902. description: Internal Server Error
  2903. schema:
  2904. $ref: '#/definitions/models.ErrorResponse'
  2905. summary: Create a super admin
  2906. tags:
  2907. - Users
  2908. /api/users/adm/hassuperadmin:
  2909. get:
  2910. responses:
  2911. "200":
  2912. description: OK
  2913. schema:
  2914. type: boolean
  2915. "500":
  2916. description: Internal Server Error
  2917. schema:
  2918. $ref: '#/definitions/models.ErrorResponse'
  2919. summary: Check if the server has a super admin
  2920. tags:
  2921. - Users
  2922. /api/users/adm/transfersuperadmin/{username}:
  2923. post:
  2924. parameters:
  2925. - description: Username of the user to transfer super admin role
  2926. in: path
  2927. name: username
  2928. required: true
  2929. type: string
  2930. responses:
  2931. "200":
  2932. description: OK
  2933. schema:
  2934. $ref: '#/definitions/models.User'
  2935. "403":
  2936. description: Forbidden
  2937. schema:
  2938. $ref: '#/definitions/models.ErrorResponse'
  2939. "500":
  2940. description: Internal Server Error
  2941. schema:
  2942. $ref: '#/definitions/models.ErrorResponse'
  2943. summary: Transfer super admin role to another admin user
  2944. tags:
  2945. - Users
  2946. /api/users_pending:
  2947. delete:
  2948. responses:
  2949. "200":
  2950. description: OK
  2951. schema:
  2952. type: string
  2953. "500":
  2954. description: Internal Server Error
  2955. schema:
  2956. $ref: '#/definitions/models.ErrorResponse'
  2957. summary: Delete all pending users
  2958. tags:
  2959. - Users
  2960. get:
  2961. responses:
  2962. "200":
  2963. description: OK
  2964. schema:
  2965. items:
  2966. $ref: '#/definitions/models.User'
  2967. type: array
  2968. "500":
  2969. description: Internal Server Error
  2970. schema:
  2971. $ref: '#/definitions/models.ErrorResponse'
  2972. summary: Get all pending users
  2973. tags:
  2974. - Users
  2975. /api/users_pending/user/{username}:
  2976. delete:
  2977. parameters:
  2978. - description: Username of the pending user to delete
  2979. in: path
  2980. name: username
  2981. required: true
  2982. type: string
  2983. responses:
  2984. "200":
  2985. description: OK
  2986. schema:
  2987. type: string
  2988. "500":
  2989. description: Internal Server Error
  2990. schema:
  2991. $ref: '#/definitions/models.ErrorResponse'
  2992. summary: Delete a pending user
  2993. tags:
  2994. - Users
  2995. post:
  2996. parameters:
  2997. - description: Username of the pending user to approve
  2998. in: path
  2999. name: username
  3000. required: true
  3001. type: string
  3002. responses:
  3003. "200":
  3004. description: OK
  3005. schema:
  3006. type: string
  3007. "500":
  3008. description: Internal Server Error
  3009. schema:
  3010. $ref: '#/definitions/models.ErrorResponse'
  3011. summary: Approve a pending user
  3012. tags:
  3013. - Users
  3014. /api/v1/acls:
  3015. delete:
  3016. consumes:
  3017. - application/json
  3018. responses:
  3019. "200":
  3020. description: OK
  3021. schema:
  3022. items:
  3023. $ref: '#/definitions/models.SuccessResponse'
  3024. type: array
  3025. "500":
  3026. description: Internal Server Error
  3027. schema:
  3028. $ref: '#/definitions/models.ErrorResponse'
  3029. summary: Delete Acl
  3030. tags:
  3031. - ACL
  3032. get:
  3033. consumes:
  3034. - application/json
  3035. responses:
  3036. "200":
  3037. description: OK
  3038. schema:
  3039. items:
  3040. $ref: '#/definitions/models.SuccessResponse'
  3041. type: array
  3042. "500":
  3043. description: Internal Server Error
  3044. schema:
  3045. $ref: '#/definitions/models.ErrorResponse'
  3046. summary: List Acls in a network
  3047. tags:
  3048. - ACL
  3049. post:
  3050. consumes:
  3051. - application/json
  3052. responses:
  3053. "200":
  3054. description: OK
  3055. schema:
  3056. items:
  3057. $ref: '#/definitions/models.SuccessResponse'
  3058. type: array
  3059. "500":
  3060. description: Internal Server Error
  3061. schema:
  3062. $ref: '#/definitions/models.ErrorResponse'
  3063. summary: Create Acl
  3064. tags:
  3065. - ACL
  3066. put:
  3067. consumes:
  3068. - application/json
  3069. responses:
  3070. "200":
  3071. description: OK
  3072. schema:
  3073. items:
  3074. $ref: '#/definitions/models.SuccessResponse'
  3075. type: array
  3076. "500":
  3077. description: Internal Server Error
  3078. schema:
  3079. $ref: '#/definitions/models.ErrorResponse'
  3080. summary: Update Acl
  3081. tags:
  3082. - ACL
  3083. /api/v1/acls/policy_types:
  3084. get:
  3085. consumes:
  3086. - application/json
  3087. responses:
  3088. "200":
  3089. description: OK
  3090. schema:
  3091. items:
  3092. $ref: '#/definitions/models.SuccessResponse'
  3093. type: array
  3094. "500":
  3095. description: Internal Server Error
  3096. schema:
  3097. $ref: '#/definitions/models.ErrorResponse'
  3098. summary: List Acl Policy types
  3099. tags:
  3100. - ACL
  3101. /api/v1/enrollment-keys:
  3102. get:
  3103. responses:
  3104. "200":
  3105. description: OK
  3106. schema:
  3107. items:
  3108. $ref: '#/definitions/models.EnrollmentKey'
  3109. type: array
  3110. "500":
  3111. description: Internal Server Error
  3112. schema:
  3113. $ref: '#/definitions/models.ErrorResponse'
  3114. security:
  3115. - oauth: []
  3116. summary: Lists all EnrollmentKeys for admins
  3117. tags:
  3118. - EnrollmentKeys
  3119. post:
  3120. parameters:
  3121. - description: Enrollment Key parameters
  3122. in: body
  3123. name: body
  3124. required: true
  3125. schema:
  3126. $ref: '#/definitions/models.APIEnrollmentKey'
  3127. responses:
  3128. "200":
  3129. description: OK
  3130. schema:
  3131. $ref: '#/definitions/models.EnrollmentKey'
  3132. "400":
  3133. description: Bad Request
  3134. schema:
  3135. $ref: '#/definitions/models.ErrorResponse'
  3136. "500":
  3137. description: Internal Server Error
  3138. schema:
  3139. $ref: '#/definitions/models.ErrorResponse'
  3140. security:
  3141. - oauth: []
  3142. summary: Creates an EnrollmentKey for hosts to register with server and join
  3143. networks
  3144. tags:
  3145. - EnrollmentKeys
  3146. /api/v1/enrollment-keys/{keyid}:
  3147. delete:
  3148. parameters:
  3149. - description: Enrollment Key ID
  3150. in: path
  3151. name: keyid
  3152. required: true
  3153. type: string
  3154. responses:
  3155. "200":
  3156. description: OK
  3157. "500":
  3158. description: Internal Server Error
  3159. schema:
  3160. $ref: '#/definitions/models.ErrorResponse'
  3161. security:
  3162. - oauth: []
  3163. summary: Deletes an EnrollmentKey from Netmaker server
  3164. tags:
  3165. - EnrollmentKeys
  3166. put:
  3167. parameters:
  3168. - description: Enrollment Key ID
  3169. in: path
  3170. name: keyid
  3171. required: true
  3172. type: string
  3173. - description: Enrollment Key parameters
  3174. in: body
  3175. name: body
  3176. required: true
  3177. schema:
  3178. $ref: '#/definitions/models.APIEnrollmentKey'
  3179. responses:
  3180. "200":
  3181. description: OK
  3182. schema:
  3183. $ref: '#/definitions/models.EnrollmentKey'
  3184. "400":
  3185. description: Bad Request
  3186. schema:
  3187. $ref: '#/definitions/models.ErrorResponse'
  3188. "500":
  3189. description: Internal Server Error
  3190. schema:
  3191. $ref: '#/definitions/models.ErrorResponse'
  3192. security:
  3193. - oauth: []
  3194. summary: Updates an EnrollmentKey. Updates are only limited to the relay to
  3195. use
  3196. tags:
  3197. - EnrollmentKeys
  3198. /api/v1/fallback/host/{hostid}:
  3199. put:
  3200. parameters:
  3201. - description: Host ID
  3202. in: path
  3203. name: hostid
  3204. required: true
  3205. type: string
  3206. - description: Host update data
  3207. in: body
  3208. name: body
  3209. required: true
  3210. schema:
  3211. $ref: '#/definitions/models.HostUpdate'
  3212. responses:
  3213. "200":
  3214. description: updated host data
  3215. schema:
  3216. type: string
  3217. "500":
  3218. description: Internal Server Error
  3219. schema:
  3220. $ref: '#/definitions/models.ErrorResponse'
  3221. security:
  3222. - oauth: []
  3223. summary: Updates a Netclient host on Netmaker server
  3224. tags:
  3225. - Hosts
  3226. /api/v1/host:
  3227. get:
  3228. responses:
  3229. "200":
  3230. description: OK
  3231. schema:
  3232. $ref: '#/definitions/models.HostPull'
  3233. "500":
  3234. description: Internal Server Error
  3235. schema:
  3236. $ref: '#/definitions/models.ErrorResponse'
  3237. security:
  3238. - oauth: []
  3239. summary: Used by clients for "pull" command
  3240. tags:
  3241. - Hosts
  3242. /api/v1/host/{hostid}/signalpeer:
  3243. post:
  3244. parameters:
  3245. - description: Host ID
  3246. in: path
  3247. name: hostid
  3248. required: true
  3249. type: string
  3250. - description: Signal data
  3251. in: body
  3252. name: body
  3253. required: true
  3254. schema:
  3255. $ref: '#/definitions/models.Signal'
  3256. responses:
  3257. "200":
  3258. description: OK
  3259. schema:
  3260. $ref: '#/definitions/models.Signal'
  3261. "400":
  3262. description: Bad Request
  3263. schema:
  3264. $ref: '#/definitions/models.ErrorResponse'
  3265. security:
  3266. - oauth: []
  3267. summary: Send signal to peer
  3268. tags:
  3269. - Hosts
  3270. /api/v1/host/register/{token}:
  3271. post:
  3272. parameters:
  3273. - description: Enrollment Key Token
  3274. in: path
  3275. name: token
  3276. required: true
  3277. type: string
  3278. - description: Host registration parameters
  3279. in: body
  3280. name: body
  3281. required: true
  3282. schema:
  3283. $ref: '#/definitions/models.Host'
  3284. responses:
  3285. "200":
  3286. description: OK
  3287. schema:
  3288. $ref: '#/definitions/models.RegisterResponse'
  3289. "400":
  3290. description: Bad Request
  3291. schema:
  3292. $ref: '#/definitions/models.ErrorResponse'
  3293. "500":
  3294. description: Internal Server Error
  3295. schema:
  3296. $ref: '#/definitions/models.ErrorResponse'
  3297. security:
  3298. - oauth: []
  3299. summary: Handles a Netclient registration with server and add nodes accordingly
  3300. tags:
  3301. - EnrollmentKeys
  3302. /api/v1/legacy/nodes:
  3303. delete:
  3304. responses:
  3305. "200":
  3306. description: Wiped all legacy nodes.
  3307. schema:
  3308. type: string
  3309. "400":
  3310. description: Bad Request
  3311. schema:
  3312. $ref: '#/definitions/models.ErrorResponse'
  3313. security:
  3314. - oauth2: []
  3315. summary: Delete all legacy nodes from DB.
  3316. tags:
  3317. - Nodes
  3318. /api/v1/networks/stats:
  3319. get:
  3320. produces:
  3321. - application/json
  3322. responses:
  3323. "200":
  3324. description: OK
  3325. schema:
  3326. $ref: '#/definitions/models.SuccessResponse'
  3327. "500":
  3328. description: Internal Server Error
  3329. schema:
  3330. $ref: '#/definitions/models.ErrorResponse'
  3331. security:
  3332. - oauth: []
  3333. summary: Lists all networks with stats
  3334. tags:
  3335. - Networks
  3336. /api/v1/node/{network}/failover/reset:
  3337. post:
  3338. parameters:
  3339. - description: Network ID
  3340. in: path
  3341. name: network
  3342. required: true
  3343. type: string
  3344. responses:
  3345. "200":
  3346. description: OK
  3347. schema:
  3348. $ref: '#/definitions/models.SuccessResponse'
  3349. "500":
  3350. description: Internal Server Error
  3351. schema:
  3352. $ref: '#/definitions/models.ErrorResponse'
  3353. summary: Reset failover for a network
  3354. tags:
  3355. - PRO
  3356. /api/v1/node/{nodeid}/failover:
  3357. delete:
  3358. parameters:
  3359. - description: Node ID
  3360. in: path
  3361. name: nodeid
  3362. required: true
  3363. type: string
  3364. responses:
  3365. "200":
  3366. description: OK
  3367. schema:
  3368. $ref: '#/definitions/models.Node'
  3369. "400":
  3370. description: Bad Request
  3371. schema:
  3372. $ref: '#/definitions/models.ErrorResponse'
  3373. "500":
  3374. description: Internal Server Error
  3375. schema:
  3376. $ref: '#/definitions/models.ErrorResponse'
  3377. summary: Delete failover node
  3378. tags:
  3379. - PRO
  3380. get:
  3381. parameters:
  3382. - description: Node ID
  3383. in: path
  3384. name: nodeid
  3385. required: true
  3386. type: string
  3387. responses:
  3388. "200":
  3389. description: OK
  3390. schema:
  3391. $ref: '#/definitions/models.Node'
  3392. "400":
  3393. description: Bad Request
  3394. schema:
  3395. $ref: '#/definitions/models.ErrorResponse'
  3396. "404":
  3397. description: Not Found
  3398. schema:
  3399. $ref: '#/definitions/models.ErrorResponse'
  3400. summary: Get failover node
  3401. tags:
  3402. - PRO
  3403. post:
  3404. parameters:
  3405. - description: Node ID
  3406. in: path
  3407. name: nodeid
  3408. required: true
  3409. type: string
  3410. responses:
  3411. "200":
  3412. description: OK
  3413. schema:
  3414. $ref: '#/definitions/models.Node'
  3415. "400":
  3416. description: Bad Request
  3417. schema:
  3418. $ref: '#/definitions/models.ErrorResponse'
  3419. "500":
  3420. description: Internal Server Error
  3421. schema:
  3422. $ref: '#/definitions/models.ErrorResponse'
  3423. summary: Create failover node
  3424. tags:
  3425. - PRO
  3426. /api/v1/node/{nodeid}/failover_me:
  3427. post:
  3428. consumes:
  3429. - application/json
  3430. parameters:
  3431. - description: Node ID
  3432. in: path
  3433. name: nodeid
  3434. required: true
  3435. type: string
  3436. - description: Failover request
  3437. in: body
  3438. name: body
  3439. required: true
  3440. schema:
  3441. $ref: '#/definitions/models.FailOverMeReq'
  3442. responses:
  3443. "200":
  3444. description: OK
  3445. schema:
  3446. $ref: '#/definitions/models.SuccessResponse'
  3447. "400":
  3448. description: Bad Request
  3449. schema:
  3450. $ref: '#/definitions/models.ErrorResponse'
  3451. "500":
  3452. description: Internal Server Error
  3453. schema:
  3454. $ref: '#/definitions/models.ErrorResponse'
  3455. summary: Failover me
  3456. tags:
  3457. - PRO
  3458. /api/v1/tags:
  3459. delete:
  3460. consumes:
  3461. - application/json
  3462. responses:
  3463. "200":
  3464. description: OK
  3465. schema:
  3466. items:
  3467. $ref: '#/definitions/models.SuccessResponse'
  3468. type: array
  3469. "500":
  3470. description: Internal Server Error
  3471. schema:
  3472. $ref: '#/definitions/models.ErrorResponse'
  3473. summary: Delete Tag
  3474. tags:
  3475. - TAG
  3476. get:
  3477. consumes:
  3478. - application/json
  3479. responses:
  3480. "200":
  3481. description: OK
  3482. schema:
  3483. items:
  3484. $ref: '#/definitions/models.SuccessResponse'
  3485. type: array
  3486. "500":
  3487. description: Internal Server Error
  3488. schema:
  3489. $ref: '#/definitions/models.ErrorResponse'
  3490. summary: List Tags in a network
  3491. tags:
  3492. - TAG
  3493. post:
  3494. consumes:
  3495. - application/json
  3496. responses:
  3497. "200":
  3498. description: OK
  3499. schema:
  3500. items:
  3501. $ref: '#/definitions/models.SuccessResponse'
  3502. type: array
  3503. "500":
  3504. description: Internal Server Error
  3505. schema:
  3506. $ref: '#/definitions/models.ErrorResponse'
  3507. summary: Create Tag
  3508. tags:
  3509. - TAG
  3510. put:
  3511. consumes:
  3512. - application/json
  3513. responses:
  3514. "200":
  3515. description: OK
  3516. schema:
  3517. items:
  3518. $ref: '#/definitions/models.SuccessResponse'
  3519. type: array
  3520. "500":
  3521. description: Internal Server Error
  3522. schema:
  3523. $ref: '#/definitions/models.ErrorResponse'
  3524. summary: Update Tag
  3525. tags:
  3526. - TAG
  3527. /api/v1/user/group:
  3528. delete:
  3529. parameters:
  3530. - description: group id required to delete the role
  3531. in: query
  3532. name: group_id
  3533. required: true
  3534. type: string
  3535. responses:
  3536. "200":
  3537. description: OK
  3538. schema:
  3539. type: string
  3540. "500":
  3541. description: Internal Server Error
  3542. schema:
  3543. $ref: '#/definitions/models.ErrorResponse'
  3544. summary: Delete user group.
  3545. tags:
  3546. - Users
  3547. /api/v1/user/role:
  3548. delete:
  3549. parameters:
  3550. - description: roleid required to delete the role
  3551. in: query
  3552. name: role_id
  3553. required: true
  3554. type: string
  3555. responses:
  3556. "200":
  3557. description: OK
  3558. schema:
  3559. type: string
  3560. "500":
  3561. description: Internal Server Error
  3562. schema:
  3563. $ref: '#/definitions/models.ErrorResponse'
  3564. summary: Delete user role permission template.
  3565. tags:
  3566. - Users
  3567. get:
  3568. parameters:
  3569. - description: roleid required to get the role details
  3570. in: query
  3571. name: role_id
  3572. required: true
  3573. type: string
  3574. responses:
  3575. "200":
  3576. description: OK
  3577. schema:
  3578. $ref: '#/definitions/models.UserRolePermissionTemplate'
  3579. "500":
  3580. description: Internal Server Error
  3581. schema:
  3582. $ref: '#/definitions/models.ErrorResponse'
  3583. summary: Get user role permission template.
  3584. tags:
  3585. - Users
  3586. post:
  3587. parameters:
  3588. - description: user role template
  3589. in: body
  3590. name: body
  3591. required: true
  3592. schema:
  3593. $ref: '#/definitions/models.UserRolePermissionTemplate'
  3594. responses:
  3595. "200":
  3596. description: OK
  3597. schema:
  3598. $ref: '#/definitions/models.UserRolePermissionTemplate'
  3599. "500":
  3600. description: Internal Server Error
  3601. schema:
  3602. $ref: '#/definitions/models.ErrorResponse'
  3603. summary: Create user role permission template.
  3604. tags:
  3605. - Users
  3606. put:
  3607. parameters:
  3608. - description: user role template
  3609. in: body
  3610. name: body
  3611. required: true
  3612. schema:
  3613. $ref: '#/definitions/models.UserRolePermissionTemplate'
  3614. responses:
  3615. "200":
  3616. description: OK
  3617. schema:
  3618. $ref: '#/definitions/models.UserRolePermissionTemplate'
  3619. "500":
  3620. description: Internal Server Error
  3621. schema:
  3622. $ref: '#/definitions/models.ErrorResponse'
  3623. summary: Update user role permission template.
  3624. tags:
  3625. - Users
  3626. /api/v1/user/roles:
  3627. get:
  3628. parameters:
  3629. - description: roleid required to get the role details
  3630. in: query
  3631. name: role_id
  3632. required: true
  3633. type: string
  3634. responses:
  3635. "200":
  3636. description: OK
  3637. schema:
  3638. items:
  3639. $ref: '#/definitions/models.UserRolePermissionTemplate'
  3640. type: array
  3641. "500":
  3642. description: Internal Server Error
  3643. schema:
  3644. $ref: '#/definitions/models.ErrorResponse'
  3645. summary: lists all user roles.
  3646. tags:
  3647. - Users
  3648. /meshclient/files/{filename}:
  3649. get:
  3650. responses:
  3651. "200":
  3652. description: file
  3653. schema:
  3654. type: body
  3655. "404":
  3656. description: 404 not found
  3657. schema:
  3658. type: string
  3659. summary: Retrieve a file from the file server
  3660. tags:
  3661. - Meshclient
  3662. swagger: "2.0"
  3663. tags:
  3664. - description: |
  3665. Most actions that can be performed via API can be performed via UI. We recommend managing your networks using the official netmaker-ui project. However, Netmaker can also be run without the UI, and all functions can be achieved via API calls. If your use case requires using Netmaker without the UI or you need to do some troubleshooting/advanced configuration, using the API directly may help.
  3666. name: APIUsage
  3667. - description: |
  3668. API calls are primarily authenticated using a user authentication token. This token should be included in the header as follows:
  3669. -H "Authorization: Bearer <YOUR_AUTH_TOKEN>"
  3670. To obtain YOUR_AUTH_TOKEN:
  3671. Call the api/users/adm/authenticate endpoint (see documentation below for details).
  3672. Note: While a MasterKey exists (configurable via env var or config file), it should be considered a backup option, used only when server access is lost. By default, this key is "secret key," but it's crucial to change this and keep it secure in your instance.
  3673. For more information on configuration and security best practices, refer to the [Netmaker documentation](https://docs.netmaker.io/).
  3674. name: Authentication
  3675. - description: |
  3676. Check out our [Pricing](https://www.netmaker.io/pricing). And Feel Free to [Contact Us](https://www.netmaker.io/contact) if you have any questions or need some clarifications.
  3677. name: Pricing