For the complete documentation index, see llms.txt. This page is also available as Markdown.

Networks

Lists all networks

get
Authorizations
Responses
200

OK

application/json
addressrangestringOptional
addressrange6stringOptional
allowmanualsignupstringOptional
auto_joinstringOptional
auto_removestringOptional
auto_remove_tagsstring[]Optional
auto_remove_threshold_minsintegerOptional
defaultaclstringOptional
defaultinterfacestring · min: 1 · max: 35Optional
defaultkeepaliveinteger · max: 1000Optional
defaultlistenportinteger · min: 1024 · max: 65535Optional
defaultmtuintegerOptional
defaultpostdownstringOptional
defaultudpholepunchstringOptional
dns_nameserversstring[]Optional
isipv4stringOptional
isipv6stringOptional
jit_enabledstringOptional
netidstring · min: 1 · max: 32Required
networklastmodifiedinteger · int64Optional
nodelimitintegerOptional
nodeslastmodifiedinteger · int64Optional
virtual_nat_pool_ipv4stringOptional

VirtualNATPoolIPv4 is the IPv4 CIDR pool from which virtual NAT ranges are allocated for egress gateways

virtual_nat_site_prefixlen_ipv4integerOptional

VirtualNATSitePrefixLenIPv4 is the prefix length (e.g., 24) for individual site allocations from the IPv4 virtual NAT pool

get/api/networks
GET /api/networks HTTP/1.1
Host: api.demo.netmaker.io
Accept: */*
{
  "addressrange": "text",
  "addressrange6": "text",
  "allowmanualsignup": "text",
  "auto_join": "text",
  "auto_remove": "text",
  "auto_remove_tags": [
    "text"
  ],
  "auto_remove_threshold_mins": 1,
  "defaultacl": "text",
  "defaultinterface": "text",
  "defaultkeepalive": 1,
  "defaultlistenport": 1,
  "defaultmtu": 1,
  "defaultpostdown": "text",
  "defaultudpholepunch": "text",
  "dns_nameservers": [
    "text"
  ],
  "isipv4": "text",
  "isipv6": "text",
  "jit_enabled": "text",
  "netid": "text",
  "networklastmodified": 1,
  "nodelimit": 1,
  "nodeslastmodified": 1,
  "virtual_nat_pool_ipv4": "text",
  "virtual_nat_site_prefixlen_ipv4": 1
}

Create a network

post
Authorizations
Body
addressrangestringOptional
addressrange6stringOptional
allowmanualsignupstringOptional
auto_joinstringOptional
auto_removestringOptional
auto_remove_tagsstring[]Optional
auto_remove_threshold_minsintegerOptional
defaultaclstringOptional
defaultinterfacestring · min: 1 · max: 35Optional
defaultkeepaliveinteger · max: 1000Optional
defaultlistenportinteger · min: 1024 · max: 65535Optional
defaultmtuintegerOptional
defaultpostdownstringOptional
defaultudpholepunchstringOptional
dns_nameserversstring[]Optional
isipv4stringOptional
isipv6stringOptional
jit_enabledstringOptional
netidstring · min: 1 · max: 32Required
networklastmodifiedinteger · int64Optional
nodelimitintegerOptional
nodeslastmodifiedinteger · int64Optional
virtual_nat_pool_ipv4stringOptional

VirtualNATPoolIPv4 is the IPv4 CIDR pool from which virtual NAT ranges are allocated for egress gateways

virtual_nat_site_prefixlen_ipv4integerOptional

VirtualNATSitePrefixLenIPv4 is the prefix length (e.g., 24) for individual site allocations from the IPv4 virtual NAT pool

Responses
200

OK

application/json
addressrangestringOptional
addressrange6stringOptional
allowmanualsignupstringOptional
auto_joinstringOptional
auto_removestringOptional
auto_remove_tagsstring[]Optional
auto_remove_threshold_minsintegerOptional
defaultaclstringOptional
defaultinterfacestring · min: 1 · max: 35Optional
defaultkeepaliveinteger · max: 1000Optional
defaultlistenportinteger · min: 1024 · max: 65535Optional
defaultmtuintegerOptional
defaultpostdownstringOptional
defaultudpholepunchstringOptional
dns_nameserversstring[]Optional
isipv4stringOptional
isipv6stringOptional
jit_enabledstringOptional
netidstring · min: 1 · max: 32Required
networklastmodifiedinteger · int64Optional
nodelimitintegerOptional
nodeslastmodifiedinteger · int64Optional
virtual_nat_pool_ipv4stringOptional

VirtualNATPoolIPv4 is the IPv4 CIDR pool from which virtual NAT ranges are allocated for egress gateways

virtual_nat_site_prefixlen_ipv4integerOptional

VirtualNATSitePrefixLenIPv4 is the prefix length (e.g., 24) for individual site allocations from the IPv4 virtual NAT pool

post/api/networks
POST /api/networks HTTP/1.1
Host: api.demo.netmaker.io
Content-Type: application/json
Accept: */*
Content-Length: 552

