Skip to main content
GET
Get cost usage export details

Authorizations

Authorization
string
header
required

An access token must be provided in the Authorization header using the Bearer scheme.

Headers

X-Pinecone-Api-Version
string
default:2026-07
required

Required date-based version header

Path Parameters

cost_usage_export_id
string<uuid>
required

Cost usage export ID

Response

The state of the export, and a download link once it has completed.

The CostUsageExport describes an asynchronous job that produces a cost and usage file for an organization, together with the link used to download that file. The file holds cost records that follow the FOCUS v1.4 Cost and Usage dataset.

id
string<uuid>
required

Unique identifier for the export. Use it to poll for completion, and to identify the export when contacting Pinecone Support.

Example:

"9f2c1a4e-8b3d-4c5f-a1b2-c3d4e5f6a7b8"

status
string
required

Status of a cost usage export. Pending and InProgress mean the job is still running; Completed and Failed are terminal and never change afterwards. Possible values: Pending, InProgress, Completed, or Failed.

Example:

"Completed"

format
string
required

Encoding of the generated file. zip is a zip archive holding the cost records as one or more CSV files whose columns follow the FOCUS v1.4 Cost and Usage dataset, alongside a manifest.json describing the archive. Each CSV starts with a header line and holds at most 800,000 rows, so larger exports are split across several files, named part-1-of-3.csv through part-3-of-3.csv and ordered by those names. Every CSV carries these 45 columns, in this order: x_OrganizationId, SubAccountId, ResourceName, ResourceType, ChargePeriodStart, ChargePeriodEnd, BillingPeriodStart, BillingPeriodEnd, SkuId, ServiceName, PricingQuantity, PricingUnit, ConsumedQuantity, ConsumedUnit, ListUnitPrice, ListCost, ContractedUnitPrice, ContractedCost, EffectiveCost, BilledCost, BillingCurrency, PricingCategory, ChargeCategory, ChargeClass, ChargeFrequency, ServiceCategory, ServiceSubcategory, RegionId, RegionName, HostProviderName, ServiceProviderName, InvoiceIssuerName, InvoiceId, BillingAccountId, BillingAccountName, BillingAccountType, SubAccountName, SubAccountType, ResourceId, SkuPriceId, SkuMeter, ChargeDescription, x_CloudId, Tags, x_ProjectMetadata. Columns prefixed with x_ are Pinecone extensions, which is how FOCUS requires a provider to name a column the specification does not define. SubAccountId and SubAccountName identify the Pinecone project, and BillingAccountId identifies the organization that is invoiced. Rows are ordered by ChargePeriodStart, SubAccountName, ResourceName, ChargeDescription, SkuId, ResourceId, across the archive as a whole rather than within each file. InvoiceId is provisional while its billing period is still open, so it may change for a period that has not yet closed. Possible values: zip.

Example:

"zip"

period_start
string<date>
required

First day of usage covered by the export, as a UTC calendar day. This bound is inclusive.

Example:

"2026-08-01T00:00:00.000Z"

period_end
string<date>
required

Day after the last day of usage covered by the export, as a UTC calendar day. This bound is exclusive.

Example:

"2026-09-01T00:00:00.000Z"

file_expired
boolean
required

Whether the generated file has been deleted. Check this rather than status: a Completed export whose file has expired can no longer be downloaded.

Example:

false

created_at
string<date-time>
required

When the export was accepted.

Example:

"2026-09-02T14:31:07.000Z"

updated_at
string<date-time>
required

When the export was last updated.

Example:

"2026-09-02T14:35:52.000Z"

data_available_through
string<date> | null

Last day for which the billing warehouse holds complete data, recorded when the export runs to describe the contents of the generated file. null until then. Cost data lags by roughly two days.

Example:

"2026-08-31T00:00:00.000Z"

row_count
integer<int64> | null

Number of line items across all CSV files in the archive, excluding header lines.

Example:

48213

size_bytes
integer<int64> | null

Length of the zip archive, in bytes.

Example:

4183902

download_url
string<uri> | null

Signed link to the generated file, generated fresh each time a single export is read and valid for one hour. Treat the link as a secret: anyone holding it can download the file. Do not store it or pass it between systems; read the export again for a new link. Always null in list responses.

Example:

"https://storage.googleapis.com/example-bucket/cost_usage_exports/export.zip?X-Goog-Expires=3600"

download_url_expires_at
string<date-time> | null

When download_url stops working: one hour after the link was generated, or file_expires_at, whichever comes first. Read the export again for a new link. Always null in list responses.

Example:

"2026-09-02T15:36:11.000Z"

file_expires_at
string<date-time> | null

When the generated file is deleted, two days after the export finished. The file cannot be re-delivered afterwards; create another export instead.

Example:

"2026-09-04T14:35:52.000Z"

error
object | null

Why an export failed.

started_at
string<date-time> | null

When the export job began running.

Example:

"2026-09-02T14:31:19.000Z"

finished_at
string<date-time> | null

When the export job finished running, either successfully or with an error.

Example:

"2026-09-02T14:35:52.000Z"