# Billing # Profiles ## Billing Profile Details `client.Billing.Profiles.Get(ctx, query) (*ProfileGetResponse, error)` **get** `/accounts/{account_id}/billing/profile` Gets the current billing profile for the account. ### Parameters - `query ProfileGetParams` - `AccountID param.Field[string]` Identifier ### Returns - `type ProfileGetResponse struct{…}` - `ID string` Billing item identifier tag. - `AccountType string` - `Address string` - `Address2 string` - `Balance string` - `CardExpiryMonth int64` - `CardExpiryYear int64` - `CardNumber string` - `City string` - `Company string` - `Country string` - `CreatedOn Time` - `DeviceData string` - `EditedOn Time` - `EnterpriseBillingEmail string` - `EnterprisePrimaryEmail string` - `FirstName string` - `IsPartner bool` - `LastName string` - `NextBillDate Time` - `PaymentAddress string` - `PaymentAddress2 string` - `PaymentCity string` - `PaymentCountry string` - `PaymentEmail string` - `PaymentFirstName string` - `PaymentGateway string` - `PaymentLastName string` - `PaymentNonce string` - `PaymentState string` - `PaymentZipcode string` - `PrimaryEmail string` - `State string` - `TaxIDType string` - `Telephone string` - `UseLegacy bool` - `ValidationCode string` - `Vat string` - `Zipcode string` ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/billing" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) profile, err := client.Billing.Profiles.Get(context.TODO(), billing.ProfileGetParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", profile.ID) } ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "result": { "id": "b69a9f3492637782896352daae219e7d", "account_type": "type", "address": "123 Main Street", "address2": "Apt 1", "balance": "0", "card_expiry_month": 12, "card_expiry_year": 2099, "card_number": "4242424242424242", "city": "Anytown", "company": "Company", "country": "Anycountry", "created_on": "2014-03-01T12:21:59.3456Z", "device_data": "sample_data", "edited_on": "2014-03-01T12:21:59.3456Z", "enterprise_billing_email": "johndoe@gmail.com", "enterprise_primary_email": "johndoe@gmail.com", "first_name": "John", "is_partner": false, "last_name": "Doe", "next_bill_date": "2014-03-01T12:21:59.3456Z", "payment_address": "123 Main Street", "payment_address2": "Apt 1", "payment_city": "Anytown", "payment_country": "Anycountry", "payment_email": "johndoe@gmail.com", "payment_first_name": "John", "payment_gateway": "gateway", "payment_last_name": "Doe", "payment_nonce": "abc123", "payment_state": "state", "payment_zipcode": "12345", "primary_email": "johndoe@gmail.com", "state": "AnyState", "tax_id_type": "type", "telephone": "1234567899", "use_legacy": false, "validation_code": "1111", "vat": "GB123456789", "zipcode": "12345" }, "success": true } ``` # Usage ## Get PayGo Account Billable Usage (Alpha) `client.Billing.Usage.Paygo(ctx, params) (*[]UsagePaygoResponse, error)` **get** `/accounts/{account_id}/billing/usage/paygo` Returns billable usage data for PayGo (self-serve) accounts. When no query parameters are provided, returns usage for the current billing period. This endpoint is currently in alpha and access is restricted to select accounts. While in alpha, the endpoint may get breaking changes. ### Parameters - `params UsagePaygoParams` - `AccountID param.Field[string]` Path param: Represents a Cloudflare resource identifier tag. - `From param.Field[Time]` Query param: Defines the start date for the usage query (e.g., 2025-02-01). - `To param.Field[Time]` Query param: Defines the end date for the usage query (e.g., 2025-03-01). ### Returns - `type UsagePaygoResponseEnvelopeResult []UsagePaygoResponse` Contains the array of billable usage records. - `BillingCurrency string` Specifies the billing currency code (ISO 4217). - `BillingPeriodStart Time` Indicates the start of the billing period. - `ChargePeriodEnd Time` Indicates the end of the charge period. - `ChargePeriodStart Time` Indicates the start of the charge period. - `ConsumedQuantity float64` Specifies the quantity consumed during this charge period. - `ConsumedUnit string` A display name for the unit of measurement used for the product (for example, "GB-months", "GB-seconds"). May be empty when the unit is implicit in the service name. - `ContractedCost float64` Specifies the cost for this charge period in the billing currency. - `CumulatedContractedCost float64` Specifies the cumulated cost for the billing period in the billing currency. - `CumulatedPricingQuantity int64` Specifies the cumulated pricing quantity for the billing period. - `PricingQuantity int64` Specifies the pricing quantity for this charge period. - `ServiceName string` Identifies the Cloudflare service. ### Example ```go package main import ( "context" "fmt" "github.com/cloudflare/cloudflare-go" "github.com/cloudflare/cloudflare-go/billing" "github.com/cloudflare/cloudflare-go/option" ) func main() { client := cloudflare.NewClient( option.WithAPIToken("Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY"), ) response, err := client.Billing.Usage.Paygo(context.TODO(), billing.UsagePaygoParams{ AccountID: cloudflare.F("023e105f4ecef8ad9ca31a8372d0c353"), }) if err != nil { panic(err.Error()) } fmt.Printf("%+v\n", response) } ``` #### Response ```json { "errors": [ { "message": "message", "code": 0 } ], "messages": [ { "message": "message", "code": 0 } ], "result": [ { "BillingCurrency": "USD", "BillingPeriodStart": "2025-02-01T00:00:00Z", "ChargePeriodEnd": "2025-02-02T00:00:00Z", "ChargePeriodStart": "2025-02-01T00:00:00Z", "ConsumedQuantity": 150000, "ConsumedUnit": "GB-months", "ContractedCost": 0.75, "CumulatedContractedCost": 2.25, "CumulatedPricingQuantity": 4500000, "PricingQuantity": 150000, "ServiceName": "Workers Standard" } ], "success": true } ```