Resources (Beta)

Per-customer resource inventory — attribute filters, free-text search, and per-resource detail. Cross-references catalog SKUs via (catalog_sku_org_id, catalog_sku_id).

List filterable resource SKU attributes

get

Returns the fields that can be used in the 'filter' parameter of the /resources/skus list endpoint, along with their types.

Path parameters
org_idstring · uuidRequired
Responses
chevron-right
200

OK

application/json
namestringRequired
fieldstringRequired
typestring · enumRequiredPossible values:
get
/beta/v1/org/{org_id}/resources/skus/attributes

Get valid values for a filterable resource SKU attribute

get

Returns the distinct values for a given field, scoped to the same provider/segment/filter as the list endpoint. Use this to narrow refinements (e.g. ask for valid instance_type values for a given service+region before issuing a list call) without paginating through SKU rows.

Path parameters
org_idstring · uuidRequired
fieldstring · min: 1Required
Query parameters
providerstring · enumRequired

Cloud provider (aws, azure, gcp)

Example: awsPossible values:
segment_idstring · uuid · nullableOptional

Optional segment ID to scope results. Defaults to the provider resources segment if not specified.

Default: null
searchstring · nullableOptional

Text search across resource id, name, provider_resource_id, account ids, and the curated SKU attribute fields (service, region_code, instance_type, etc.). Use for fuzzy id/name lookups; use filter for structured queries.

Default: null
order_bystring · enumOptional

Field to order results by. Includes the trailing-30-day spend/usage aggregates (total_cost, ondemand_cost, gross_savings, coverage, uptime).

Default: idPossible values:
descbooleanOptional

Sort descending

Default: false
Responses
chevron-right
200

OK

application/json
or
or
or
or
or
or
or
or
or
or
or
get
/beta/v1/org/{org_id}/resources/skus/attributes/{field}

List resource SKU rows in the customer's environment

get

Returns ResourceSKU rows (resource x SKU x time-window) scoped to the specified provider segment and the org's current attribution. Each row is one observation period of a resource running with a specific SKU; the same underlying resource may appear multiple times if it changed SKUs. Cross-reference catalog SKUs via (catalog_sku_org_id, catalog_sku_id). Cursor-paginated: X-Pagination includes page, first_page, previous_page, and next_page — no total / total_pages (skipped to avoid a slow Snowflake COUNT(*) on large customers).

Path parameters
org_idstring · uuidRequired
Query parameters
providerstring · enumRequired

Cloud provider (aws, azure, gcp)

Example: awsPossible values:
segment_idstring · uuid · nullableOptional

Optional segment ID to scope results. Defaults to the provider resources segment if not specified.

Default: null
searchstring · nullableOptional

Text search across resource id, name, provider_resource_id, account ids, and the curated SKU attribute fields (service, region_code, instance_type, etc.). Use for fuzzy id/name lookups; use filter for structured queries.

Default: null
order_bystring · enumOptional

Field to order results by. Includes the trailing-30-day spend/usage aggregates (total_cost, ondemand_cost, gross_savings, coverage, uptime).

Default: idPossible values:
descbooleanOptional

Sort descending

Default: false
pageinteger · min: 1OptionalDefault: 1
page_sizeinteger · min: 1 · max: 100OptionalDefault: 20
Responses
chevron-right
200

OK

application/json
get
/beta/v1/org/{org_id}/resources/skus

Get a single resource SKU row's full detail

get

Returns the full ResourceSKU record — list-view fields plus hardware specs, the raw catalog attribute blob, and SKU lifecycle dates. The id is the composite <resource_id>|<catalog_sku_org_id>|<catalog_sku_id> returned by the list endpoint; pass it through verbatim. Scope: org + current attribution + the org's integrations — intentionally NOT narrowed by segment, unlike the list endpoint. Detail is an id-based fetch, not a browse query, so once a row's id is known it resolves regardless of which segment surfaced it. The asymmetry is one-directional: any row visible in the list (segment-scoped) is also visible here (org-scoped), so the list-then-detail flow never 404s on scope alone.

