12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501 |
- basePath: /
- consumes:
- - application/json
- definitions:
- ACL:
- additionalProperties:
- format: uint8
- type: integer
- description: ACL - the ACL of other nodes in a NetworkACL for a single unique node
- type: object
- x-go-package: github.com/gravitl/netmaker/logic/acls
- ACLContainer:
- additionalProperties:
- $ref: '#/definitions/ACL'
- description: ACLContainer - the total list of all node's ACL in a given network
- type: object
- x-go-package: github.com/gravitl/netmaker/logic/acls
- ApiHost:
- description: ApiHost - the host struct for API usage
- properties:
- debug:
- type: boolean
- x-go-name: Debug
- defaultinterface:
- type: string
- x-go-name: DefaultInterface
- endpointip:
- type: string
- x-go-name: EndpointIP
- firewallinuse:
- type: string
- x-go-name: FirewallInUse
- id:
- type: string
- x-go-name: ID
- interfaces:
- items:
- $ref: '#/definitions/Iface'
- type: array
- x-go-name: Interfaces
- isdefault:
- type: boolean
- x-go-name: IsDefault
- isrelay:
- type: boolean
- x-go-name: IsRelay
- isrelayed:
- type: boolean
- x-go-name: IsRelayed
- isstatic:
- type: boolean
- x-go-name: IsStatic
- listenport:
- format: int64
- type: integer
- x-go-name: ListenPort
- macaddress:
- type: string
- x-go-name: MacAddress
- mtu:
- format: int64
- type: integer
- x-go-name: MTU
- name:
- type: string
- x-go-name: Name
- nat_type:
- type: string
- x-go-name: NatType
- nodes:
- items:
- type: string
- type: array
- x-go-name: Nodes
- os:
- type: string
- x-go-name: OS
- publickey:
- type: string
- x-go-name: PublicKey
- relay_hosts:
- items:
- type: string
- type: array
- x-go-name: RelayedHosts
- relayed_by:
- type: string
- x-go-name: RelayedBy
- verbosity:
- format: int64
- type: integer
- x-go-name: Verbosity
- version:
- type: string
- x-go-name: Version
- wg_public_listen_port:
- format: int64
- type: integer
- x-go-name: WgPublicListenPort
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- AuthParams:
- description: AuthParams - struct for auth params
- properties:
- id:
- type: string
- x-go-name: ID
- macaddress:
- type: string
- x-go-name: MacAddress
- password:
- type: string
- x-go-name: Password
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- CustomExtClient:
- description: CustomExtClient - struct for CustomExtClient params
- properties:
- clientid:
- type: string
- x-go-name: ClientID
- deniednodeacls:
- additionalProperties:
- type: object
- type: object
- x-go-name: DeniedACLs
- dns:
- type: string
- x-go-name: DNS
- enabled:
- type: boolean
- x-go-name: Enabled
- extraallowedips:
- items:
- type: string
- type: array
- x-go-name: ExtraAllowedIPs
- publickey:
- type: string
- x-go-name: PublicKey
- remote_access_client_id:
- type: string
- x-go-name: RemoteAccessClientID
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- DNSEntry:
- description: DNSEntry - a DNS entry represented as struct
- properties:
- address:
- type: string
- x-go-name: Address
- address6:
- type: string
- x-go-name: Address6
- name:
- type: string
- x-go-name: Name
- network:
- type: string
- x-go-name: Network
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- Duration:
- description: |-
- A Duration represents the elapsed time between two instants
- as an int64 nanosecond count. The representation limits the
- largest representable duration to approximately 290 years.
- format: int64
- type: integer
- x-go-package: time
- EgressGatewayRequest:
- description: EgressGatewayRequest - egress gateway request
- properties:
- natenabled:
- type: string
- x-go-name: NatEnabled
- netid:
- type: string
- x-go-name: NetID
- nodeid:
- type: string
- x-go-name: NodeID
- ranges:
- items:
- type: string
- type: array
- x-go-name: Ranges
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- EnrollmentKey:
- description: EnrollmentKey - the key used to register hosts and join them to specific networks
- properties:
- expiration:
- format: date-time
- type: string
- x-go-name: Expiration
- networks:
- items:
- type: string
- type: array
- x-go-name: Networks
- tags:
- items:
- type: string
- type: array
- x-go-name: Tags
- token:
- type: string
- x-go-name: Token
- type:
- $ref: '#/definitions/KeyType'
- unlimited:
- type: boolean
- x-go-name: Unlimited
- uses_remaining:
- format: int64
- type: integer
- x-go-name: UsesRemaining
- value:
- type: string
- x-go-name: Value
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- ExtClient:
- description: ExtClient - struct for external clients
- properties:
- address:
- type: string
- x-go-name: Address
- address6:
- type: string
- x-go-name: Address6
- clientid:
- type: string
- x-go-name: ClientID
- deniednodeacls:
- additionalProperties:
- type: object
- type: object
- x-go-name: DeniedACLs
- dns:
- type: string
- x-go-name: DNS
- enabled:
- type: boolean
- x-go-name: Enabled
- extraallowedips:
- items:
- type: string
- type: array
- x-go-name: ExtraAllowedIPs
- ingressgatewayendpoint:
- type: string
- x-go-name: IngressGatewayEndpoint
- ingressgatewayid:
- type: string
- x-go-name: IngressGatewayID
- lastmodified:
- format: int64
- type: integer
- x-go-name: LastModified
- network:
- type: string
- x-go-name: Network
- ownerid:
- type: string
- x-go-name: OwnerID
- privatekey:
- type: string
- x-go-name: PrivateKey
- publickey:
- type: string
- x-go-name: PublicKey
- remote_access_client_id:
- type: string
- x-go-name: RemoteAccessClientID
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- File:
- title: File represents an open file descriptor.
- type: object
- x-go-package: os
- HardwareAddr:
- items:
- format: uint8
- type: integer
- title: A HardwareAddr represents a physical hardware address.
- type: array
- x-go-package: net
- Host:
- description: Host - represents a host on the network
- properties:
- autoupdate:
- type: boolean
- x-go-name: AutoUpdate
- daemoninstalled:
- type: boolean
- x-go-name: DaemonInstalled
- debug:
- type: boolean
- x-go-name: Debug
- defaultinterface:
- type: string
- x-go-name: DefaultInterface
- endpointip:
- type: string
- x-go-name: EndpointIP
- firewallinuse:
- type: string
- x-go-name: FirewallInUse
- hostpass:
- type: string
- x-go-name: HostPass
- id:
- format: uuid
- type: string
- x-go-name: ID
- interface:
- type: string
- x-go-name: Interface
- interfaces:
- items:
- $ref: '#/definitions/Iface'
- type: array
- x-go-name: Interfaces
- ipforwarding:
- type: boolean
- x-go-name: IPForwarding
- isdefault:
- type: boolean
- x-go-name: IsDefault
- isdocker:
- type: boolean
- x-go-name: IsDocker
- isk8s:
- type: boolean
- x-go-name: IsK8S
- isstatic:
- type: boolean
- x-go-name: IsStatic
- listenport:
- format: int64
- type: integer
- x-go-name: ListenPort
- macaddress:
- $ref: '#/definitions/HardwareAddr'
- mtu:
- format: int64
- type: integer
- x-go-name: MTU
- name:
- type: string
- x-go-name: Name
- nat_type:
- type: string
- x-go-name: NatType
- nodes:
- items:
- type: string
- type: array
- x-go-name: Nodes
- os:
- type: string
- x-go-name: OS
- publickey:
- $ref: '#/definitions/Key'
- traffickeypublic:
- items:
- format: uint8
- type: integer
- type: array
- x-go-name: TrafficKeyPublic
- turn_endpoint:
- type: string
- x-go-name: TurnEndpoint
- verbosity:
- format: int64
- type: integer
- x-go-name: Verbosity
- version:
- type: string
- x-go-name: Version
- wg_public_listen_port:
- format: int64
- type: integer
- x-go-name: WgPublicListenPort
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- HostPull:
- description: HostPull - response of a host's pull
- properties:
- host:
- $ref: '#/definitions/Host'
- nodes:
- items:
- $ref: '#/definitions/Node'
- type: array
- x-go-name: Nodes
- peer_ids:
- $ref: '#/definitions/PeerMap'
- peers:
- items:
- $ref: '#/definitions/PeerConfig'
- type: array
- x-go-name: Peers
- server_config:
- $ref: '#/definitions/ServerConfig'
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- IDandAddr:
- description: IDandAddr - struct to hold ID and primary Address
- properties:
- address:
- type: string
- x-go-name: Address
- id:
- type: string
- x-go-name: ID
- is_extclient:
- type: boolean
- x-go-name: IsExtClient
- isserver:
- type: string
- x-go-name: IsServer
- listen_port:
- format: int64
- type: integer
- x-go-name: ListenPort
- name:
- type: string
- x-go-name: Name
- network:
- type: string
- x-go-name: Network
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- IPMask:
- description: See type IPNet and func ParseCIDR for details.
- items:
- format: uint8
- type: integer
- title: |-
- An IPMask is a bitmask that can be used to manipulate
- IP addresses for IP addressing and routing.
- type: array
- x-go-package: net
- IPNet:
- properties:
- IP:
- type: string
- Mask:
- $ref: '#/definitions/IPMask'
- title: An IPNet represents an IP network.
- type: object
- x-go-package: net
- Iface:
- description: Iface struct for local interfaces of a node
- properties:
- address:
- $ref: '#/definitions/IPNet'
- addressString:
- type: string
- x-go-name: AddressString
- name:
- type: string
- x-go-name: Name
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- Key:
- description: |-
- A Key is a public, private, or pre-shared secret key. The Key constructor
- functions in this package can be used to create Keys suitable for each of
- these applications.
- items:
- format: uint8
- type: integer
- type: array
- x-go-package: golang.zx2c4.com/wireguard/wgctrl/wgtypes
- KeyType:
- description: KeyType - the type of enrollment key
- format: int64
- type: integer
- x-go-package: github.com/gravitl/netmaker/models
- LegacyNode:
- description: LegacyNode - legacy struct for node model
- properties:
- accesskey:
- type: string
- x-go-name: AccessKey
- action:
- type: string
- x-go-name: Action
- address:
- type: string
- x-go-name: Address
- address6:
- type: string
- x-go-name: Address6
- allowedips:
- items:
- type: string
- type: array
- x-go-name: AllowedIPs
- connected:
- type: string
- x-go-name: Connected
- defaultacl:
- description: == PRO ==
- type: string
- x-go-name: DefaultACL
- dnson:
- type: string
- x-go-name: DNSOn
- egressgatewaynatenabled:
- type: string
- x-go-name: EgressGatewayNatEnabled
- egressgatewayranges:
- items:
- type: string
- type: array
- x-go-name: EgressGatewayRanges
- egressgatewayrequest:
- $ref: '#/definitions/EgressGatewayRequest'
- endpoint:
- type: string
- x-go-name: Endpoint
- expdatetime:
- format: int64
- type: integer
- x-go-name: ExpirationDateTime
- failover:
- type: string
- x-go-name: Failover
- failovernode:
- type: string
- x-go-name: FailoverNode
- firewallinuse:
- type: string
- x-go-name: FirewallInUse
- id:
- type: string
- x-go-name: ID
- ingressgatewayrange:
- type: string
- x-go-name: IngressGatewayRange
- ingressgatewayrange6:
- type: string
- x-go-name: IngressGatewayRange6
- interface:
- type: string
- x-go-name: Interface
- interfaces:
- items:
- $ref: '#/definitions/Iface'
- type: array
- x-go-name: Interfaces
- internetgateway:
- type: string
- x-go-name: InternetGateway
- ipforwarding:
- type: string
- x-go-name: IPForwarding
- isdocker:
- type: string
- x-go-name: IsDocker
- isegressgateway:
- type: string
- x-go-name: IsEgressGateway
- ishub:
- type: string
- x-go-name: IsHub
- isingressgateway:
- type: string
- x-go-name: IsIngressGateway
- isk8s:
- type: string
- x-go-name: IsK8S
- ispending:
- type: string
- x-go-name: IsPending
- isrelay:
- type: string
- x-go-name: IsRelay
- isrelayed:
- type: string
- x-go-name: IsRelayed
- isserver:
- type: string
- x-go-name: IsServer
- isstatic:
- description: IsStatic - refers to if the Endpoint is set manually or dynamically
- type: string
- x-go-name: IsStatic
- lastcheckin:
- format: int64
- type: integer
- x-go-name: LastCheckIn
- lastmodified:
- format: int64
- type: integer
- x-go-name: LastModified
- lastpeerupdate:
- format: int64
- type: integer
- x-go-name: LastPeerUpdate
- listenport:
- format: int32
- type: integer
- x-go-name: ListenPort
- localaddress:
- type: string
- x-go-name: LocalAddress
- locallistenport:
- format: int32
- type: integer
- x-go-name: LocalListenPort
- macaddress:
- type: string
- x-go-name: MacAddress
- mtu:
- format: int32
- type: integer
- x-go-name: MTU
- name:
- type: string
- x-go-name: Name
- network:
- type: string
- x-go-name: Network
- networksettings:
- $ref: '#/definitions/Network'
- os:
- type: string
- x-go-name: OS
- ownerid:
- type: string
- x-go-name: OwnerID
- password:
- type: string
- x-go-name: Password
- persistentkeepalive:
- format: int32
- type: integer
- x-go-name: PersistentKeepalive
- publickey:
- type: string
- x-go-name: PublicKey
- relayaddrs:
- items:
- type: string
- type: array
- x-go-name: RelayAddrs
- server:
- type: string
- x-go-name: Server
- traffickeys:
- $ref: '#/definitions/TrafficKeys'
- udpholepunch:
- type: string
- x-go-name: UDPHolePunch
- version:
- type: string
- x-go-name: Version
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- Network:
- description: |-
- Network Struct - contains info for a given unique network
- At some point, need to replace all instances of Name with something else like Identifier
- properties:
- addressrange:
- type: string
- x-go-name: AddressRange
- addressrange6:
- type: string
- x-go-name: AddressRange6
- allowmanualsignup:
- type: string
- x-go-name: AllowManualSignUp
- defaultacl:
- type: string
- x-go-name: DefaultACL
- defaultinterface:
- type: string
- x-go-name: DefaultInterface
- defaultkeepalive:
- format: int32
- type: integer
- x-go-name: DefaultKeepalive
- defaultlistenport:
- format: int32
- type: integer
- x-go-name: DefaultListenPort
- defaultmtu:
- format: int32
- type: integer
- x-go-name: DefaultMTU
- defaultpostdown:
- type: string
- x-go-name: DefaultPostDown
- defaultudpholepunch:
- type: string
- x-go-name: DefaultUDPHolePunch
- isipv4:
- type: string
- x-go-name: IsIPv4
- isipv6:
- type: string
- x-go-name: IsIPv6
- netid:
- type: string
- x-go-name: NetID
- networklastmodified:
- format: int64
- type: integer
- x-go-name: NetworkLastModified
- nodelimit:
- format: int32
- type: integer
- x-go-name: NodeLimit
- nodeslastmodified:
- format: int64
- type: integer
- x-go-name: NodesLastModified
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- Node:
- description: Node - a model of a network node
- properties:
- action:
- type: string
- x-go-name: Action
- address:
- $ref: '#/definitions/IPNet'
- address6:
- $ref: '#/definitions/IPNet'
- connected:
- type: boolean
- x-go-name: Connected
- defaultacl:
- description: == PRO ==
- type: string
- x-go-name: DefaultACL
- dnson:
- type: boolean
- x-go-name: DNSOn
- egressgatewaynatenabled:
- type: boolean
- x-go-name: EgressGatewayNatEnabled
- egressgatewayranges:
- items:
- type: string
- type: array
- x-go-name: EgressGatewayRanges
- egressgatewayrequest:
- $ref: '#/definitions/EgressGatewayRequest'
- expdatetime:
- format: date-time
- type: string
- x-go-name: ExpirationDateTime
- failover:
- type: boolean
- x-go-name: Failover
- failovernode:
- format: uuid
- type: string
- x-go-name: FailoverNode
- hostid:
- format: uuid
- type: string
- x-go-name: HostID
- id:
- format: uuid
- type: string
- x-go-name: ID
- ingressdns:
- type: string
- x-go-name: IngressDNS
- ingressgatewayrange:
- type: string
- x-go-name: IngressGatewayRange
- ingressgatewayrange6:
- type: string
- x-go-name: IngressGatewayRange6
- internetgateway:
- $ref: '#/definitions/UDPAddr'
- isegressgateway:
- type: boolean
- x-go-name: IsEgressGateway
- isingressgateway:
- type: boolean
- x-go-name: IsIngressGateway
- isrelay:
- type: boolean
- x-go-name: IsRelay
- isrelayed:
- type: boolean
- x-go-name: IsRelayed
- lastcheckin:
- format: date-time
- type: string
- x-go-name: LastCheckIn
- lastmodified:
- format: date-time
- type: string
- x-go-name: LastModified
- lastpeerupdate:
- format: date-time
- type: string
- x-go-name: LastPeerUpdate
- localaddress:
- $ref: '#/definitions/IPNet'
- network:
- type: string
- x-go-name: Network
- networkrange:
- $ref: '#/definitions/IPNet'
- networkrange6:
- $ref: '#/definitions/IPNet'
- ownerid:
- type: string
- x-go-name: OwnerID
- pendingdelete:
- type: boolean
- x-go-name: PendingDelete
- persistentkeepalive:
- $ref: '#/definitions/Duration'
- relayedby:
- type: string
- x-go-name: RelayedBy
- relaynodes:
- items:
- type: string
- type: array
- x-go-name: RelayedNodes
- server:
- type: string
- x-go-name: Server
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- PeerConfig:
- description: |-
- Because the zero value of some Go types may be significant to WireGuard for
- PeerConfig fields, pointer types are used for some of these fields. Only
- pointer fields which are not nil will be applied when configuring a peer.
- properties:
- AllowedIPs:
- description: |-
- AllowedIPs specifies a list of allowed IP addresses in CIDR notation
- for this peer.
- items:
- $ref: '#/definitions/IPNet'
- type: array
- Endpoint:
- $ref: '#/definitions/UDPAddr'
- PersistentKeepaliveInterval:
- $ref: '#/definitions/Duration'
- PresharedKey:
- $ref: '#/definitions/Key'
- PublicKey:
- $ref: '#/definitions/Key'
- Remove:
- description: |-
- Remove specifies if the peer with this public key should be removed
- from a device's peer list.
- type: boolean
- ReplaceAllowedIPs:
- description: |-
- ReplaceAllowedIPs specifies if the allowed IPs specified in this peer
- configuration should replace any existing ones, instead of appending them
- to the allowed IPs list.
- type: boolean
- UpdateOnly:
- description: |-
- UpdateOnly specifies that an operation will only occur on this peer
- if the peer already exists as part of the interface.
- type: boolean
- title: A PeerConfig is a WireGuard device peer configuration.
- type: object
- x-go-package: golang.zx2c4.com/wireguard/wgctrl/wgtypes
- PeerMap:
- additionalProperties:
- $ref: '#/definitions/IDandAddr'
- description: PeerMap - peer map for ids and addresses in metrics
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- RegisterResponse:
- description: RegisterResponse - the response to a successful enrollment register
- properties:
- requested_host:
- $ref: '#/definitions/Host'
- server_config:
- $ref: '#/definitions/ServerConfig'
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- RelayRequest:
- description: RelayRequest - relay request struct
- properties:
- netid:
- type: string
- x-go-name: NetID
- nodeid:
- type: string
- x-go-name: NodeID
- relayaddrs:
- items:
- type: string
- type: array
- x-go-name: RelayedNodes
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- ServerConfig:
- description: ServerConfig - server conf struct
- properties:
- APIConnString:
- type: string
- APIHost:
- type: string
- APIPort:
- type: string
- AllowedOrigin:
- type: string
- AuthProvider:
- type: string
- AzureTenant:
- type: string
- BasicAuth:
- type: string
- Broker:
- type: string
- BrokerType:
- type: string
- ClientID:
- type: string
- ClientSecret:
- type: string
- CoreDNSAddr:
- type: string
- DNSKey:
- type: string
- DNSMode:
- type: string
- Database:
- type: string
- DeployedByOperator:
- type: boolean
- DisableRemoteIPCheck:
- type: string
- DisplayKeys:
- type: string
- EgressesLimit:
- format: int64
- type: integer
- EmqxRestEndpoint:
- type: string
- Environment:
- type: string
- FrontendURL:
- type: string
- HostNetwork:
- type: string
- IngressesLimit:
- format: int64
- type: integer
- IsEE:
- type: string
- x-go-name: IsPro
- LicenseValue:
- type: string
- MQPassword:
- type: string
- MQUserName:
- type: string
- MachinesLimit:
- format: int64
- type: integer
- MasterKey:
- type: string
- MessageQueueBackend:
- type: string
- MetricsExporter:
- type: string
- NetclientAutoUpdate:
- type: string
- NetclientEndpointDetection:
- type: string
- NetmakerTenantID:
- type: string
- NetworksLimit:
- format: int64
- type: integer
- NodeID:
- type: string
- OIDCIssuer:
- type: string
- Platform:
- type: string
- PublicIPService:
- type: string
- RestBackend:
- type: string
- SQLConn:
- type: string
- Server:
- type: string
- ServerBrokerEndpoint:
- type: string
- StunList:
- type: string
- StunPort:
- format: int64
- type: integer
- Telemetry:
- type: string
- TurnApiServer:
- type: string
- TurnPassword:
- type: string
- TurnPort:
- format: int64
- type: integer
- TurnServer:
- type: string
- TurnUserName:
- type: string
- UseTurn:
- type: boolean
- UsersLimit:
- format: int64
- type: integer
- Verbosity:
- format: int32
- type: integer
- Version:
- type: string
- type: object
- x-go-package: github.com/gravitl/netmaker/config
- Signal:
- description: Signal - struct for signalling peer
- properties:
- action:
- $ref: '#/definitions/SignalAction'
- from_host_pubkey:
- type: string
- x-go-name: FromHostPubKey
- reply:
- type: boolean
- x-go-name: Reply
- server:
- type: string
- x-go-name: Server
- timestamp:
- format: int64
- type: integer
- x-go-name: TimeStamp
- to_host_pubkey:
- type: string
- x-go-name: ToHostPubKey
- turn_relay_addr:
- type: string
- x-go-name: TurnRelayEndpoint
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- SignalAction:
- description: SignalAction - turn peer signal action
- type: string
- x-go-package: github.com/gravitl/netmaker/models
- SuccessResponse:
- properties:
- Code:
- format: int64
- type: integer
- Message:
- type: string
- Response: {}
- title: SuccessResponse is struct for sending error message with code.
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- TrafficKeys:
- description: TrafficKeys - struct to hold public keys
- properties:
- mine:
- items:
- format: uint8
- type: integer
- type: array
- x-go-name: Mine
- server:
- items:
- format: uint8
- type: integer
- type: array
- x-go-name: Server
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- UDPAddr:
- properties:
- IP:
- type: string
- Port:
- format: int64
- type: integer
- Zone:
- type: string
- title: UDPAddr represents the address of a UDP end point.
- type: object
- x-go-package: net
- User:
- description: User struct - struct for Users
- properties:
- isadmin:
- type: boolean
- x-go-name: IsAdmin
- issuperadmin:
- type: boolean
- x-go-name: IsSuperAdmin
- password:
- type: string
- x-go-name: Password
- remote_gw_ids:
- additionalProperties:
- type: object
- type: object
- x-go-name: RemoteGwIDs
- username:
- type: string
- x-go-name: UserName
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- UserAuthParams:
- description: UserAuthParams - user auth params struct
- properties:
- password:
- type: string
- x-go-name: Password
- username:
- type: string
- x-go-name: UserName
- type: object
- x-go-package: github.com/gravitl/netmaker/models
- host: api.demo.netmaker.io
- info:
- description: |-
- # API Usage
- 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.
- # Authentication
- API calls must be authenticated via a header of the format -H “Authorization: Bearer <YOUR_SECRET_KEY>” There are two methods to obtain YOUR_SECRET_KEY: 1. Using the masterkey. By default, this value is “secret key,” but you should change this on your instance and keep it secure. This value can be set via env var at startup or in a config file (config/environments/< env >.yaml). See the [Netmaker](https://docs.netmaker.org/index.html) documentation for more details. 2. Using a JWT received for a node. This can be retrieved by calling the /api/nodes/<network>/authenticate endpoint, as documented below.
- title: Netmaker
- version: 0.21.2
- paths:
- /api/dns:
- get:
- operationId: getAllDNS
- responses:
- "200":
- $ref: '#/responses/dnsResponse'
- schemes:
- - https
- summary: Gets all DNS entries.
- tags:
- - dns
- /api/dns/{network}:
- post:
- operationId: createDNS
- parameters:
- - description: Network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - description: DNS Entry
- in: body
- name: body
- schema:
- items:
- $ref: '#/definitions/DNSEntry'
- type: array
- x-go-name: Body
- responses:
- "200":
- $ref: '#/responses/dnsResponse'
- schemes:
- - https
- summary: Create a DNS entry.
- tags:
- - dns
- /api/dns/{network}/{domain}:
- delete:
- operationId: deleteDNS
- parameters:
- - description: Network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - description: Domain
- in: path
- name: domain
- required: true
- type: string
- x-go-name: Domain
- responses:
- "200":
- $ref: '#/responses/stringJSONResponse'
- schemes:
- - https
- summary: Delete a DNS entry.
- tags:
- - dns
- /api/dns/adm/{network}:
- get:
- operationId: getDNS
- parameters:
- - description: Network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- responses:
- "200":
- $ref: '#/responses/dnsResponse'
- schemes:
- - https
- summary: Gets all DNS entries associated with the network.
- tags:
- - dns
- /api/dns/adm/{network}/custom:
- get:
- operationId: getCustomDNS
- parameters:
- - description: Network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- responses:
- "200":
- $ref: '#/responses/dnsResponse'
- schemes:
- - https
- summary: Gets custom DNS entries associated with a network.
- tags:
- - dns
- /api/dns/adm/{network}/nodes:
- get:
- operationId: getNodeDNS
- parameters:
- - description: Network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- responses:
- "200":
- $ref: '#/responses/dnsResponse'
- schemes:
- - https
- summary: Gets node DNS entries associated with a network.
- tags:
- - dns
- /api/dns/adm/pushdns:
- post:
- operationId: pushDNS
- responses:
- "200":
- $ref: '#/responses/dnsResponse'
- schemes:
- - https
- summary: Push DNS entries to nameserver.
- tags:
- - dns
- /api/extclients:
- get:
- operationId: getAllExtClients
- parameters:
- - description: Networks
- in: body
- name: networks
- schema:
- items:
- type: string
- type: array
- x-go-name: Networks
- responses:
- "200":
- $ref: '#/responses/extClientSliceResponse'
- schemes:
- - https
- summary: A separate function to get all extclients, not just extclients for a particular network.
- tags:
- - ext_client
- /api/extclients/{network}:
- get:
- description: Gets all extclients associated with network, including pending extclients.
- operationId: getNetworkExtClients
- parameters:
- - description: Network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- responses:
- "200":
- $ref: '#/responses/extClientSliceResponse'
- schemes:
- - https
- summary: Get all extclients associated with network.
- tags:
- - ext_client
- /api/extclients/{network}/{clientid}:
- delete:
- operationId: deleteExtClient
- parameters:
- - description: Client ID
- in: path
- name: clientid
- required: true
- type: string
- x-go-name: ClientID
- - description: Network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- responses:
- "200":
- $ref: '#/responses/successResponse'
- schemes:
- - https
- summary: Delete an individual extclient.
- tags:
- - ext_client
- get:
- operationId: getExtClient
- parameters:
- - description: Client ID
- in: path
- name: clientid
- required: true
- type: string
- x-go-name: ClientID
- - description: Network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- responses:
- "200":
- $ref: '#/responses/extClientResponse'
- schemes:
- - https
- summary: Get an individual extclient.
- tags:
- - ext_client
- put:
- operationId: updateExtClient
- parameters:
- - description: Client ID
- in: path
- name: clientid
- required: true
- type: string
- x-go-name: ClientID
- - description: Network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - description: ExtClient
- in: body
- name: ext_client
- schema:
- $ref: '#/definitions/ExtClient'
- x-go-name: ExtClient
- responses:
- "200":
- $ref: '#/responses/extClientResponse'
- schemes:
- - https
- summary: Update an individual extclient.
- tags:
- - ext_client
- /api/extclients/{network}/{clientid}/{type}:
- get:
- operationId: getExtClientConf
- parameters:
- - description: Type
- in: path
- name: type
- required: true
- type: string
- x-go-name: Type
- - description: Client ID
- in: path
- name: clientid
- required: true
- type: string
- x-go-name: ClientID
- - description: Network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- responses:
- "200":
- $ref: '#/responses/extClientResponse'
- schemes:
- - https
- summary: Get an individual extclient.
- tags:
- - ext_client
- /api/extclients/{network}/{nodeid}:
- post:
- operationId: createExtClient
- parameters:
- - description: Network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - description: Node ID
- in: path
- name: nodeid
- required: true
- type: string
- x-go-name: NodeID
- - description: Custom ExtClient
- in: body
- name: custom_ext_client
- schema:
- $ref: '#/definitions/CustomExtClient'
- x-go-name: CustomExtClient
- responses:
- "200":
- $ref: '#/responses/okResponse'
- schemes:
- - https
- summary: Create an individual extclient. Must have valid key and be unique.
- tags:
- - ext_client
- /api/getip:
- get:
- operationId: getPublicIP
- responses:
- "200":
- $ref: '#/responses/byteArrayResponse'
- schemes:
- - https
- summary: Get the current public IP address.
- tags:
- - ipservice
- /api/hosts:
- get:
- operationId: getHosts
- responses:
- "200":
- $ref: '#/responses/apiHostResponse'
- schemes:
- - https
- summary: Lists all hosts.
- tags:
- - hosts
- /api/hosts/{hostid}:
- delete:
- operationId: deleteHost
- parameters:
- - description: HostID
- in: path
- name: hostid
- required: true
- type: string
- x-go-name: HostID
- responses:
- "200":
- $ref: '#/responses/apiHostResponse'
- schemes:
- - https
- summary: Deletes a Netclient host from Netmaker server.
- tags:
- - hosts
- put:
- operationId: updateHost
- parameters:
- - description: HostID
- in: path
- name: hostid
- required: true
- type: string
- x-go-name: HostID
- responses:
- "200":
- $ref: '#/responses/apiHostResponse'
- schemes:
- - https
- summary: Updates a Netclient host on Netmaker server.
- tags:
- - hosts
- /api/hosts/{hostid}/networks/{network}:
- delete:
- operationId: deleteHostFromNetwork
- parameters:
- - description: hostid to add or delete from network
- in: path
- name: hostid
- required: true
- type: string
- x-go-name: HostID
- - description: network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- responses:
- "200":
- $ref: '#/responses/okResponse'
- schemes:
- - https
- summary: Given a network, a host is removed from the network.
- tags:
- - hosts
- post:
- operationId: addHostToNetwork
- parameters:
- - description: hostid to add or delete from network
- in: path
- name: hostid
- required: true
- type: string
- x-go-name: HostID
- - description: network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- responses:
- "200":
- $ref: '#/responses/okResponse'
- schemes:
- - https
- summary: Given a network, a host is added to the network.
- tags:
- - hosts
- /api/hosts/{hostid}/signalpeer:
- post:
- operationId: signalPeer
- parameters:
- - description: HostID
- in: path
- name: hostid
- required: true
- type: string
- x-go-name: HostID
- responses:
- "200":
- $ref: '#/responses/signal'
- schemes:
- - https
- summary: send signal to peer.
- tags:
- - hosts
- /api/hosts/{hostid}/sync:
- post:
- operationId: synchost
- parameters:
- - description: HostID
- in: path
- name: hostid
- required: true
- type: string
- x-go-name: HostID
- responses:
- "200":
- $ref: '#/responses/networkBodyResponse'
- schemes:
- - https
- summary: Requests a host to pull.
- tags:
- - hosts
- /api/hosts/{hostid}keys:
- post:
- operationId: updateKeys
- parameters:
- - description: HostID
- in: path
- name: hostid
- required: true
- type: string
- x-go-name: HostID
- responses:
- "200":
- $ref: '#/responses/networkBodyResponse'
- schemes:
- - https
- summary: Update keys for a network.
- tags:
- - hosts
- /api/hosts/adm/authenticate:
- post:
- operationId: authenticateHost
- responses:
- "200":
- $ref: '#/responses/successResponse'
- schemes:
- - https
- summary: Host based authentication for making further API calls.
- tags:
- - authenticate
- /api/hosts/keys:
- post:
- operationId: updateAllKeys
- responses:
- "200":
- $ref: '#/responses/networkBodyResponse'
- schemes:
- - https
- summary: Update keys for a network.
- tags:
- - hosts
- /api/networks:
- get:
- operationId: getNetworks
- responses:
- "200":
- $ref: '#/responses/getNetworksSliceResponse'
- schemes:
- - https
- summary: Lists all networks.
- tags:
- - networks
- post:
- operationId: createNetwork
- parameters:
- - description: Network
- in: body
- name: network
- schema:
- $ref: '#/definitions/Network'
- x-go-name: Network
- responses:
- "200":
- $ref: '#/responses/networkBodyResponse'
- schemes:
- - https
- summary: Create a network.
- tags:
- - networks
- /api/networks/{networkname}:
- delete:
- operationId: deleteNetwork
- parameters:
- - description: 'name: network name'
- in: path
- name: networkname
- required: true
- type: string
- x-go-name: Networkname
- responses:
- "200":
- $ref: '#/responses/successResponse'
- schemes:
- - https
- summary: Delete a network. Will not delete if there are any nodes that belong to the network.
- tags:
- - networks
- get:
- operationId: getNetwork
- parameters:
- - description: 'name: network name'
- in: path
- name: networkname
- required: true
- type: string
- x-go-name: Networkname
- responses:
- "200":
- $ref: '#/responses/networkBodyResponse'
- schemes:
- - https
- summary: Get a network.
- tags:
- - networks
- put:
- operationId: updateNetwork
- parameters:
- - description: 'name: network name'
- in: path
- name: networkname
- required: true
- type: string
- x-go-name: Networkname
- - description: Network
- in: body
- name: network
- schema:
- $ref: '#/definitions/Network'
- x-go-name: Network
- responses:
- "200":
- $ref: '#/responses/networkBodyResponse'
- schemes:
- - https
- summary: Update pro settings for a network.
- tags:
- - networks
- /api/networks/{networkname}/acls:
- get:
- operationId: getNetworkACL
- parameters:
- - description: 'name: network name'
- in: path
- name: networkname
- required: true
- type: string
- x-go-name: Networkname
- - description: ACL Container
- in: body
- name: acl_container
- schema:
- $ref: '#/definitions/ACLContainer'
- x-go-name: ACLContainer
- responses:
- "200":
- $ref: '#/responses/aclContainerResponse'
- schemes:
- - https
- summary: Get a network ACL (Access Control List).
- tags:
- - networks
- put:
- operationId: updateNetworkACL
- parameters:
- - description: 'name: network name'
- in: path
- name: networkname
- required: true
- type: string
- x-go-name: Networkname
- - description: ACL Container
- in: body
- name: acl_container
- schema:
- $ref: '#/definitions/ACLContainer'
- x-go-name: ACLContainer
- responses:
- "200":
- $ref: '#/responses/aclContainerResponse'
- schemes:
- - https
- summary: Update a network ACL (Access Control List).
- tags:
- - networks
- /api/nodes:
- get:
- operationId: getAllNodes
- responses:
- "200":
- $ref: '#/responses/nodeSliceResponse'
- schemes:
- - https
- summary: Get all nodes across all networks.
- tags:
- - nodes
- /api/nodes/{network}:
- get:
- operationId: getNetworkNodes
- parameters:
- - description: Network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- responses:
- "200":
- $ref: '#/responses/nodeSliceResponse'
- schemes:
- - https
- summary: Gets all nodes associated with network including pending nodes.
- tags:
- - nodes
- /api/nodes/{network}/{nodeid}:
- delete:
- operationId: deleteNode
- parameters:
- - in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - in: path
- name: nodeid
- required: true
- type: string
- x-go-name: NodeID
- - description: Node
- in: body
- name: node
- schema:
- $ref: '#/definitions/LegacyNode'
- x-go-name: Node
- responses:
- "200":
- $ref: '#/responses/nodeResponse'
- schemes:
- - https
- summary: Delete an individual node.
- tags:
- - nodes
- get:
- operationId: getNode
- parameters:
- - in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - in: path
- name: nodeid
- required: true
- type: string
- x-go-name: NodeID
- responses:
- "200":
- $ref: '#/responses/nodeResponse'
- schemes:
- - https
- summary: Get an individual node.
- tags:
- - nodes
- put:
- operationId: updateNode
- parameters:
- - in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - in: path
- name: nodeid
- required: true
- type: string
- x-go-name: NodeID
- - description: Node
- in: body
- name: node
- schema:
- $ref: '#/definitions/LegacyNode'
- x-go-name: Node
- responses:
- "200":
- $ref: '#/responses/nodeResponse'
- schemes:
- - https
- summary: Update an individual node.
- tags:
- - nodes
- /api/nodes/{network}/{nodeid}/creategateway:
- post:
- operationId: createEgressGateway
- parameters:
- - in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - in: path
- name: nodeid
- required: true
- type: string
- x-go-name: NodeID
- - description: Egress Gateway Request
- in: body
- name: egress_gateway_request
- schema:
- $ref: '#/definitions/EgressGatewayRequest'
- x-go-name: EgressGatewayRequest
- responses:
- "200":
- $ref: '#/responses/nodeResponse'
- schemes:
- - https
- summary: Create an egress gateway.
- tags:
- - nodes
- /api/nodes/{network}/{nodeid}/createingress:
- post:
- operationId: createIngressGateway
- parameters:
- - in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - in: path
- name: nodeid
- required: true
- type: string
- x-go-name: NodeID
- responses:
- "200":
- $ref: '#/responses/nodeResponse'
- schemes:
- - https
- summary: Create an ingress gateway.
- tags:
- - nodes
- /api/nodes/{network}/{nodeid}/createrelay:
- post:
- operationId: createRelay
- parameters:
- - in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - in: path
- name: nodeid
- required: true
- type: string
- x-go-name: NodeID
- - description: Relay Request
- in: body
- name: relay_request
- schema:
- $ref: '#/definitions/RelayRequest'
- x-go-name: RelayRequest
- responses:
- "200":
- $ref: '#/responses/nodeResponse'
- schemes:
- - https
- summary: Create a relay.
- tags:
- - nodes
- /api/nodes/{network}/{nodeid}/deletegateway:
- delete:
- operationId: deleteEgressGateway
- parameters:
- - in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - in: path
- name: nodeid
- required: true
- type: string
- x-go-name: NodeID
- responses:
- "200":
- $ref: '#/responses/nodeResponse'
- schemes:
- - https
- summary: Delete an egress gateway.
- tags:
- - nodes
- /api/nodes/{network}/{nodeid}/deleteingress:
- delete:
- operationId: deleteIngressGateway
- parameters:
- - in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - in: path
- name: nodeid
- required: true
- type: string
- x-go-name: NodeID
- responses:
- "200":
- $ref: '#/responses/nodeResponse'
- schemes:
- - https
- summary: Delete an ingress gateway.
- tags:
- - nodes
- /api/nodes/{network}/{nodeid}/deleterelay:
- delete:
- operationId: deleteRelay
- parameters:
- - in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - in: path
- name: nodeid
- required: true
- type: string
- x-go-name: NodeID
- responses:
- "200":
- $ref: '#/responses/nodeResponse'
- schemes:
- - https
- summary: Remove a relay.
- tags:
- - nodes
- /api/nodes/{network}/{nodeid}/ingress/users:
- get:
- operationId: ingressGatewayUsers
- parameters:
- - in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - in: path
- name: nodeid
- required: true
- type: string
- x-go-name: NodeID
- responses:
- "200":
- $ref: '#/responses/nodeResponse'
- schemes:
- - https
- summary: Lists all the users attached to an ingress gateway.
- tags:
- - users
- /api/nodes/adm/{network}/authenticate:
- post:
- operationId: authenticate
- parameters:
- - description: network
- in: path
- name: network
- required: true
- type: string
- x-go-name: Network
- - description: AuthParams
- in: body
- name: auth_params
- schema:
- $ref: '#/definitions/AuthParams'
- x-go-name: AuthParams
- responses:
- "200":
- $ref: '#/responses/successResponse'
- schemes:
- - https
- summary: Authenticate to make further API calls related to a network.
- tags:
- - authenticate
- /api/oauth/login:
- get:
- operationId: HandleAuthLogin
- responses:
- "200":
- $ref: '#/responses/okResponse'
- schemes:
- - https
- summary: Handles OAuth login.
- tags:
- - nodes
- /api/server/getconfig:
- get:
- operationId: getConfig
- responses:
- "200":
- $ref: '#/responses/serverConfigResponse'
- schemes:
- - https
- summary: Get the server configuration.
- tags:
- - server
- /api/server/getserverinfo:
- get:
- operationId: getServerInfo
- responses:
- "200":
- $ref: '#/responses/serverConfigResponse'
- schemes:
- - https
- summary: Get the server configuration.
- tags:
- - server
- /api/server/status:
- get:
- operationId: getStatus
- responses:
- "200":
- $ref: '#/responses/serverConfigResponse'
- schemes:
- - https
- summary: Get the server configuration.
- tags:
- - server
- /api/users:
- get:
- operationId: getUsers
- responses:
- "200":
- $ref: '#/responses/userBodyResponse'
- schemes:
- - https
- summary: Get all users.
- tags:
- - user
- /api/users/{username}:
- delete:
- operationId: deleteUser
- parameters:
- - description: Username
- in: path
- name: username
- required: true
- type: string
- x-go-name: Username
- responses:
- "200":
- $ref: '#/responses/userBodyResponse'
- schemes:
- - https
- summary: Delete a user.
- tags:
- - user
- get:
- operationId: getUser
- parameters:
- - description: Username
- in: path
- name: username
- required: true
- type: string
- x-go-name: Username
- responses:
- "200":
- $ref: '#/responses/userBodyResponse'
- schemes:
- - https
- summary: Get an individual user.
- tags:
- - user
- post:
- operationId: createUser
- parameters:
- - description: User
- in: body
- name: user
- schema:
- $ref: '#/definitions/User'
- x-go-name: User
- - description: Username
- in: path
- name: username
- required: true
- type: string
- x-go-name: Username
- responses:
- "200":
- $ref: '#/responses/userBodyResponse'
- schemes:
- - https
- summary: Create a user.
- tags:
- - user
- put:
- operationId: updateUser
- parameters:
- - description: User
- in: body
- name: user
- schema:
- $ref: '#/definitions/User'
- x-go-name: User
- - description: Username
- in: path
- name: username
- required: true
- type: string
- x-go-name: Username
- responses:
- "200":
- $ref: '#/responses/userBodyResponse'
- schemes:
- - https
- summary: Update a user.
- tags:
- - user
- /api/users/{username}/remote_access_gw:
- delete:
- operationId: removeUserFromRemoteAccessGW
- parameters:
- - in: path
- name: username
- required: true
- type: string
- x-go-name: Username
- responses:
- "200":
- $ref: '#/responses/userBodyResponse'
- schemes:
- - https
- summary: Delete User from a remote access gateway.
- tags:
- - user
- post:
- operationId: attachUserToRemoteAccessGateway
- parameters:
- - in: path
- name: username
- required: true
- type: string
- x-go-name: Username
- responses:
- "200":
- $ref: '#/responses/userBodyResponse'
- schemes:
- - https
- summary: Attach User to a remote access gateway.
- tags:
- - user
- /api/users/adm/authenticate:
- post:
- operationId: authenticateUser
- parameters:
- - description: User Auth Params
- in: body
- name: user_auth_params
- schema:
- $ref: '#/definitions/UserAuthParams'
- x-go-name: UserAuthParams
- responses:
- "200":
- $ref: '#/responses/successResponse'
- schemes:
- - https
- summary: User authenticates using its password and retrieves a JWT for authorization.
- tags:
- - authenticate
- /api/users/adm/createsuperadmin:
- post:
- operationId: createAdmin
- parameters:
- - description: User
- in: body
- name: user
- schema:
- $ref: '#/definitions/User'
- x-go-name: User
- responses:
- "200":
- $ref: '#/responses/userBodyResponse'
- schemes:
- - https
- summary: Make a user an admin.
- tags:
- - user
- /api/users/adm/hassuperadmin:
- get:
- operationId: hasSuperAdmin
- responses:
- "200":
- $ref: '#/responses/hasAdmin'
- schemes:
- - https
- summary: Checks whether the server has an admin.
- tags:
- - user
- /api/users/adm/transfersuperadmin:
- post:
- operationId: transferSuperAdmin
- responses:
- "200":
- $ref: '#/responses/userBodyResponse'
- schemes:
- - https
- summary: Transfers superadmin role to an admin user.
- tags:
- - user
- /api/v1/enrollment-keys:
- get:
- operationId: getEnrollmentKeys
- responses:
- "200":
- $ref: '#/responses/EnrollmentKeys'
- schemes:
- - https
- summary: Lists all EnrollmentKeys for admins.
- tags:
- - enrollmentKeys
- post:
- operationId: createEnrollmentKey
- responses:
- "200":
- $ref: '#/responses/EnrollmentKey'
- schemes:
- - https
- summary: Creates an EnrollmentKey for hosts to use on Netmaker server.
- tags:
- - enrollmentKeys
- /api/v1/enrollment-keys/{keyid}:
- delete:
- operationId: deleteEnrollmentKey
- parameters:
- - in: path
- name: keyid
- required: true
- type: string
- x-go-name: KeyID
- responses:
- "200":
- $ref: '#/responses/okResponse'
- schemes:
- - https
- summary: Deletes an EnrollmentKey from Netmaker server.
- tags:
- - enrollmentKeys
- /api/v1/enrollment-keys/{token}:
- post:
- operationId: handleHostRegister
- parameters:
- - in: path
- name: token
- required: true
- type: string
- x-go-name: Token
- - in: body
- name: host
- schema:
- $ref: '#/definitions/Host'
- x-go-name: Host
- responses:
- "200":
- $ref: '#/responses/RegisterResponse'
- schemes:
- - https
- summary: Handles a Netclient registration with server and add nodes accordingly.
- tags:
- - enrollmentKeys
- /api/v1/host:
- get:
- description: Used by clients for "pull" command
- operationId: pullHost
- responses:
- "200":
- $ref: '#/responses/hostPull'
- schemes:
- - https
- tags:
- - hosts
- /api/v1/legacy/nodes:
- delete:
- operationId: wipeLegacyNodes
- responses:
- "200":
- $ref: '#/responses/successResponse'
- schemes:
- - https
- summary: Delete all legacy nodes from DB.
- tags:
- - nodes
- /api/v1/nodes/migrate:
- put:
- operationId: migrateData
- responses:
- "200":
- $ref: '#/responses/hostPull'
- schemes:
- - https
- summary: Used to migrate a legacy node.
- tags:
- - nodes
- /meshclient/files/{filename}:
- get:
- operationId: getFile
- parameters:
- - description: Filename
- in: path
- name: filename
- required: true
- type: string
- x-go-name: Filename
- responses:
- "200":
- $ref: '#/responses/fileResponse'
- schemes:
- - https
- summary: Retrieve a file from the file server.
- tags:
- - meshclient
- produces:
- - application/json
- responses:
- EnrollmentKey:
- description: ""
- schema:
- $ref: '#/definitions/EnrollmentKey'
- EnrollmentKeys:
- description: ""
- schema:
- items:
- $ref: '#/definitions/EnrollmentKey'
- type: array
- RegisterResponse:
- description: ""
- schema:
- $ref: '#/definitions/RegisterResponse'
- aclContainerResponse:
- description: ""
- schema:
- $ref: '#/definitions/ACLContainer'
- apiHostResponse:
- description: ""
- schema:
- $ref: '#/definitions/ApiHost'
- byteArrayResponse:
- description: ""
- schema:
- items:
- format: uint8
- type: integer
- type: array
- dnsResponse:
- description: Success
- schema:
- items:
- $ref: '#/definitions/DNSEntry'
- type: array
- extClientResponse:
- description: ""
- schema:
- $ref: '#/definitions/ExtClient'
- extClientSliceResponse:
- description: ""
- schema:
- items:
- $ref: '#/definitions/ExtClient'
- type: array
- fileResponse:
- description: ""
- schema:
- $ref: '#/definitions/File'
- getNetworksSliceResponse:
- description: ""
- schema:
- items:
- $ref: '#/definitions/Network'
- type: array
- hasAdmin:
- description: ""
- hostPull:
- description: ""
- schema:
- $ref: '#/definitions/HostPull'
- networkBodyResponse:
- description: ""
- schema:
- $ref: '#/definitions/Network'
- nodeResponse:
- description: ""
- schema:
- $ref: '#/definitions/LegacyNode'
- nodeSliceResponse:
- description: ""
- schema:
- items:
- $ref: '#/definitions/LegacyNode'
- type: array
- okResponse:
- description: ""
- serverConfigResponse:
- description: ""
- schema:
- $ref: '#/definitions/ServerConfig'
- signal:
- description: ""
- schema:
- $ref: '#/definitions/Signal'
- stringJSONResponse:
- description: ""
- successResponse:
- description: ""
- schema:
- $ref: '#/definitions/SuccessResponse'
- userBodyResponse:
- description: ""
- schema:
- $ref: '#/definitions/User'
- schemes:
- - https
- swagger: "2.0"
|