{
  "addressrange": "text",
  "addressrange6": "text",
  "allowmanualsignup": "text",
  "auto_join": "text",
  "auto_remove": "text",
  "auto_remove_tags": [
    "text"
  ],
  "auto_remove_threshold_mins": 1,
  "defaultacl": "text",
  "defaultinterface": "text",
  "defaultkeepalive": 1,
  "defaultlistenport": 1,
  "defaultmtu": 1,
  "defaultpostdown": "text",
  "defaultudpholepunch": "text",
  "dns_nameservers": [
    "text"
  ],
  "isipv4": "text",
  "isipv6": "text",
  "jit_enabled": "text",
  "netid": "text",
  "networklastmodified": 1,
  "nodelimit": 1,
  "nodeslastmodified": 1,
  "virtual_nat_pool_ipv4": "text",
  "virtual_nat_site_prefixlen_ipv4": 1
}
{
  "addressrange": "text",
  "addressrange6": "text",
  "allowmanualsignup": "text",
  "auto_join": "text",
  "auto_remove": "text",
  "auto_remove_tags": [
    "text"
  ],
  "auto_remove_threshold_mins": 1,
  "defaultacl": "text",
  "defaultinterface": "text",
  "defaultkeepalive": 1,
  "defaultlistenport": 1,
  "defaultmtu": 1,
  "defaultpostdown": "text",
  "defaultudpholepunch": "text",
  "dns_nameservers": [
    "text"
  ],
  "isipv4": "text",
  "isipv6": "text",
  "jit_enabled": "text",
  "netid": "text",
  "networklastmodified": 1,
  "nodelimit": 1,
  "nodeslastmodified": 1,
  "virtual_nat_pool_ipv4": "text",
  "virtual_nat_site_prefixlen_ipv4": 1
}

Get a network

get
Authorizations
Path parameters
networknamestringRequired

Network name

Responses
200

OK

application/json
addressrangestringOptional
addressrange6stringOptional
allowmanualsignupstringOptional
auto_joinstringOptional
auto_removestringOptional
auto_remove_tagsstring[]Optional
auto_remove_threshold_minsintegerOptional
defaultaclstringOptional
defaultinterfacestring · min: 1 · max: 35Optional
defaultkeepaliveinteger · max: 1000Optional
defaultlistenportinteger · min: 1024 · max: 65535Optional
defaultmtuintegerOptional
defaultpostdownstringOptional
defaultudpholepunchstringOptional
dns_nameserversstring[]Optional
isipv4stringOptional
isipv6stringOptional
jit_enabledstringOptional
netidstring · min: 1 · max: 32Required
networklastmodifiedinteger · int64Optional
nodelimitintegerOptional
nodeslastmodifiedinteger · int64Optional
virtual_nat_pool_ipv4stringOptional

VirtualNATPoolIPv4 is the IPv4 CIDR pool from which virtual NAT ranges are allocated for egress gateways

virtual_nat_site_prefixlen_ipv4integerOptional

VirtualNATSitePrefixLenIPv4 is the prefix length (e.g., 24) for individual site allocations from the IPv4 virtual NAT pool