Path parameters
org_idstring · uuidRequired
resource_sku_idstring · min: 1Required
Responses
chevron-right
200

OK

application/json
idstringOptional

Composite ResourceSKU id — <resource_id>|<catalog_sku_org_id>|<catalog_sku_id>. Pass directly to /resources/skus/<id> for detail; do not parse it client-side.

resource_idstring · uuidOptional

Underlying Resource id. Stable across SKU/time variants of the same resource — multiple ResourceSKU rows can share a resource_id when the same resource ran with different SKUs over its lifetime.

catalog_sku_idstring · uuidOptional

Join key into /catalog/skus/<id> for the public SKU record.

catalog_sku_org_idstringOptional

Org id that owns the catalog SKU — public-catalog SKUs use the public org id; custom-priced SKUs use the customer's org id.

providerstring · enumOptional

Cloud provider (aws, azure, gcp)

Possible values:
provider_resource_idstringOptional

Provider's id for the resource (AWS ARN, Azure resource ID, GCP resource name). This is the canonical identifier the user sees in the cloud console.

provider_sku_idstring · nullableOptional

Provider's own SKU identifier

namestring · nullableOptional

Resource name (Resource.name) — the user-applied label, e.g. 'prod-db-1'. Distinct from sku_name, which is the catalog SKU's display name.

sku_namestring · nullableOptional

Catalog SKU display name (e.g. 'Amazon EC2 Instance', 'Amazon Aurora PostgreSQL Cluster'). Useful as a fallback label when instance_type_family and usage_type are both null. Distinct from name (the resource's user-applied label).

integration_idstringOptional

Integration this resource belongs to

billing_account_idstring · nullableOptional

Provider billing/management account id

sub_account_idstring · nullableOptional

Provider account id that owns/created the resource

resource_groupstring · nullableOptional
is_spotboolean · nullableOptional
availability_zonestring · nullableOptional
servicestring · nullableOptional

Full service name (e.g. 'Amazon Elastic Compute Cloud - Compute')

provider_servicestring · nullableOptional

Provider service code (e.g. 'AmazonEC2')

familystring · nullableOptional

Product family (e.g. 'Compute Instance')

region_codestring · nullableOptional

Region code (e.g. 'us-east-1')

full_region_namestring · nullableOptional

Full region name (e.g. 'US East (N. Virginia)')

instance_typestring · nullableOptional
instance_type_familystring · nullableOptional
usage_typestring · nullableOptional

Provider billing usage type (e.g. 'BoxUsage:m5.large'). The canonical join key against AWS Cost Explorer / billing line items.

operationstring · nullableOptional

Provider billing operation code (e.g. 'RunInstances:0002')

operating_systemstring · nullableOptional
tenancystring · nullableOptional
database_enginestring · nullableOptional
database_editionstring · nullableOptional
cache_enginestring · nullableOptional
is_multi_azboolean · nullableOptional
is_current_generationboolean · nullableOptional
license_modelstring · nullableOptional
pre_installed_swstring · nullableOptional
processor_architecturestring · nullableOptional
is_reservableboolean · nullableOptional

Whether the SKU this resource is running has at least one reserved-term offering. Reservability is a property of the SKU, not the resource.

is_byolboolean · nullableOptional

Whether the SKU is a Bring-Your-Own-License variant. Currently set for AWS RDS BYOL only; false elsewhere.

is_flexibleboolean · nullableOptional

Whether the SKU is eligible for instance-size flexibility under reserved offerings (provider+service-specific rules — see is_flexible on the ResourceSKU model).

is_serverlessboolean · nullableOptional

Whether the SKU represents serverless usage.

vcpunumber · nullableOptional
memorynumber · nullableOptional

Memory in bytes (not GB). Divide by 2**30 for GiB / 1e9 for GB if presenting to the user.

ondemand_usage_unitstring · nullableOptional
ondemand_usage_pricenumber · nullableOptional

On-demand unit price in price_currency. List price from the catalog — this is NOT the user's actual spend for this resource (see ResourceSKUWithMetricsSchema's total_cost or /cost-explorer for that).

