Source code for netbird.resources.cloud.invoice
"""
Invoice resource handler for NetBird API.
"""
from typing import Any, Dict, List
from ..base import BaseResource
[docs]
class InvoiceResource(BaseResource):
"""Handler for NetBird billing invoice API endpoints."""
[docs]
def list(self) -> List[Dict[str, Any]]:
"""List all paid invoices."""
data = self.client.get("integrations/billing/invoices")
return self._parse_list_response(data)
[docs]
def get_pdf_url(self, invoice_id: str) -> Dict[str, Any]:
"""Get PDF URL for an invoice."""
data = self.client.get(f"integrations/billing/invoices/{invoice_id}/pdf")
return self._parse_response(data)
[docs]
def get_csv(self, invoice_id: str) -> Dict[str, Any]:
"""Get CSV data for an invoice."""
data = self.client.get(f"integrations/billing/invoices/{invoice_id}/csv")
return self._parse_response(data)