{"openapi":"3.1.0","info":{"title":"NetBird (BYOK) API","version":"0.1.0","description":"NetBird (BYOK) lets an AI assistant read your own NetBird data through the NetBird API with a key you supply (NetBird personal access token (nbp_...)). Read-only: 12 tools (get_current_user, list_peers, get_peer, list_users, list_groups, list_policies, list_routes, list_networks, list_network_resources, list_dns_nameserver_groups, list_posture_checks, list_audit_events). The BYOK key travels with...\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://byok-netbird.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"agent@connectorbay.com","url":"https://connectorbay.com/byok-netbird/docs"},"termsOfService":"https://connectorbay.com/byok-netbird/terms"},"servers":[{"url":"https://byok-netbird.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/byok-netbird/docs"},"security":[{"upstreamKey":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."},"upstreamKey":{"type":"apiKey","in":"header","name":"X-Upstream-Key","description":"Your own key for the service this connector wraps (bring your own key). Used for that one call only; never stored, logged or cached."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/get_current_user":{"post":{"operationId":"get_current_user","summary":"Show the NetBird user the token belongs to: name, email, role, status and last login. Use for \"Which NetBird user is my ","description":"Show the NetBird user the token belongs to: name, email, role, status and last login. Use for \"Which NetBird user is my token connected to\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"get_current_userArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_peers":{"post":{"operationId":"list_peers","summary":"List the machines (peers) in the NetBird network with name, IP, connection state, last seen time, OS, client version and","description":"List the machines (peers) in the NetBird network with name, IP, connection state, last seen time, OS, client version and groups. Optional filters by name, IP or MAC. Use for \"Which of my NetBird peers are currently connected\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only peers whose name matches this text.","title":"Name"},"ip":{"anyOf":[{"maxLength":45,"type":"string"},{"type":"null"}],"default":null,"description":"Only the peer with this NetBird IP address.","title":"Ip"},"mac":{"anyOf":[{"maxLength":40,"type":"string"},{"type":"null"}],"default":null,"description":"Only peers with this network interface MAC address.","title":"Mac"}},"title":"list_peersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/get_peer":{"post":{"operationId":"get_peer","summary":"Get one NetBird peer by id: connection state, IP, OS, version, groups, login expiry and approval flags. Use for \"Show Ne","description":"Get one NetBird peer by id: connection state, IP, OS, version, groups, login expiry and approval flags. Use for \"Show NetBird peer cmaosc5l2vqs73bkf4q0 in detail\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"peer_id":{"description":"Peer id from list_peers.","maxLength":60,"title":"Peer Id","type":"string"}},"required":["peer_id"],"title":"get_peerArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_users":{"post":{"operationId":"list_users","summary":"List NetBird users with name, email, role, status (active, invited or blocked), last login and group membership. Service","description":"List NetBird users with name, email, role, status (active, invited or blocked), last login and group membership. Service users can be included or selected. Use for \"Who are the NetBird users and which are blocked\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"service_user":{"anyOf":[{"type":"boolean"},{"type":"null"}],"default":null,"description":"True to list only service users, false to list only regular users; leave out for both.","title":"Service User"}},"title":"list_usersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_groups":{"post":{"operationId":"list_groups","summary":"List NetBird groups with the number of peers and resources in each and the peers they contain. Use for \"What NetBird gro","description":"List NetBird groups with the number of peers and resources in each and the peers they contain. Use for \"What NetBird groups exist and how many peers are in each\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"maxLength":100,"type":"string"},{"type":"null"}],"default":null,"description":"Only the group with exactly this name.","title":"Name"}},"title":"list_groupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_policies":{"post":{"operationId":"list_policies","summary":"List NetBird access policies with enabled flag and their rules: action, protocol, ports, direction, source and destinati","description":"List NetBird access policies with enabled flag and their rules: action, protocol, ports, direction, source and destination groups. Use for \"Which NetBird access policies are enabled\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_policiesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_routes":{"post":{"operationId":"list_routes","summary":"List NetBird network routes with network range or domains, routing peer or peer groups, metric, masquerade and enabled f","description":"List NetBird network routes with network range or domains, routing peer or peer groups, metric, masquerade and enabled flag. Use for \"What routes are configured in my NetBird network\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_routesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_networks":{"post":{"operationId":"list_networks","summary":"List NetBird networks (resource networks) with routers, resources and policies attached to each. Use for \"What NetBird n","description":"List NetBird networks (resource networks) with routers, resources and policies attached to each. Use for \"What NetBird networks and resources are defined\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_networksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_network_resources":{"post":{"operationId":"list_network_resources","summary":"List the resources (hosts, subnets or domains) inside one NetBird network with address, type, groups and enabled flag. U","description":"List the resources (hosts, subnets or domains) inside one NetBird network with address, type, groups and enabled flag. Use for \"Which resources are in NetBird network cmaosc5l2vqs73bkf4q1\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"network_id":{"description":"Network id from list_networks.","maxLength":60,"title":"Network Id","type":"string"}},"required":["network_id"],"title":"list_network_resourcesArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_dns_nameserver_groups":{"post":{"operationId":"list_dns_nameserver_groups","summary":"List NetBird DNS nameserver groups with nameserver IPs, domains, target peer groups, primary flag and enabled flag. Use ","description":"List NetBird DNS nameserver groups with nameserver IPs, domains, target peer groups, primary flag and enabled flag. Use for \"Which DNS nameservers does my NetBird network push to peers\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_dns_nameserver_groupsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_posture_checks":{"post":{"operationId":"list_posture_checks","summary":"List NetBird posture checks (client version, OS version, location, network range, process and certificate checks). Use f","description":"List NetBird posture checks (client version, OS version, location, network range, process and certificate checks). Use for \"What device posture checks are set up in NetBird\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_posture_checksArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/list_audit_events":{"post":{"operationId":"list_audit_events","summary":"List NetBird audit events: what was done, when, by whom and to which target. Use for \"What changes were made in NetBird ","description":"List NetBird audit events: what was done, when, by whom and to which target. Use for \"What changes were made in NetBird recently and by whom\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"list_audit_eventsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}