price_currencystring · nullableOptional
usage_startstring · date-timeOptional

Start of the period during which the resource was observed running this SKU. A resource that switched SKUs (e.g. instance-type resize) will have multiple ResourceSKU rows with disjoint [usage_start, usage_end] windows.

usage_endstring · date-timeOptional

End of the period during which the resource was observed running this SKU. Within ~2 days of now generally indicates the resource is currently active with this SKU.

total_costnumber · nullableOptional

Trailing-30-day total spend on this resource — what the user actually paid, summing the on-demand, spot, and commitment-covered portions. Reflects actuals already incurred under existing commitments, NOT a projection. Zero for resources not active in the last month.

ondemand_costnumber · nullableOptional

Trailing-30-day on-demand-priced portion of total_cost — i.e. spend that wasn't covered by a commitment or run as spot. NOT the counterfactual 'what it would have cost at on-demand prices' (that's if_all_ondemand_cost).

gross_savingsnumber · nullableOptional

Trailing-30-day savings already realized on this resource vs the on-demand baseline (if_all_ondemand_cost - total_cost). Actuals from existing commitments — NOT a projection of what a candidate plan would save. Per-row clamped at zero, so summing this across resources never goes negative. Archera premium is NOT subtracted on this endpoint (premium isn't attributed per resource here); for portfolio-level net savings see /commitments/metrics.

if_all_ondemand_costanyRead-onlyOptional

Trailing-30-day on-demand counterfactual — what total_cost would be if every hour of usage ran at on-demand prices. Equals total_cost + gross_savings. Headline baseline for 'how much is this commitment-covered resource saving me'.

coveragenumber · nullableOptional

Trailing-30-day fraction of this resource's usage covered by ALL existing commitments (0-1). Actuals — the BEFORE picture relative to any candidate plan. When this row is nested inside a commitment plan's covered-resources response, this is distinct from the response's per-match projected_coverage (the AFTER picture for that specific plan).

uptimenumber · nullableOptional

Trailing-30-day fraction of time the resource was running (0-1). Null for non-running SKU types (storage, data transfer, etc.). Useful for rightsizing flags — low uptime on a large instance is a candidate for downsizing or termination.

parent_resource_idstring · uuid · nullableOptional

Parent Resource id (e.g. the spot fleet / autoscaling group / RDS cluster that owns this resource). Sparse — only populated when the cloud provider exposes a parent relationship. Use this to traverse resource hierarchies.

descriptionstring · nullableOptional
location_typestring · nullableOptional
physical_processorstring · nullableOptional
clock_speedstring · nullableOptional
processor_featuresstring · nullableOptional
network_performancestring · nullableOptional
storagestring · nullableOptional
dedicated_ebs_throughputstring · nullableOptional
iostring · nullableOptional
tax_typestring · nullableOptional
has_ondemand_termsboolean · nullableOptional
normalization_size_factornumber · nullableOptional

AWS instance-size flexibility unit. Used internally to size convertible RIs across the family; not generally user-facing.

publication_datestring · date-time · nullableOptional

When the catalog SKU version was published by the provider.

end_datestring · date-time · nullableOptional

Date after which the catalog SKU is no longer available.

attributesany · nullableOptional

Raw provider-specific attribute blob from the catalog SKU — usually a JSON object, but can be any JSON value (string, list, etc.) since the underlying column is a Snowflake VARIANT. May overlap with the structured fields above; prefer the structured fields when they're populated.

get
/beta/v1/org/{org_id}/resources/skus/{resource_sku_id}

Last updated

Was this helpful?