get/api/networks/{networkname}
GET /api/networks/{networkname} HTTP/1.1
Host: api.demo.netmaker.io
Accept: */*
{
  "addressrange": "text",
  "addressrange6": "text",
  "allowmanualsignup": "text",
  "auto_join": "text",
  "auto_remove": "text",
  "auto_remove_tags": [
    "text"
  ],
  "auto_remove_threshold_mins": 1,
  "defaultacl": "text",
  "defaultinterface": "text",
  "defaultkeepalive": 1,
  "defaultlistenport": 1,
  "defaultmtu": 1,
  "defaultpostdown": "text",
  "defaultudpholepunch": "text",
  "dns_nameservers": [
    "text"
  ],
  "isipv4": "text",
  "isipv6": "text",
  "jit_enabled": "text",
  "netid": "text",
  "networklastmodified": 1,
  "nodelimit": 1,
  "nodeslastmodified": 1,
  "virtual_nat_pool_ipv4": "text",
  "virtual_nat_site_prefixlen_ipv4": 1
}

Update network settings

put
Authorizations
Path parameters
networknamestringRequired

Network name

Body
addressrangestringOptional
addressrange6stringOptional
allowmanualsignupstringOptional
auto_joinstringOptional
auto_removestringOptional
auto_remove_tagsstring[]Optional
auto_remove_threshold_minsintegerOptional
defaultaclstringOptional
defaultinterfacestring · min: 1 · max: 35Optional
defaultkeepaliveinteger · max: 1000Optional
defaultlistenportinteger · min: 1024 · max: 65535Optional
defaultmtuintegerOptional
defaultpostdownstringOptional
defaultudpholepunchstringOptional
dns_nameserversstring[]Optional
isipv4stringOptional
isipv6stringOptional
jit_enabledstringOptional
netidstring · min: 1 · max: 32Required
networklastmodifiedinteger · int64Optional
nodelimitintegerOptional
nodeslastmodifiedinteger · int64Optional
virtual_nat_pool_ipv4stringOptional

VirtualNATPoolIPv4 is the IPv4 CIDR pool from which virtual NAT ranges are allocated for egress gateways

virtual_nat_site_prefixlen_ipv4integerOptional

VirtualNATSitePrefixLenIPv4 is the prefix length (e.g., 24) for individual site allocations from the IPv4 virtual NAT pool

Responses
200

OK

application/json
addressrangestringOptional
addressrange6stringOptional
allowmanualsignupstringOptional
auto_joinstringOptional
auto_removestringOptional
auto_remove_tagsstring[]Optional
auto_remove_threshold_minsintegerOptional
defaultaclstringOptional
defaultinterfacestring · min: 1 · max: 35Optional
defaultkeepaliveinteger · max: 1000Optional
defaultlistenportinteger · min: 1024 · max: 65535Optional
defaultmtuintegerOptional
defaultpostdownstringOptional
defaultudpholepunchstringOptional
dns_nameserversstring[]Optional
isipv4stringOptional
isipv6stringOptional
jit_enabledstringOptional
netidstring · min: 1 · max: 32Required
networklastmodifiedinteger · int64Optional
nodelimitintegerOptional
nodeslastmodifiedinteger · int64Optional
virtual_nat_pool_ipv4stringOptional

VirtualNATPoolIPv4 is the IPv4 CIDR pool from which virtual NAT ranges are allocated for egress gateways

virtual_nat_site_prefixlen_ipv4integerOptional

VirtualNATSitePrefixLenIPv4 is the prefix length (e.g., 24) for individual site allocations from the IPv4 virtual NAT pool

put/api/networks/{networkname}
PUT /api/networks/{networkname} HTTP/1.1
Host: api.demo.netmaker.io
Content-Type: application/json
Accept: */*
Content-Length: 552

