NetBird · Capability

NetBird REST API — Events

NetBird REST API — Events. 3 operations. Lead operation: List all Audit Events. Self-contained Naftiko capability covering one Netbird business surface.

Run with Naftiko NetbirdEvents

What You Can Do

GET
Get — List all Audit Events
/v1/api/events/audit
GET
Get — List all Traffic Events
/v1/api/events/network-traffic
GET
Get — List all Reverse Proxy Access Logs
/v1/api/events/proxy

MCP Tools

list-all-audit-events

List all Audit Events

read-only idempotent
list-all-traffic-events

List all Traffic Events

read-only idempotent
list-all-reverse-proxy-access

List all Reverse Proxy Access Logs

read-only idempotent

Capability Spec

netbird-events.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: NetBird REST API — Events
  description: 'NetBird REST API — Events. 3 operations. Lead operation: List all Audit Events. Self-contained Naftiko capability
    covering one Netbird business surface.'
  tags:
  - Netbird
  - Events
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    NETBIRD_API_KEY: NETBIRD_API_KEY
capability:
  consumes:
  - type: http
    namespace: netbird-events
    baseUri: https://api.netbird.io
    description: NetBird REST API — Events business capability. Self-contained, no shared references.
    resources:
    - name: api-events-audit
      path: /api/events/audit
      operations:
      - name: get
        method: GET
        description: List all Audit Events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-events-network-traffic
      path: /api/events/network-traffic
      operations:
      - name: get
        method: GET
        description: List all Traffic Events
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: query
          type: integer
          description: Page number
        - name: page_size
          in: query
          type: integer
          description: Number of items per page
        - name: user_id
          in: query
          type: string
          description: Filter by user ID
        - name: reporter_id
          in: query
          type: string
          description: Filter by reporter ID
        - name: protocol
          in: query
          type: integer
          description: Filter by protocol
        - name: type
          in: query
          type: string
          description: Filter by event type
        - name: connection_type
          in: query
          type: string
          description: Filter by connection type
        - name: direction
          in: query
          type: string
          description: Filter by direction
        - name: search
          in: query
          type: string
          description: Case-insensitive partial match on user email, source/destination names, and source/destination addresses
        - name: start_date
          in: query
          type: string
          description: Start date for filtering events (ISO 8601 format, e.g., 2024-01-01T00:00:00Z).
        - name: end_date
          in: query
          type: string
          description: End date for filtering events (ISO 8601 format, e.g., 2024-01-31T23:59:59Z).
    - name: api-events-proxy
      path: /api/events/proxy
      operations:
      - name: get
        method: GET
        description: List all Reverse Proxy Access Logs
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: query
          type: integer
          description: Page number for pagination (1-indexed)
        - name: page_size
          in: query
          type: integer
          description: Number of items per page (max 100)
        - name: sort_by
          in: query
          type: string
          description: Field to sort by (url sorts by host then path)
        - name: sort_order
          in: query
          type: string
          description: Sort order (ascending or descending)
        - name: search
          in: query
          type: string
          description: General search across request ID, host, path, source IP, user email, and user name
        - name: source_ip
          in: query
          type: string
          description: Filter by source IP address
        - name: host
          in: query
          type: string
          description: Filter by host header
        - name: path
          in: query
          type: string
          description: Filter by request path (supports partial matching)
        - name: user_id
          in: query
          type: string
          description: Filter by authenticated user ID
        - name: user_email
          in: query
          type: string
          description: Filter by user email (partial matching)
        - name: user_name
          in: query
          type: string
          description: Filter by user name (partial matching)
        - name: method
          in: query
          type: string
          description: Filter by HTTP method
        - name: status
          in: query
          type: string
          description: Filter by status (success = 2xx/3xx, failed = 1xx/4xx/5xx)
        - name: status_code
          in: query
          type: integer
          description: Filter by HTTP status code
        - name: start_date
          in: query
          type: string
          description: Filter by timestamp >= start_date (RFC3339 format)
        - name: end_date
          in: query
          type: string
          description: Filter by timestamp <= end_date (RFC3339 format)
    authentication:
      type: bearer
      token: '{{env.NETBIRD_API_KEY}}'
  exposes:
  - type: rest
    namespace: netbird-events-rest
    port: 8080
    description: REST adapter for NetBird REST API — Events. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/api/events/audit
      name: api-events-audit
      description: REST surface for api-events-audit.
      operations:
      - method: GET
        name: get
        description: List all Audit Events
        call: netbird-events.get
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/events/network-traffic
      name: api-events-network-traffic
      description: REST surface for api-events-network-traffic.
      operations:
      - method: GET
        name: get
        description: List all Traffic Events
        call: netbird-events.get
        with:
          page: rest.page
          page_size: rest.page_size
          user_id: rest.user_id
          reporter_id: rest.reporter_id
          protocol: rest.protocol
          type: rest.type
          connection_type: rest.connection_type
          direction: rest.direction
          search: rest.search
          start_date: rest.start_date
          end_date: rest.end_date
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/events/proxy
      name: api-events-proxy
      description: REST surface for api-events-proxy.
      operations:
      - method: GET
        name: get
        description: List all Reverse Proxy Access Logs
        call: netbird-events.get
        with:
          page: rest.page
          page_size: rest.page_size
          sort_by: rest.sort_by
          sort_order: rest.sort_order
          search: rest.search
          source_ip: rest.source_ip
          host: rest.host
          path: rest.path
          user_id: rest.user_id
          user_email: rest.user_email
          user_name: rest.user_name
          method: rest.method
          status: rest.status
          status_code: rest.status_code
          start_date: rest.start_date
          end_date: rest.end_date
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: netbird-events-mcp
    port: 9090
    transport: http
    description: MCP adapter for NetBird REST API — Events. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: list-all-audit-events
      description: List all Audit Events
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netbird-events.get
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-traffic-events
      description: List all Traffic Events
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netbird-events.get
      with:
        page: tools.page
        page_size: tools.page_size
        user_id: tools.user_id
        reporter_id: tools.reporter_id
        protocol: tools.protocol
        type: tools.type
        connection_type: tools.connection_type
        direction: tools.direction
        search: tools.search
        start_date: tools.start_date
        end_date: tools.end_date
      outputParameters:
      - type: object
        mapping: $.
    - name: list-all-reverse-proxy-access
      description: List all Reverse Proxy Access Logs
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: netbird-events.get
      with:
        page: tools.page
        page_size: tools.page_size
        sort_by: tools.sort_by
        sort_order: tools.sort_order
        search: tools.search
        source_ip: tools.source_ip
        host: tools.host
        path: tools.path
        user_id: tools.user_id
        user_email: tools.user_email
        user_name: tools.user_name
        method: tools.method
        status: tools.status
        status_code: tools.status_code
        start_date: tools.start_date
        end_date: tools.end_date
      outputParameters:
      - type: object
        mapping: $.