Catalog (Beta)
Cloud SKU catalog — attribute filters, search, and per-SKU detail. Returns the public catalog plus the org's own custom-priced SKUs.
Returns the fields that can be used in the 'filter' parameter of the catalog SKU list endpoint, along with their types.
OK
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Internal server error
Default error response
GET /beta/v1/org/{org_id}/catalog/skus/attributes HTTP/1.1
Accept: */*
[
{
"name": "text",
"field": "text",
"type": "boolean"
}
]Returns the distinct values for a given field, scoped to the same filters that would be applied on 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).
Cloud provider (aws, azure, gcp)
awsPossible values: Text search across SKU name, description, service, and the curated attribute fields (e.g. instance_type, region_code).
nullField to order results by. Includes the numeric specs (ondemand_usage_price, vcpu, memory) for sorting by price or size.
instance_typePossible values: Sort descending
falseOK
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
GET /beta/v1/org/{org_id}/catalog/skus/attributes/{field}?provider=aws HTTP/1.1
Accept: */*
{
"name": "text",
"field": "text",
"type": "boolean",
"filters": [
{
"field": "text",
"value": "text",
"op": "="
}
]
}Returns SKUs from the public catalog plus the org's custom-priced SKUs, filtered to USD on-demand prices. To restrict to reservable SKUs, pass is_reservable through the filter arg ({"field": "is_reservable", "op": "=", "value": true}). X-Pagination is navigation-only: it always includes page and first_page, and adds previous_page and next_page when available.
Cloud provider (aws, azure, gcp)
awsPossible values: Text search across SKU name, description, service, and the curated attribute fields (e.g. instance_type, region_code).
nullField to order results by. Includes the numeric specs (ondemand_usage_price, vcpu, memory) for sorting by price or size.
instance_typePossible values: Sort descending
false120OK
Bad request
Unauthorized
Forbidden
Not found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
GET /beta/v1/org/{org_id}/catalog/skus?provider=aws HTTP/1.1
Accept: */*
[
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"provider": "aws",
"provider_sku_id": "text",
"name": "text",
"family": "text",
"service": "text",
"provider_service": "text",
"region_code": "text",
"full_region_name": "text",
"instance_type": "text",
"instance_type_family": "text",
"usage_type": "text",
"operation": "text",
"operating_system": "text",
"tenancy": "text",
"database_engine": "text",
"database_edition": "text",
"cache_engine": "text",
"is_multi_az": true,
"is_current_generation": true,
"license_model": "text",
"pre_installed_sw": "text",
"processor_architecture": "text",
"vcpu": 1,
"memory": 1,
"is_reservable": true,
"is_public": true,
"ondemand_usage_unit": "text",
"ondemand_usage_price": 1,
"price_currency": "text"
}
]Returns the full SKU record including hardware specs and (when available) the on-demand pricing terms with tiered price dimensions. Direct-id lookup doesn't apply the list endpoint's has_ondemand_terms/price_currency=USD guards, so ondemand_terms may be null and price_currency may be non-USD for SKUs that wouldn't surface in the list. The SKU must be in the public catalog or owned by the requesting org.
OK
Catalog SKU id
Cloud provider (aws, azure, gcp)
Provider's own SKU identifier
Product family (e.g. 'Compute Instance')
Full service name (e.g. 'Amazon Elastic Compute Cloud - Compute')
Provider service code (e.g. 'AmazonEC2')
Region code (e.g. 'us-east-1')
Full region name (e.g. 'US East (N. Virginia)')
Provider billing usage type (e.g. 'BoxUsage:m5.large'). The canonical join key against AWS Cost Explorer / billing line items — useful for crossing between catalog and cost data.
Provider billing operation code (e.g. 'RunInstances:0002'). Lets the agent spot at-a-glance whether a SKU is the plain default operation or a more specific variant within a usage_type.
CPU architecture (e.g. 'x86_64', 'arm64')
Memory in bytes (not GB). Divide by 2**30 for GiB / 1e9 for GB if presenting to the user.
Whether this SKU has at least one reserved-term offering
True for public-catalog SKUs (the standard provider catalog). False when this row is the requesting org's own custom-priced SKU (tied to a specific integration; drill into catalog_sku_details for the integration_id).
On-demand unit price in price_currency
AWS instance-size flexibility unit. Used internally to size convertible RIs across the family; not generally user-facing.
Whether this SKU is a Bring-Your-Own-License variant. Derived from license_model.
Integration this SKU's custom pricing is tied to. Null for public-catalog SKUs (the default scope of the list endpoint). Set when the SKU id resolves to a custom-priced SKU on the requesting org — direct-id detail lookups support both public and the org's own custom-priced SKUs.
Date after which this SKU is no longer available.
When this SKU version was published by the provider.
When this SKU was last refreshed in our catalog.
Bad request
Unauthorized
Forbidden
Not Found
Method not allowed
Conflict
Internal server error
Default error response
GET /beta/v1/org/{org_id}/catalog/skus/{sku_id} HTTP/1.1
Accept: */*
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"provider": "aws",
"provider_sku_id": "text",
"name": "text",
"family": "text",
"service": "text",
"provider_service": "text",
"region_code": "text",
"full_region_name": "text",
"instance_type": "text",
"instance_type_family": "text",
"usage_type": "text",
"operation": "text",
"operating_system": "text",
"tenancy": "text",
"database_engine": "text",
"database_edition": "text",
"cache_engine": "text",
"is_multi_az": true,
"is_current_generation": true,
"license_model": "text",
"pre_installed_sw": "text",
"processor_architecture": "text",
"vcpu": 1,
"memory": 1,
"is_reservable": true,
"is_public": true,
"ondemand_usage_unit": "text",
"ondemand_usage_price": 1,
"price_currency": "text",
"description": "text",
"location_type": "text",
"availability_zone": "text",
"physical_processor": "text",
"clock_speed": "text",
"processor_features": "text",
"network_performance": "text",
"storage": "text",
"dedicated_ebs_throughput": "text",
"io": "text",
"tax_type": "text",
"has_ondemand_terms": true,
"normalization_size_factor": 1,
"is_byol": true,
"integration_id": "123e4567-e89b-12d3-a456-426614174000",
"end_date": "2026-01-01T00:00:00.000Z",
"publication_date": "2026-01-01T00:00:00.000Z",
"updated_at": "2026-01-01",
"attributes": {
"ANY_ADDITIONAL_PROPERTY": "anything"
},
"ondemand_terms": {}
}Loads 1-100 CatalogSKUs and their offer grids in bulk, then returns per-SKU candidates plus cross-SKU term/payment rollups. A one-item sku_ids list is the single-SKU special case. Hypothetical and not tied to existing commitments — for swapping a line item's offer, use /commitment-plans/{plan_id}/comparison. Missing, non-reservable, unpriced, or unmatched SKUs are returned in skipped_skus with a reason and excluded from aggregate totals so valid SKUs still compare in the same request. Returns 4xx only when none of the requested SKUs pass access and input validation.
CatalogSKU ids to compare. Accepts 1-100 ids; a one-item list is the single-SKU special case. Every SKU uses the shared quantity.
Number of SKU units to hypothetically commit to (≥1). Defaults to 1 for a simple pricing comparison. Pass an explicit quantity when the user wants absolute dollar figures (monthly savings, upfront cost) sized to a real purchase. For compute this is instance count; for non-compute SKUs the unit is the SKU's ondemand_usage_unit.
1When true (default), candidates[] and targets[] are restricted to the most flexible commitment type available for the SKU's service. For EC2 SKUs that means Compute Savings Plans only — EC2 Reserved Instances and EC2 Instance Savings Plans are excluded because they bind to a single instance family + region, while Compute SPs cover any EC2 / Fargate / Lambda usage. For Azure Virtual Machines SKUs that means Azure Savings Plans only. Azure reservations are excluded because they bind more narrowly than Savings Plans. Same default-deemphasize spirit as payment_options=['no_upfront']. Pass false when the user explicitly asks about RIs/reservations, instance-family commitments, standard vs convertible, or 'all options.' For other SKUs this is a no-op today.
trueOK
Combined average monthly on-demand cost across matched SKUs at each row's covered_quantity, normalized for time-based billing units.
Bad Request
Unauthorized
Forbidden
Not Found
Method not allowed
Conflict
Unprocessable Content
Internal server error
Default error response
GET /beta/v1/org/{org_id}/catalog/skus/offer-comparison?sku_ids=123e4567-e89b-12d3-a456-426614174000 HTTP/1.1
Accept: */*
{
"ondemand_baseline_monthly_cost": 1,
"hypothetical_totals": [
{
"contract_term": "one_year_gris",
"payment_option": "no_upfront",
"commitment_financials_monthly_rate": {
"commitment_cost": {
"total": 1,
"breakdown": {
"cloud_provider_cost": {
"total": 1,
"breakdown": {
"recurring": 1,
"amortized_upfront": 1
}
},
"archera_premium": 1
}
},
"commitment_savings": {
"net": 1,
"gross": 1
},
"covered_ondemand_cost": 1
},
"commitment_upfront_cost": 1,
"delta_vs_ondemand": {
"monthly_net_savings": 1,
"monthly_commitment_cost": 1,
"upfront_cost": 1
},
"skus": [
{
"sku_id": "123e4567-e89b-12d3-a456-426614174000",
"actual_term": "one_year_gris",
"actual_payment_option": "no_upfront",
"actual_commitment_type": "text",
"actual_term_reason": "exact_match"
}
]
}
],
"data": [
{
"sku_id": "123e4567-e89b-12d3-a456-426614174000",
"quantity": 1,
"covered_quantity": 1,
"ondemand_baseline": {
"monthly_cost": 1,
"ondemand_usage_unit": "text",
"ondemand_usage_price": 1
},
"candidates": [
{
"offer_id": "123e4567-e89b-12d3-a456-426614174000",
"offer_org_id": "text",
"offer": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"provider": "aws",
"type": "text",
"region": "text",
"duration_seconds": 1,
"instance_type": "text",
"instance_family": "text",
"offering_class": "standard",
"payment_option": "no_upfront",
"plan_type": "text",
"product_description": "text",
"display_name": "text",
"guaranteed_display_name": "text",
"is_flexible": true
},
"lease_menu_item_id": "123e4567-e89b-12d3-a456-426614174000",
"selected_amount": 1,
"commitment_type": "text",
"contract_term": "one_year_gris",
"payment_option": "no_upfront",
"discount_rate": 1,
"breakeven_days": 1,
"commitment_upfront_cost": 1,
"commitment_financials_monthly_rate": {
"commitment_cost": {
"total": 1,
"breakdown": {
"cloud_provider_cost": {
"total": 1,
"breakdown": {
"recurring": 1,
"amortized_upfront": 1
}
},
"archera_premium": 1
}
},
"commitment_savings": {
"net": 1,
"gross": 1
},
"covered_ondemand_cost": 1
}
}
],
"targets": [
{
"contract_term": "one_year_gris",
"payment_option": "no_upfront",
"actual_term": "one_year_gris",
"actual_payment_option": "no_upfront",
"actual_commitment_type": "text",
"actual_term_reason": "exact_match",
"candidate": {
"offer_id": "123e4567-e89b-12d3-a456-426614174000",
"offer_org_id": "text",
"offer": {
"id": "123e4567-e89b-12d3-a456-426614174000",
"provider": "aws",
"type": "text",
"region": "text",
"duration_seconds": 1,
"instance_type": "text",
"instance_family": "text",
"offering_class": "standard",
"payment_option": "no_upfront",
"plan_type": "text",
"product_description": "text",
"display_name": "text",
"guaranteed_display_name": "text",
"is_flexible": true
},
"lease_menu_item_id": "123e4567-e89b-12d3-a456-426614174000",
"selected_amount": 1,
"commitment_type": "text",
"contract_term": "one_year_gris",
"payment_option": "no_upfront",
"discount_rate": 1,
"breakeven_days": 1,
"commitment_upfront_cost": 1,
"commitment_financials_monthly_rate": {
"commitment_cost": {
"total": 1,
"breakdown": {
"cloud_provider_cost": {
"total": 1,
"breakdown": {
"recurring": 1,
"amortized_upfront": 1
}
},
"archera_premium": 1
}
},
"commitment_savings": {
"net": 1,
"gross": 1
},
"covered_ondemand_cost": 1
}
},
"commitment_financials_monthly_rate": {
"commitment_cost": {
"total": 1,
"breakdown": {
"cloud_provider_cost": {
"total": 1,
"breakdown": {
"recurring": 1,
"amortized_upfront": 1
}
},
"archera_premium": 1
}
},
"commitment_savings": {
"net": 1,
"gross": 1
},
"covered_ondemand_cost": 1
},
"commitment_upfront_cost": 1,
"delta_vs_ondemand": {
"monthly_net_savings": 1,
"monthly_commitment_cost": 1,
"upfront_cost": 1
}
}
]
}
],
"skipped_skus": [
{
"sku_id": "123e4567-e89b-12d3-a456-426614174000",
"reason": "text"
}
]
}Last updated
Was this helpful?

