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"
}