{
  "addressrange": "text",
  "addressrange6": "text",
  "allowmanualsignup": "text",
  "auto_join": "text",
  "auto_remove": "text",
  "auto_remove_tags": [
    "text"
  ],
  "auto_remove_threshold_mins": 1,
  "defaultacl": "text",
  "defaultinterface": "text",
  "defaultkeepalive": 1,
  "defaultlistenport": 1,
  "defaultmtu": 1,
  "defaultpostdown": "text",
  "defaultudpholepunch": "text",
  "dns_nameservers": [
    "text"
  ],
  "isipv4": "text",
  "isipv6": "text",
  "jit_enabled": "text",
  "netid": "text",
  "networklastmodified": 1,
  "nodelimit": 1,
  "nodeslastmodified": 1,
  "virtual_nat_pool_ipv4": "text",
  "virtual_nat_site_prefixlen_ipv4": 1
}
{
  "addressrange": "text",
  "addressrange6": "text",
  "allowmanualsignup": "text",
  "auto_join": "text",
  "auto_remove": "text",
  "auto_remove_tags": [
    "text"
  ],
  "auto_remove_threshold_mins": 1,
  "defaultacl": "text",
  "defaultinterface": "text",
  "defaultkeepalive": 1,
  "defaultlistenport": 1,
  "defaultmtu": 1,
  "defaultpostdown": "text",
  "defaultudpholepunch": "text",
  "dns_nameservers": [
    "text"
  ],
  "isipv4": "text",
  "isipv6": "text",
  "jit_enabled": "text",
  "netid": "text",
  "networklastmodified": 1,
  "nodelimit": 1,
  "nodeslastmodified": 1,
  "virtual_nat_pool_ipv4": "text",
  "virtual_nat_site_prefixlen_ipv4": 1
}

Delete a network

delete
Authorizations
Path parameters
networknamestringRequired

Network name

Query parameters
forcebooleanOptional

Force Delete

Responses
200

OK

application/json
codeintegerOptional
messagestringOptional
responseanyOptional
delete/api/networks/{networkname}
DELETE /api/networks/{networkname} HTTP/1.1
Host: api.demo.netmaker.io
Accept: */*
{
  "code": 1,
  "message": "text",
  "response": null
}

Get a network ACL (Access Control List)

get
Authorizations
Path parameters
networknamestringRequired

Network name

Responses
200

OK

application/json
get/api/networks/{networkname}/acls
GET /api/networks/{networkname}/acls HTTP/1.1
Host: api.demo.netmaker.io
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": {
    "ANY_ADDITIONAL_PROPERTY": 1
  }
}

Update a network ACL (Access Control List)

put
Authorizations
Path parameters
networknamestringRequired

Network name

Body
Responses
200

OK

application/json
put/api/networks/{networkname}/acls
PUT /api/networks/{networkname}/acls HTTP/1.1
Host: api.demo.netmaker.io
Content-Type: application/json
Accept: */*
Content-Length: 57

{
  "ANY_ADDITIONAL_PROPERTY": {
    "ANY_ADDITIONAL_PROPERTY": 1
  }
}
{
  "ANY_ADDITIONAL_PROPERTY": {
    "ANY_ADDITIONAL_PROPERTY": 1
  }
}

Update a network ACL (Access Control List)

put
Authorizations
Path parameters
networknamestringRequired

Network name

Body
Responses
200

OK

application/json
put/api/networks/{networkname}/acls/v2
PUT /api/networks/{networkname}/acls/v2 HTTP/1.1
Host: api.demo.netmaker.io
Content-Type: application/json
Accept: */*
Content-Length: 57

{
  "ANY_ADDITIONAL_PROPERTY": {
    "ANY_ADDITIONAL_PROPERTY": 1
  }
}
{
  "ANY_ADDITIONAL_PROPERTY": {
    "ANY_ADDITIONAL_PROPERTY": 1
  }
}

Get a network Egress routes

get
Authorizations
Path parameters
networknamestringRequired

Network name

Responses
200

OK

application/json
Other propertiesstring[]Optional
get/api/networks/{networkname}/egress_routes
GET /api/networks/{networkname}/egress_routes HTTP/1.1
Host: api.demo.netmaker.io
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": [
    "text"
  ]
}

Check a Old ACL Status (Access Control List)

get
Authorizations
Path parameters
networknamestringRequired

Network name

Responses
200

OK

application/json
get/api/networks/{networkname}/old_acl_status
GET /api/networks/{networkname}/old_acl_status HTTP/1.1
Host: api.demo.netmaker.io
Accept: */*
{
  "ANY_ADDITIONAL_PROPERTY": {
    "ANY_ADDITIONAL_PROPERTY": 1
  }
}

