Skip to content
Docs

    Get Usage Record

    client.Usage.Get(ctx, resourceID) (*Usage, error)
    GET/v1/usage/{resource_id}

    Get the usage record for a single resource (metadata plus dimension history) for the current organization.

    ParametersExpand Collapse
    resourceID string
    ReturnsExpand Collapse
    type Usage struct{…}

    Usage record for a single metered resource.

    Dimensions []UsageDimension
    ID string
    Dimension string
    EndedAt string
    Quantity int64
    StartedAt string
    Children []UsageDimensionLeafOptional
    ID string
    Dimension string
    EndedAt string
    Quantity int64
    StartedAt string
    EndedAt string
    ProjectID string
    Region RegionName

    Region the resource is in.

    ResourceID string
    ResourceType UsageResourceType

    Kind of metered resource a ledger row belongs to.

    One of the following:
    const UsageResourceTypeVM UsageResourceType = "vm"
    const UsageResourceTypeVolume UsageResourceType = "volume"
    const UsageResourceTypeVPC UsageResourceType = "vpc"
    const UsageResourceTypeConnectConnection UsageResourceType = "connect_connection"
    const UsageResourceTypeNKSCluster UsageResourceType = "nks_cluster"
    const UsageResourceTypeNKSNodePool UsageResourceType = "nks_node_pool"
    const UsageResourceTypeNKSLoadBalancer UsageResourceType = "nks_load_balancer"
    StartedAt string

    Get Usage Record

    package main
    
    import (
      "context"
      "fmt"
    
      "github.com/nirvana-labs/nirvana-go"
      "github.com/nirvana-labs/nirvana-go/option"
    )
    
    func main() {
      client := nirvana.NewClient(
        option.WithAPIKey("My API Key"),
      )
      usage, err := client.Usage.Get(context.TODO(), "123e4567-e89b-12d3-a456-426614174000")
      if err != nil {
        panic(err.Error())
      }
      fmt.Printf("%+v\n", usage.ProjectID)
    }
    
    {
      "dimensions": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "dimension": "compute_n1_standard_8",
          "ended_at": "2026-02-01T00:00:00Z",
          "quantity": 1,
          "started_at": "2026-01-01T00:00:00Z",
          "children": [
            {
              "id": "123e4567-e89b-12d3-a456-426614174000",
              "dimension": "compute_vcpu",
              "ended_at": "2026-02-01T00:00:00Z",
              "quantity": 2,
              "started_at": "2026-01-01T00:00:00Z"
            }
          ]
        }
      ],
      "ended_at": "2026-02-01T00:00:00Z",
      "project_id": "123e4567-e89b-12d3-a456-426614174000",
      "region": "us-sva-2",
      "resource_id": "123e4567-e89b-12d3-a456-426614174000",
      "resource_type": "vm",
      "started_at": "2026-01-01T00:00:00Z"
    }
    Returns Examples
    {
      "dimensions": [
        {
          "id": "123e4567-e89b-12d3-a456-426614174000",
          "dimension": "compute_n1_standard_8",
          "ended_at": "2026-02-01T00:00:00Z",
          "quantity": 1,
          "started_at": "2026-01-01T00:00:00Z",
          "children": [
            {
              "id": "123e4567-e89b-12d3-a456-426614174000",
              "dimension": "compute_vcpu",
              "ended_at": "2026-02-01T00:00:00Z",
              "quantity": 2,
              "started_at": "2026-01-01T00:00:00Z"
            }
          ]
        }
      ],
      "ended_at": "2026-02-01T00:00:00Z",
      "project_id": "123e4567-e89b-12d3-a456-426614174000",
      "region": "us-sva-2",
      "resource_id": "123e4567-e89b-12d3-a456-426614174000",
      "resource_type": "vm",
      "started_at": "2026-01-01T00:00:00Z"
    }