Skip to content
Start here

Get usage history

client.AIGateway.Billing.UsageHistory(ctx, params) (*BillingUsageHistoryResponse, error)
GET/accounts/{account_id}/ai-gateway/billing/usage-history

Retrieve AI Gateway usage cost, in US dollars, aggregated by hour or day for the given time range.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
AI Gateway WriteAI Gateway Read
ParametersExpand Collapse
params BillingUsageHistoryParams
AccountID param.Field[string]

Path param: Cloudflare account ID.

ValueGroupingWindow param.Field[BillingUsageHistoryParamsValueGroupingWindow]

Query param: Grouping window for usage data.

const BillingUsageHistoryParamsValueGroupingWindowDay BillingUsageHistoryParamsValueGroupingWindow = "day"
const BillingUsageHistoryParamsValueGroupingWindowHour BillingUsageHistoryParamsValueGroupingWindow = "hour"
EndTime param.Field[float64]Optional

Query param: End time as Unix timestamp in milliseconds.

StartTime param.Field[float64]Optional

Query param: Start time as Unix timestamp in milliseconds.

ReturnsExpand Collapse
type BillingUsageHistoryResponse struct{…}
History []BillingUsageHistoryResponseHistory
ID string
AggregatedValue float64

AI Gateway usage cost in the window, in US dollars.

EndTime float64
StartTime float64

Get usage history

package main

import (
  "context"
  "fmt"

  "github.com/cloudflare/cloudflare-go"
  "github.com/cloudflare/cloudflare-go/ai_gateway"
  "github.com/cloudflare/cloudflare-go/option"
)

func main() {
  client := cloudflare.NewClient(
    option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"),
  )
  response, err := client.AIGateway.Billing.UsageHistory(context.TODO(), ai_gateway.BillingUsageHistoryParams{
    AccountID: cloudflare.F("account_id"),
    ValueGroupingWindow: cloudflare.F(ai_gateway.BillingUsageHistoryParamsValueGroupingWindowDay),
  })
  if err != nil {
    panic(err.Error())
  }
  fmt.Printf("%+v\n", response.History)
}
{
  "errors": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "result": {
    "history": [
      {
        "id": "id",
        "aggregated_value": 0,
        "end_time": 0,
        "start_time": 0
      }
    ]
  },
  "success": true,
  "result_info": {
    "has_more": true,
    "page": 0,
    "per_page": 0,
    "total_count": 0
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "messages": [
    {
      "code": 0,
      "message": "message"
    }
  ],
  "result": {
    "history": [
      {
        "id": "id",
        "aggregated_value": 0,
        "end_time": 0,
        "start_time": 0
      }
    ]
  },
  "success": true,
  "result_info": {
    "has_more": true,
    "page": 0,
    "per_page": 0,
    "total_count": 0
  }
}