Get network topology graph

get
Authorizations
Path parameters
networkstringRequired

Network ID

Responses
200

OK

application/json
additional_rag_ipsstring[]Optional
addressstringOptional
address6stringOptional
allowedipsstring[]Optional
auto_assign_gwbooleanOptional
connectedbooleanOptional
countrystringOptional
defaultaclstringOptional

== PRO ==

dnsonbooleanOptional
egressgatewaynatenabledbooleanOptional
egressgatewayrangesstring[]Optional
expdatetimeinteger · int64Optional
failed_over_bystringOptional
hostidstring · min: 5Required
idstring · min: 5Required
ingressdnsstringOptional
ingressmtuintegerOptional
ingresspersistentkeepaliveintegerOptional
internetgw_node_idstringOptional
is_auto_relaybooleanOptional
is_fail_overbooleanOptional
is_gwbooleanOptional
is_staticbooleanOptional
is_user_nodebooleanOptional
isegressgatewaybooleanOptional
isingressgatewaybooleanOptional
isinternetgatewaybooleanOptional
isrelaybooleanOptional
isrelayedbooleanOptional
last_evaluated_atstringOptional
lastcheckininteger · int64Optional
lastmodifiedinteger · int64Optional
lastpeerupdateinteger · int64Optional
localaddressstringOptional
locationstringOptional
metadatastringOptional
networkstringOptional
networkrangestringOptional
networkrange6stringOptional
pendingdeletebooleanOptional
posture_check_violation_severity_levelinteger · enumOptionalPossible values:
relayedbystringOptional

AutoRelayedBy uuid.UUID json:"auto_relayed_by"

