API Reference¶
Complete API reference for the NetBird Python client. The library provides typed Python access to all NetBird REST API endpoints.
Overview¶
The API follows a consistent pattern:
Client:
APIClientmanages authentication and HTTP requestsResources: Each API endpoint has a dedicated resource class (e.g.,
PeersResource)Models: Pydantic models provide type-safe input validation (e.g.,
UserCreate)Exceptions: Specific exception types for different error conditions
Usage Pattern¶
from netbird import APIClient
from netbird.models import GroupCreate
# 1. Initialize client
client = APIClient(host="api.netbird.io", api_token="token")
# 2. Use resource methods (returns dictionaries)
peers = client.peers.list()
# 3. Use models for input validation
group_data = GroupCreate(name="Team", peers=["peer-1"])
group = client.groups.create(group_data)
# 4. Handle errors
from netbird.exceptions import NetBirdNotFoundError
try:
client.peers.get("bad-id")
except NetBirdNotFoundError:
pass
Resource Access¶
Core resources are accessed as properties on the client:
client.accounts # AccountsResource
client.users # UsersResource
client.tokens # TokensResource
client.peers # PeersResource
client.setup_keys # SetupKeysResource
client.groups # GroupsResource
client.networks # NetworksResource
client.policies # PoliciesResource
client.routes # RoutesResource
client.dns # DNSResource
client.dns_zones # DNSZonesResource
client.events # EventsResource
client.posture_checks # PostureChecksResource
client.geo_locations # GeoLocationsResource
client.identity_providers # IdentityProvidersResource
client.instance # InstanceResource
Cloud resources are accessed via the cloud namespace:
client.cloud.services # ServicesResource
client.cloud.ingress # IngressResource
client.cloud.msp # MSPResource
client.cloud.invoices # InvoicesResource
client.cloud.usage # UsageResource
client.cloud.event_streaming # EventStreamingResource
client.cloud.idp_scim # IDPSCIMResource
# EDR integrations
client.cloud.edr.peers # EDRPeersResource
client.cloud.edr.falcon # EDRFalconResource
client.cloud.edr.huntress # EDRHuntressResource
client.cloud.edr.intune # EDRIntuneResource
client.cloud.edr.sentinelone # EDRSentinelOneResource