# Azure Retail Price Cost Impact Report (`taroyamada/azure-retail-price-cost-impact-report`) Actor

Monitor official Azure Retail Prices for selected SKUs and regions. Receive source-linked price change alerts, estimated monthly cost impact reports, and exports without Azure authentication.

- **URL**: https://apify.com/taroyamada/azure-retail-price-cost-impact-report.md
- **Developed by:** [naoki anzai](https://apify.com/taroyamada) (community)
- **Categories:** Business, Automation
- **Stats:** 2 total users, 1 monthly users, 100.0% runs succeeded, 0 bookmarks
- **User rating**: No ratings yet

## Pricing

from $6.00 / 1,000 azure price rows

This Actor is paid per event. You are not charged for the Apify platform usage, but only a fixed price for specific events.

Learn more: https://docs.apify.com/platform/actors/running/actors-in-store#pay-per-event

## What's an Apify Actor?

Actors are web data automations that power AI and operations. They run on the Apify platform to scrape websites, process data, connect APIs, and automate workflows.
In Batch mode, an Actor accepts a well-defined JSON input, performs an action which can take anything from a few seconds to a few hours,
and optionally produces a well-defined JSON output, datasets with results, or files in key-value store.
In Standby mode, an Actor provides a web server which can be used as a website, API, or an MCP server.
Actors are written with capital "A".

## How to integrate an Actor?

If asked about integration, you help developers integrate Actors into their projects.
You adapt to their stack and deliver integrations that are safe, well-documented, and production-ready.
The best way to integrate Actors is as follows.

In JavaScript/TypeScript projects, use official [JavaScript/TypeScript client](https://docs.apify.com/api/client/js/docs.md):

```bash
npm install apify-client
```

In Python projects, use official [Python client library](https://docs.apify.com/api/client/python/docs.md):

```bash
pip install apify-client
```

In shell scripts, use [Apify CLI](https://docs.apify.com/cli/docs.md):

````bash
# MacOS / Linux
curl -fsSL https://apify.com/install-cli.sh | bash
# Windows
irm https://apify.com/install-cli.ps1 | iex
```bash

In AI frameworks, you might use the [Apify MCP server](https://docs.apify.com/integrations/mcp.md).

If your project is in a different language, use the [REST API](https://docs.apify.com/api/v2.md).

For usage examples, see the [API](#api) section below.

For more details, see Apify documentation as [Markdown index](https://docs.apify.com/llms.txt) and [Markdown full-text](https://docs.apify.com/llms-full.txt).


# README

## Azure Retail Price Cost Impact Report

FinOps and cloud architecture teams enter Azure service, region, SKU or meter, and a monthly usage quantity.
The Actor reads the unauthenticated Azure Retail Prices API and compares the current snapshot with an isolated saved baseline.
It returns source-linked price-change alerts, estimated monthly cost impact reports, and optional exports; baseline and unchanged checks emit zero rows and zero charges.

### Store Quickstart

Run the first scheduled check with `baseline_only`. It saves the selected public price meter without delivering rows or charging PPE.

```json
{
  "scopes": [
    {
      "id": "eastus-b2s-linux",
      "label": "East US B2s Linux",
      "serviceName": "Virtual Machines",
      "armRegionName": "eastus",
      "armSkuName": "Standard_B2s",
      "meterName": "B2s",
      "productName": "Virtual Machines BS Series",
      "priceType": "Consumption",
      "usageQuantity": 730,
      "usageUnit": "1 Hour",
      "allowMultipleMatches": false
    }
  ],
  "monitorKey": "azure-finops-b2s-watch",
  "initialRunMode": "baseline_only",
  "generateReport": true,
  "emitRawRows": false,
  "emitExport": false,
  "emitUnchanged": false,
  "maxChargeUsd": 25,
  "dryRun": false
}
````

After the baseline, run the same input on a schedule. When a selected meter price changes, the Actor delivers the previous price, current price, previous estimated monthly cost, current estimated monthly cost, delta, and official source URL.
An unchanged run always delivers zero dataset rows and zero PPE charges, even if `emitUnchanged` is true.

### Run the next report

Use `emit_current` for an explicit first report. It charges for the current matching price change rows and report because no prior baseline exists; previous cost is `null` until a prior successful snapshot exists.

```json
{
  "scopes": [
    {
      "id": "japaneast-blob-hot",
      "label": "Japan East Blob Hot storage",
      "serviceName": "Storage",
      "armRegionName": "japaneast",
      "meterName": "Hot LRS Data Stored",
      "productName": "Blob Storage",
      "priceType": "Consumption",
      "usageQuantity": 1024,
      "usageUnit": "1 GB/Month"
    }
  ],
  "monitorKey": "storage-hot-watch",
  "initialRunMode": "emit_current",
  "generateReport": true,
  "emitRawRows": false,
  "emitExport": true,
  "maxChargeUsd": 25,
  "dryRun": false
}
```

### Input examples

#### Exact meter ID watch

```json
{
  "scopes": [
    {
      "id": "meter-id-watch",
      "serviceName": "Virtual Machines",
      "armRegionName": "eastus",
      "meterId": "00000000-0000-0000-0000-000000000000",
      "priceType": "Consumption",
      "usageQuantity": 730,
      "usageUnit": "1 Hour"
    }
  ],
  "monitorKey": "exact-meter-watch",
  "initialRunMode": "baseline_only",
  "generateReport": true,
  "maxChargeUsd": 25,
  "dryRun": false
}
```

#### Reservation term watch

```json
{
  "scopes": [
    {
      "id": "vm-one-year-reservation",
      "serviceName": "Virtual Machines",
      "armRegionName": "eastus",
      "armSkuName": "Standard_B2s",
      "meterName": "B2s",
      "productName": "Virtual Machines BS Series",
      "priceType": "Reservation",
      "reservationTerm": "1 Year",
      "usageQuantity": 730,
      "usageUnit": "1 Hour"
    }
  ],
  "monitorKey": "reservation-watch",
  "initialRunMode": "baseline_only",
  "generateReport": true,
  "maxPagesPerScope": 2,
  "maxItemsPerScope": 10,
  "maxChargeUsd": 25,
  "dryRun": false
}
```

The API filter is exact and case-sensitive for the preview version. If a scope matches multiple distinct meters, the Actor stops by default rather than applying one usage quantity to an ambiguous set. Add a stronger selector such as `meterId`, `productName`, `skuId`, or set `allowMultipleMatches: true` only when applying the same quantity to multiple meters is intentional.

### Output and pricing

See [`docs/sample-output.json`](docs/sample-output.json) for representative alert, report, and export rows. Current and previous values are linked to the official API URL, and monthly values are estimates based on the supplied usage quantity.

| Event | Price | Delivered when |
|---|---:|---|
| `azure-price-row` | $0.006 | Optional normalized current public price row |
| `azure-price-change-alert` | $0.20 | A new, changed, or removed selected price meter is detected |
| `azure-cost-impact-report` | $10.00 | Selected changes are summarized into a monthly cost-impact report |
| `azure-price-export` | $6.00 | Selected changes are packaged into a source-linked JSON export |

There is no start charge. The Actor estimates all configured event charges before the first push and stops if they exceed `maxChargeUsd`. State is committed only after successful delivery. Unknown billing events, failed state writes, missing `chargedCount`, and charge-limit responses fail closed.

### Data source and safeguards

- Source: [Azure Retail Prices REST API](https://learn.microsoft.com/en-us/rest/api/cost-management/retail-prices/azure-retail-prices), endpoint `https://prices.azure.com/api/retail/prices`.
- No Azure subscription, login, API key, or tenant permission is required for this public endpoint.
- USD is requested explicitly. Non-USD or malformed price rows are rejected.
- The API request is bounded by `maxPagesPerScope`; matching items are bounded by `maxItemsPerScope`.
- Only HTTPS requests to `prices.azure.com` under `/api/retail/prices` are accepted.
- Public retail prices do not include your agreement, discount, credit, tax, free tier, or account-level usage context.
- This Actor is not affiliated with or endorsed by Microsoft or Azure and does not provide procurement, financial, legal, or architecture advice.

### See also

- [AWS Cloud Pricing Cost Impact Report](https://apify.com/taroyamada/aws-cloud-pricing-cost-impact-report) for the corresponding official AWS public-price workflow.
- [AI API Pricing & Model Lifecycle Report](https://apify.com/taroyamada/ai-api-pricing-model-lifecycle-report) for public model price and lifecycle comparisons.

### Development

```text
npm test
npm start
```

# Actor input Schema

## `scopes` (type: `array`):

A bounded selection. Include serviceName, armRegionName, and at least one exact SKU, meter, product, or ID selector.

## `monitorKey` (type: `string`):

Stable state namespace for a recurring watch.

## `initialRunMode` (type: `string`):

Store a free baseline or explicitly emit current matched prices and a report.

## `generateReport` (type: `boolean`):

Generate an aggregate monthly cost-impact report when current or changed meters are emitted.

## `emitRawRows` (type: `boolean`):

Emit normalized public Azure meter rows in addition to value-event outputs.

## `emitExport` (type: `boolean`):

Generate a compact JSON-ready export when current or changed meters are emitted.

## `emitUnchanged` (type: `boolean`):

Accepted for compatibility; unchanged runs remain zero rows and zero charge for billing safety.

## `maxPagesPerScope` (type: `integer`):

Bound the number of official API pages fetched for each scope.

## `maxItemsPerScope` (type: `integer`):

Bound the number of exact matched price meters retained for each scope.

## `maxChargeUsd` (type: `number`):

Fail closed before delivery if configured PPE charges exceed this cap.

## `dryRun` (type: `boolean`):

Return representative rows without Azure requests, state writes, or PPE charges.

## Actor input object example

```json
{
  "scopes": [
    {
      "id": "eastus-b2s-linux",
      "label": "B2s Linux example",
      "serviceName": "Virtual Machines",
      "armRegionName": "eastus",
      "armSkuName": "Standard_B2s",
      "meterName": "B2s",
      "productName": "Virtual Machines BS Series",
      "priceType": "Consumption",
      "usageQuantity": 730,
      "usageUnit": "1 Hour",
      "allowMultipleMatches": false
    }
  ],
  "monitorKey": "azure-retail-price-watch",
  "initialRunMode": "baseline_only",
  "generateReport": true,
  "emitRawRows": false,
  "emitExport": false,
  "emitUnchanged": false,
  "maxPagesPerScope": 2,
  "maxItemsPerScope": 20,
  "maxChargeUsd": 25,
  "dryRun": false
}
```

# Actor output Schema

## `results` (type: `string`):

Rows written to the run default dataset.

# API

You can run this Actor programmatically using our API. Below are code examples in JavaScript, Python, and CLI, as well as the OpenAPI specification and MCP server setup.

## JavaScript example

```javascript
import { ApifyClient } from 'apify-client';

// Initialize the ApifyClient with your Apify API token
// Replace the '<YOUR_API_TOKEN>' with your token
const client = new ApifyClient({
    token: '<YOUR_API_TOKEN>',
});

// Prepare Actor input
const input = {
    "scopes": [
        {
            "id": "eastus-b2s-linux",
            "label": "B2s Linux example",
            "serviceName": "Virtual Machines",
            "armRegionName": "eastus",
            "armSkuName": "Standard_B2s",
            "meterName": "B2s",
            "productName": "Virtual Machines BS Series",
            "priceType": "Consumption",
            "usageQuantity": 730,
            "usageUnit": "1 Hour",
            "allowMultipleMatches": false
        }
    ]
};

// Run the Actor and wait for it to finish
const run = await client.actor("taroyamada/azure-retail-price-cost-impact-report").call(input);

// Fetch and print Actor results from the run's dataset (if any)
console.log('Results from dataset');
console.log(`💾 Check your data here: https://console.apify.com/storage/datasets/${run.defaultDatasetId}`);
const { items } = await client.dataset(run.defaultDatasetId).listItems();
items.forEach((item) => {
    console.dir(item);
});

// 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/js/docs

```

## Python example

```python
from apify_client import ApifyClient

# Initialize the ApifyClient with your Apify API token
# Replace '<YOUR_API_TOKEN>' with your token.
client = ApifyClient("<YOUR_API_TOKEN>")

# Prepare the Actor input
run_input = { "scopes": [{
            "id": "eastus-b2s-linux",
            "label": "B2s Linux example",
            "serviceName": "Virtual Machines",
            "armRegionName": "eastus",
            "armSkuName": "Standard_B2s",
            "meterName": "B2s",
            "productName": "Virtual Machines BS Series",
            "priceType": "Consumption",
            "usageQuantity": 730,
            "usageUnit": "1 Hour",
            "allowMultipleMatches": False,
        }] }

# Run the Actor and wait for it to finish
run = client.actor("taroyamada/azure-retail-price-cost-impact-report").call(run_input=run_input)

# Fetch and print Actor results from the run's dataset (if there are any)
print("💾 Check your data here: https://console.apify.com/storage/datasets/" + run["defaultDatasetId"])
for item in client.dataset(run["defaultDatasetId"]).iterate_items():
    print(item)

# 📚 Want to learn more 📖? Go to → https://docs.apify.com/api/client/python/docs/quick-start

```

## CLI example

```bash
echo '{
  "scopes": [
    {
      "id": "eastus-b2s-linux",
      "label": "B2s Linux example",
      "serviceName": "Virtual Machines",
      "armRegionName": "eastus",
      "armSkuName": "Standard_B2s",
      "meterName": "B2s",
      "productName": "Virtual Machines BS Series",
      "priceType": "Consumption",
      "usageQuantity": 730,
      "usageUnit": "1 Hour",
      "allowMultipleMatches": false
    }
  ]
}' |
apify call taroyamada/azure-retail-price-cost-impact-report --silent --output-dataset

```

## MCP server setup

```json
{
    "mcpServers": {
        "apify": {
            "command": "npx",
            "args": [
                "mcp-remote",
                "https://mcp.apify.com/?tools=taroyamada/azure-retail-price-cost-impact-report",
                "--header",
                "Authorization: Bearer <YOUR_API_TOKEN>"
            ]
        }
    }
}

```

## OpenAPI specification

```json
{
    "openapi": "3.0.1",
    "info": {
        "title": "Azure Retail Price Cost Impact Report",
        "description": "Monitor official Azure Retail Prices for selected SKUs and regions. Receive source-linked price change alerts, estimated monthly cost impact reports, and exports without Azure authentication.",
        "version": "0.1",
        "x-build-id": "FIdCjw5qIxATZH1CH"
    },
    "servers": [
        {
            "url": "https://api.apify.com/v2"
        }
    ],
    "paths": {
        "/acts/taroyamada~azure-retail-price-cost-impact-report/run-sync-get-dataset-items": {
            "post": {
                "operationId": "run-sync-get-dataset-items-taroyamada-azure-retail-price-cost-impact-report",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for its completion, and returns Actor's dataset items in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        },
        "/acts/taroyamada~azure-retail-price-cost-impact-report/runs": {
            "post": {
                "operationId": "runs-sync-taroyamada-azure-retail-price-cost-impact-report",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor and returns information about the initiated run in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/runsResponseSchema"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/acts/taroyamada~azure-retail-price-cost-impact-report/run-sync": {
            "post": {
                "operationId": "run-sync-taroyamada-azure-retail-price-cost-impact-report",
                "x-openai-isConsequential": false,
                "summary": "Executes an Actor, waits for completion, and returns the OUTPUT from Key-value store in response.",
                "tags": [
                    "Run Actor"
                ],
                "requestBody": {
                    "required": true,
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/inputSchema"
                            }
                        }
                    }
                },
                "parameters": [
                    {
                        "name": "token",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "description": "Enter your Apify token here"
                    }
                ],
                "responses": {
                    "200": {
                        "description": "OK"
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "inputSchema": {
                "type": "object",
                "required": [
                    "scopes"
                ],
                "properties": {
                    "scopes": {
                        "title": "Azure price scopes",
                        "minItems": 1,
                        "maxItems": 25,
                        "type": "array",
                        "description": "A bounded selection. Include serviceName, armRegionName, and at least one exact SKU, meter, product, or ID selector.",
                        "items": {
                            "type": "object",
                            "properties": {
                                "id": {
                                    "title": "Scope ID",
                                    "type": "string",
                                    "description": "Stable identifier for this recurring watch."
                                },
                                "label": {
                                    "title": "Scope label",
                                    "type": "string",
                                    "description": "Human-readable label for reports."
                                },
                                "serviceName": {
                                    "title": "Azure service",
                                    "type": "string",
                                    "description": "Exact Azure Retail Prices serviceName, for example Virtual Machines."
                                },
                                "armRegionName": {
                                    "title": "ARM region",
                                    "type": "string",
                                    "description": "Exact ARM region name, for example eastus or japaneast."
                                },
                                "armSkuName": {
                                    "title": "ARM SKU",
                                    "type": "string",
                                    "description": "Exact armSkuName when available, for example Standard_B2s."
                                },
                                "skuName": {
                                    "title": "Meter SKU name",
                                    "type": "string",
                                    "description": "Exact API skuName selector."
                                },
                                "meterName": {
                                    "title": "Meter name",
                                    "type": "string",
                                    "description": "Exact API meterName selector."
                                },
                                "meterId": {
                                    "title": "Meter ID",
                                    "type": "string",
                                    "description": "Exact Azure meterId selector; strongest selector."
                                },
                                "productName": {
                                    "title": "Product name",
                                    "type": "string",
                                    "description": "Exact API productName selector."
                                },
                                "productId": {
                                    "title": "Product ID",
                                    "type": "string",
                                    "description": "Exact Azure productId selector."
                                },
                                "skuId": {
                                    "title": "SKU ID",
                                    "type": "string",
                                    "description": "Exact Azure skuId selector."
                                },
                                "serviceFamily": {
                                    "title": "Service family",
                                    "type": "string",
                                    "description": "Optional exact serviceFamily selector."
                                },
                                "priceType": {
                                    "title": "Price type",
                                    "description": "Exact Azure Retail Prices price type to include.",
                                    "type": "string",
                                    "enum": [
                                        "Consumption",
                                        "Reservation"
                                    ],
                                    "default": "Consumption"
                                },
                                "reservationTerm": {
                                    "title": "Reservation term",
                                    "type": "string",
                                    "description": "Optional exact term such as 1 Year or 3 Years."
                                },
                                "usageQuantity": {
                                    "title": "Monthly usage quantity",
                                    "type": "number",
                                    "minimum": 0.000001,
                                    "maximum": 1000000000000,
                                    "description": "Monthly quantity in the returned unitOfMeasure. For 1 Hour, enter estimated monthly hours."
                                },
                                "usageUnit": {
                                    "title": "Expected unit",
                                    "type": "string",
                                    "description": "Optional exact unitOfMeasure expected from the API; mismatches fail closed."
                                },
                                "allowMultipleMatches": {
                                    "title": "Allow multiple price meters",
                                    "type": "boolean",
                                    "default": false,
                                    "description": "Off by default to prevent applying one usage estimate to multiple ambiguous meters."
                                }
                            },
                            "required": [
                                "serviceName",
                                "armRegionName",
                                "usageQuantity"
                            ],
                            "additionalProperties": false
                        },
                        "default": []
                    },
                    "monitorKey": {
                        "title": "Monitor key",
                        "type": "string",
                        "description": "Stable state namespace for a recurring watch.",
                        "default": "azure-retail-price-watch"
                    },
                    "initialRunMode": {
                        "title": "Initial run mode",
                        "enum": [
                            "baseline_only",
                            "emit_current"
                        ],
                        "type": "string",
                        "description": "Store a free baseline or explicitly emit current matched prices and a report.",
                        "default": "baseline_only"
                    },
                    "generateReport": {
                        "title": "Generate cost impact report",
                        "type": "boolean",
                        "description": "Generate an aggregate monthly cost-impact report when current or changed meters are emitted.",
                        "default": true
                    },
                    "emitRawRows": {
                        "title": "Emit raw price rows",
                        "type": "boolean",
                        "description": "Emit normalized public Azure meter rows in addition to value-event outputs.",
                        "default": false
                    },
                    "emitExport": {
                        "title": "Generate price export",
                        "type": "boolean",
                        "description": "Generate a compact JSON-ready export when current or changed meters are emitted.",
                        "default": false
                    },
                    "emitUnchanged": {
                        "title": "Emit unchanged rows",
                        "type": "boolean",
                        "description": "Accepted for compatibility; unchanged runs remain zero rows and zero charge for billing safety.",
                        "default": false
                    },
                    "maxPagesPerScope": {
                        "title": "Maximum API pages per scope",
                        "minimum": 1,
                        "maximum": 5,
                        "type": "integer",
                        "description": "Bound the number of official API pages fetched for each scope.",
                        "default": 2
                    },
                    "maxItemsPerScope": {
                        "title": "Maximum matching meters per scope",
                        "minimum": 1,
                        "maximum": 100,
                        "type": "integer",
                        "description": "Bound the number of exact matched price meters retained for each scope.",
                        "default": 20
                    },
                    "maxChargeUsd": {
                        "title": "Maximum charge USD",
                        "minimum": 0.006,
                        "maximum": 250,
                        "type": "number",
                        "description": "Fail closed before delivery if configured PPE charges exceed this cap.",
                        "default": 25
                    },
                    "dryRun": {
                        "title": "Dry run",
                        "type": "boolean",
                        "description": "Return representative rows without Azure requests, state writes, or PPE charges.",
                        "default": false
                    }
                }
            },
            "runsResponseSchema": {
                "type": "object",
                "properties": {
                    "data": {
                        "type": "object",
                        "properties": {
                            "id": {
                                "type": "string"
                            },
                            "actId": {
                                "type": "string"
                            },
                            "userId": {
                                "type": "string"
                            },
                            "startedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "finishedAt": {
                                "type": "string",
                                "format": "date-time",
                                "example": "2025-01-08T00:00:00.000Z"
                            },
                            "status": {
                                "type": "string",
                                "example": "READY"
                            },
                            "meta": {
                                "type": "object",
                                "properties": {
                                    "origin": {
                                        "type": "string",
                                        "example": "API"
                                    },
                                    "userAgent": {
                                        "type": "string"
                                    }
                                }
                            },
                            "stats": {
                                "type": "object",
                                "properties": {
                                    "inputBodyLen": {
                                        "type": "integer",
                                        "example": 2000
                                    },
                                    "rebootCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "restartCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "resurrectCount": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "computeUnits": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "options": {
                                "type": "object",
                                "properties": {
                                    "build": {
                                        "type": "string",
                                        "example": "latest"
                                    },
                                    "timeoutSecs": {
                                        "type": "integer",
                                        "example": 300
                                    },
                                    "memoryMbytes": {
                                        "type": "integer",
                                        "example": 1024
                                    },
                                    "diskMbytes": {
                                        "type": "integer",
                                        "example": 2048
                                    }
                                }
                            },
                            "buildId": {
                                "type": "string"
                            },
                            "defaultKeyValueStoreId": {
                                "type": "string"
                            },
                            "defaultDatasetId": {
                                "type": "string"
                            },
                            "defaultRequestQueueId": {
                                "type": "string"
                            },
                            "buildNumber": {
                                "type": "string",
                                "example": "1.0.0"
                            },
                            "containerUrl": {
                                "type": "string"
                            },
                            "usage": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "integer",
                                        "example": 1
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            },
                            "usageTotalUsd": {
                                "type": "number",
                                "example": 0.00005
                            },
                            "usageUsd": {
                                "type": "object",
                                "properties": {
                                    "ACTOR_COMPUTE_UNITS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATASET_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "KEY_VALUE_STORE_WRITES": {
                                        "type": "number",
                                        "example": 0.00005
                                    },
                                    "KEY_VALUE_STORE_LISTS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_READS": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "REQUEST_QUEUE_WRITES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_INTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "DATA_TRANSFER_EXTERNAL_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_RESIDENTIAL_TRANSFER_GBYTES": {
                                        "type": "integer",
                                        "example": 0
                                    },
                                    "PROXY_SERPS": {
                                        "type": "integer",
                                        "example": 0
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
    }
}
```