relaynodesstring[]Optional
serverstringOptional
statusstring · enumOptionalPossible values:
get/api/v1/networks/{network}/graph
GET /api/v1/networks/{network}/graph HTTP/1.1
Host: api.demo.netmaker.io
Accept: */*
[
  {
    "additional_rag_ips": [
      "text"
    ],
    "address": "text",
    "address6": "text",
    "allowedips": [
      "text"
    ],
    "auto_assign_gw": true,
    "auto_relayed_peers": {
      "ANY_ADDITIONAL_PROPERTY": "text"
    },
    "connected": true,
    "country": "text",
    "defaultacl": "text",
    "dnson": true,
    "egressgatewaynatenabled": true,
    "egressgatewayranges": [
      "text"
    ],
    "egressgatewayranges_with_metric": [
      {
        "nat": true,
        "nat_mode": "virtual_nat",
        "network": "text",
        "route_metric": 1,
        "virtual_network": "text"
      }
    ],
    "expdatetime": 1,
    "fail_over_peers": {
      "ANY_ADDITIONAL_PROPERTY": {}
    },
    "failed_over_by": "text",
    "hostid": "text",
    "id": "text",
    "inet_node_req": {
      "inet_node_client_ids": [
        "text"
      ]
    },
    "ingressdns": "text",
    "ingressmtu": 1,
    "ingresspersistentkeepalive": 1,
    "internetgw_node_id": "text",
    "is_auto_relay": true,
    "is_fail_over": true,
    "is_gw": true,
    "is_static": true,
    "is_user_node": true,
    "isegressgateway": true,
    "isingressgateway": true,
    "isinternetgateway": true,
    "isrelay": true,
    "isrelayed": true,
    "last_evaluated_at": "text",
    "lastcheckin": 1,
    "lastmodified": 1,
    "lastpeerupdate": 1,
    "localaddress": "text",
    "location": "text",
    "metadata": "text",
    "network": "text",
    "networkrange": "text",
    "networkrange6": "text",
    "pendingdelete": true,
    "posture_check_violation_severity_level": 0,
    "posture_check_violations": [
      {
        "attribute": "text",
        "check_id": "text",
        "message": "text",
        "name": "text",
        "severity": 0
      }
    ],
    "relayedby": "text",
    "relaynodes": [
      "text"
    ],
    "server": "text",
    "static_node": {
      "address": "text",
      "address6": "text",
      "allowed_ips": [
        "text"
      ],
      "client_version": "text",
      "clientid": "text",
      "country": "text",
      "deniednodeacls": {
        "ANY_ADDITIONAL_PROPERTY": {}
      },
      "device_id": "text",
      "device_name": "text",
      "dns": "text",
      "enabled": true,
      "extraallowedips": [
        "text"
      ],
      "ingressgatewayendpoint": "text",
      "ingressgatewayid": "text",
      "jit_expires_at": "text",
      "kernel_version": "text",
      "last_evaluated_at": "text",
      "lastmodified": 1,
      "location": "text",
      "network": "text",
      "os": "text",
      "os_family": "text",
      "os_version": "text",
      "ownerid": "text",
      "postdown": "text",
      "postup": "text",
      "posture_check_violation_severity_level": 0,
      "posture_check_violations": [
        {
          "attribute": "text",
          "check_id": "text",
          "message": "text",
          "name": "text",
          "severity": 0
        }
      ],
      "privatekey": "text",
      "public_endpoint": "text",
      "publickey": "text",
      "remote_access_client_id": "text",
      "tags": {
        "ANY_ADDITIONAL_PROPERTY": {}
      }
    },
    "status": "online",
    "tags": {
      "ANY_ADDITIONAL_PROPERTY": {}
    }
  }
]

Lists all networks with stats

get
Authorizations
Responses
200

OK

application/json
addressrangestringOptional
addressrange6stringOptional
allowmanualsignupstringOptional
auto_joinstringOptional
auto_removestringOptional
auto_remove_tagsstring[]Optional
auto_remove_threshold_minsintegerOptional
defaultaclstringOptional
defaultinterfacestring · min: 1 · max: 35Optional
defaultkeepaliveinteger · max: 1000Optional
defaultlistenportinteger · min: 1024 · max: 65535Optional
defaultmtuintegerOptional
defaultpostdownstringOptional
defaultudpholepunchstringOptional
dns_nameserversstring[]Optional
hostsintegerOptional
isipv4stringOptional
isipv6stringOptional
jit_enabledstringOptional
netidstring · min: 1 · max: 32Required
networklastmodifiedinteger · int64Optional
nodelimitintegerOptional
nodeslastmodifiedinteger · int64Optional
virtual_nat_pool_ipv4stringOptional

VirtualNATPoolIPv4 is the IPv4 CIDR pool from which virtual NAT ranges are allocated for egress gateways

virtual_nat_site_prefixlen_ipv4integerOptional

VirtualNATSitePrefixLenIPv4 is the prefix length (e.g., 24) for individual site allocations from the IPv4 virtual NAT pool

get/api/v1/networks/stats
GET /api/v1/networks/stats HTTP/1.1
Host: api.demo.netmaker.io
Accept: */*
[
  {
    "addressrange": "text",
    "addressrange6": "text",
    "allowmanualsignup": "text",
    "auto_join": "text",
    "auto_remove": "text",
    "auto_remove_tags": [
      "text"
    ],
    "auto_remove_threshold_mins": 1,
    "defaultacl": "text",
    "defaultinterface": "text",
    "defaultkeepalive": 1,
    "defaultlistenport": 1,
    "defaultmtu": 1,
    "defaultpostdown": "text",
    "defaultudpholepunch": "text",
    "dns_nameservers": [
      "text"
    ],
    "hosts": 1,
    "isipv4": "text",
    "isipv6": "text",
    "jit_enabled": "text",
    "netid": "text",
    "networklastmodified": 1,
    "nodelimit": 1,
    "nodeslastmodified": 1,
    "virtual_nat_pool_ipv4": "text",
    "virtual_nat_site_prefixlen_ipv4": 1
  }
]

Last updated

Was this helpful?