{
  "openapi": "3.0.1",
  "info": {
    "title": "Kmart Australia Scraper Lite",
    "description": "Scrape kmart.com.au products and reviews: names, brand, prices, promotions, ratings, reviews, colours, sizes, images, seller, categories, stock, variations and specifications. Search or paste product and category URLs, with sorting and filters.",
    "version": "1.0",
    "x-build-id": "9qQrC1TlVKphLEVg4"
  },
  "servers": [
    {
      "url": "https://api.apify.com/v2"
    }
  ],
  "paths": {
    "/acts/abotapi~kmart-au-scraper-lite/run-sync-get-dataset-items": {
      "post": {
        "operationId": "run-sync-get-dataset-items-abotapi-kmart-au-scraper-lite",
        "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/abotapi~kmart-au-scraper-lite/runs": {
      "post": {
        "operationId": "runs-sync-abotapi-kmart-au-scraper-lite",
        "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/abotapi~kmart-au-scraper-lite/run-sync": {
      "post": {
        "operationId": "run-sync-abotapi-kmart-au-scraper-lite",
        "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": [
          "mode"
        ],
        "properties": {
          "mode": {
            "title": "Mode",
            "enum": [
              "search",
              "url",
              "basket"
            ],
            "type": "string",
            "description": "search = provide search terms. url = paste product, category, or search URLs and walk them. The sort and filter fields further down (sort, brand, colour, category, marketplace, price range) apply in both modes. basket = check the exact size/colour and quantity of each basket line at your selected stores (see Basket check below).",
            "default": "search"
          },
          "searchTerms": {
            "title": "Search terms",
            "type": "array",
            "description": "One or more keywords to search, e.g. towel, air fryer, kids toys. Search mode only.",
            "items": {
              "type": "string"
            }
          },
          "specialsCategory": {
            "title": "Specials / offers collection",
            "enum": [
              "",
              "clearance",
              "catalogue",
              "online-exclusives",
              "weekly-catalogues"
            ],
            "type": "string",
            "description": "Optionally scrape one of Kmart's promotional collections instead of (or alongside) your search terms: Clearance, the current Catalogue, or Online Exclusives. Leave as None to search normally. Was/original price and discount fields are captured on every product when the item is genuinely reduced. Search mode only: in URL mode, paste the collection's own URL instead. Weekly catalogues reads every product in Kmart's current promotional catalogues (the ones on the Catalogue page, with their offer dates); Catalogue is Kmart's small fixed catalogue collection.",
            "default": ""
          },
          "urls": {
            "title": "URLs",
            "type": "array",
            "description": "Paste product, category, or search URLs from kmart.com.au. Multi-URL supported. The sort and filter fields below still apply: to a pasted category, search, or specials collection URL exactly as in Search mode, and the price range plus the marketplace toggle even to a single pasted product URL, because those are checked on each product after it is fetched. Only sort and the brand/colour/category filters have no effect on a single pasted product URL, since it is looked up directly by id. Note that 'Include marketplace products' is off by default, so a pasted product URL for a third-party marketplace item returns nothing until you tick it. Supported shapes: department pages (/toys/, with ?page=N honoured), specials (/catalogue/, /clearance/, /category/online-exclusives/), brand pages (/brand/target/), search, nested category and product pages. Facets ticked on the site and carried in the pasted link (for example ?f.Shops=Kmart&f.Shops=Target) are applied, so you get the same products the page shows for that link. An unsupported or unresolvable URL is skipped with a warning in the log. A bare Kmart product id (for example 43572342, or a clothing style id such as S175824) is accepted in place of a product URL.",
            "default": [
              "https://www.kmart.com.au/toys/",
              "https://www.kmart.com.au/womens/",
              "https://www.kmart.com.au/toys/?page=2",
              "https://www.kmart.com.au/catalogue/",
              "https://www.kmart.com.au/clearance/",
              "https://www.kmart.com.au/brand/target/",
              "https://www.kmart.com.au/search/?searchTerm=towel",
              "https://www.kmart.com.au/product/madison-bath-towel-ocean-42442370/",
              "https://www.kmart.com.au/category/home-and-living/home-decor/",
              "https://www.kmart.com.au/category/online-exclusives/"
            ],
            "items": {
              "type": "string"
            }
          },
          "basketItems": {
            "title": "Basket lines",
            "type": "array",
            "description": "Basket check mode only. One entry per basket line: {\"url\": \"<kmart.com.au product URL>\" (or \"productId\": \"43572342\"), \"colour\": \"Black\", \"size\": \"10\", \"quantity\": 2}. Use \"variantId\" (the variant id or APN) instead of colour and size if you have it. A product sold in one size and colour needs only the url. Up to 50 lines per run, and Max products caps how many are checked (set it to at least your number of lines, or 0); one row per line that could be checked, and the status of every line in the BASKET_SUMMARY record."
          },
          "sortBy": {
            "title": "Sort by",
            "enum": [
              "relevance",
              "popular",
              "newest",
              "price-asc",
              "price-desc"
            ],
            "type": "string",
            "description": "Order of results within each search or specials collection. Applies in Search mode and to a pasted category, search, or specials URL in URL mode. No effect on a single pasted product URL.",
            "default": "relevance"
          },
          "brand": {
            "title": "Brand",
            "type": "string",
            "description": "Filter to one brand (exact facet value, e.g. Anko). Applies in Search mode and to a pasted category, search, or specials URL in URL mode. No effect on a single pasted product URL."
          },
          "colour": {
            "title": "Colour",
            "type": "string",
            "description": "Filter to one colour (exact facet value, e.g. Blue). Applies in Search mode and to a pasted category, search, or specials URL in URL mode. No effect on a single pasted product URL."
          },
          "category": {
            "title": "Category",
            "type": "string",
            "description": "Filter to one category (exact facet value, e.g. Bath Towel). Applies in Search mode and to a pasted category, search, or specials URL in URL mode. No effect on a single pasted product URL."
          },
          "includeMarketplace": {
            "title": "Include marketplace products",
            "type": "boolean",
            "description": "Also keep products sold by third-party marketplace sellers. Listings carry thousands of these extra items, so they are excluded by default: only products from the Kmart, Target and Officeworks ranges are returned. Tick to include marketplace sellers too. This applies in EVERY mode: in Search mode, on a pasted category, search, or specials URL, and also on a single pasted product URL, because each product is re-checked after it is fetched. So while this is left off, pasting the URL of a third-party marketplace product returns no result at all; tick it to scrape marketplace product URLs.",
            "default": false
          },
          "sellers": {
            "title": "Sellers",
            "uniqueItems": true,
            "type": "array",
            "description": "Optional. Only return products sold by these sellers, e.g. Kmart and Target to leave out the Officeworks range. Leave empty to keep the usual choice (Kmart, Target and Officeworks, plus marketplace sellers when Include marketplace products is ticked). When set, this list replaces Include marketplace products: pick Marketplace here to include marketplace sellers. A product sold by several sellers (for example by Kmart and by Officeworks) is one row, returned and billed once, and is kept when ANY of its sellers is picked: only a product none of your picked sellers sells is left out, before anything is looked up or billed for it. Applies in Search mode, to specials, to pasted category, search and specials URLs, and to a single pasted product URL (checked after it is fetched). A pasted listing URL that already carries its own seller filter (f.Seller=...) keeps it. No effect in Basket check. In Incremental mode this does not start a new saved list: products it leaves out are kept aside, with no EXPIRED row and no charge, and are compared as usual if you choose their sellers again.",
            "items": {
              "type": "string",
              "enum": [
                "Kmart",
                "Target",
                "Officeworks",
                "Marketplace"
              ],
              "enumTitles": [
                "Kmart",
                "Target",
                "Officeworks",
                "Marketplace sellers"
              ]
            }
          },
          "minPrice": {
            "title": "Min price (AUD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only keep products at or above this price. Applies in Search mode and to every pasted URL in URL mode, including a single pasted product URL."
          },
          "maxPrice": {
            "title": "Max price (AUD)",
            "minimum": 0,
            "type": "integer",
            "description": "Only keep products at or below this price. Applies in Search mode and to every pasted URL in URL mode, including a single pasted product URL."
          },
          "fetchReviews": {
            "title": "Fetch reviews",
            "type": "boolean",
            "description": "Attach product reviews and review stats to each product.",
            "default": true
          },
          "maxReviews": {
            "title": "Max reviews per product",
            "minimum": 0,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap on reviews captured per product. 0 disables reviews.",
            "default": 20
          },
          "maxItems": {
            "title": "Max products",
            "minimum": 0,
            "type": "integer",
            "description": "Total products to return across all searches or URLs. 0 = unlimited.",
            "default": 20
          },
          "maxPages": {
            "title": "Max pages per search",
            "minimum": 0,
            "type": "integer",
            "description": "Safety cap on result pages per search term. Set 0 to include all available pages, subject to Max products.",
            "default": 0
          },
          "storePostcodes": {
            "title": "Store postcodes",
            "maxItems": 5,
            "type": "array",
            "description": "Australian 4-digit postcodes, e.g. 4209. Up to 5. When set, store lookups consume additional platform usage; there is no enrichment event fee. Leave empty to skip store availability (no store lookups).",
            "items": {
              "type": "string"
            }
          },
          "storeNames": {
            "title": "Store names",
            "maxItems": 10,
            "type": "array",
            "description": "Optional. Pick the exact Kmart stores to monitor, e.g. Coomera, Oxenford, Helensvale (or a store id). Up to 10. Instead of postcodes, the actor finds each store's area itself and reports only these stores: store name, address, stock level and whether it is in stock, plus Click & Collect availability with exact units where Kmart reports them for the store (its 3 nearest Click & Collect stores). In incremental mode only these stores can return an UPDATED row. Use either Store names or Store postcodes, not both. Store lookups consume additional platform usage; there is no enrichment event fee.",
            "items": {
              "type": "string"
            }
          },
          "includeClickAndCollect": {
            "title": "Include Click & Collect and exact units",
            "type": "boolean",
            "description": "Only used with Store postcodes. On: also checks Click & Collect availability and the exact number of units at Kmart's 3 nearest Click & Collect stores, one extra lookup per variant per postcode (slower on products with many sizes). Consumes additional platform usage; no enrichment event fee. Off: in-store stock level for the 5 nearest stores only.",
            "default": true
          },
          "trackStates": {
            "title": "Tracked states",
            "type": "array",
            "description": "Optional. Pick the states you care about, e.g. QLD. Adds inStockInSelectedStates to each product and variant (true when Kmart does not flag the item out of stock in any selected state). In incremental mode, only these states' flags in outOfStockStates count as a change, and the national roll-ups (inStock per variant, inStockNationally) are not compared, so a stock change in another state never returns an UPDATED row. Kmart's state flags describe online delivery stock for the whole state, not a particular store: use Store postcodes for store stock.",
            "items": {
              "type": "string",
              "enum": [
                "NSW",
                "VIC",
                "QLD",
                "WA",
                "SA",
                "TAS",
                "ACT",
                "NT"
              ],
              "enumTitles": [
                "New South Wales",
                "Victoria",
                "Queensland",
                "Western Australia",
                "South Australia",
                "Tasmania",
                "Australian Capital Territory",
                "Northern Territory"
              ]
            }
          },
          "verifyOnlineDelivery": {
            "title": "Check online delivery live (Tracked states)",
            "type": "boolean",
            "description": "Optional, off by default. Kmart's per-state flag in its product listings does not always match whether Kmart will deliver right now (a product can show \"sold out online\" or \"Click and collect only\" while the flag still lists the state as available). Turn this on to ask Kmart's own delivery check, the one the product page uses, for every colour/size and every Tracked state; inStockInSelectedStates then follows that answer and each variant gets onlineDelivery per state. Needs at least one Tracked state. One extra lookup per size and state, so runs take longer; these lookups consume additional platform usage, with no enrichment event fee. In Incremental mode a delivery change returns an UPDATED row.",
            "default": false
          },
          "deliveryPostcode": {
            "title": "Delivery postcode (optional, one Tracked state)",
            "pattern": "^[0-9]{4}$",
            "type": "string",
            "description": "Optional. With Check online delivery live in Search or URL mode, replaces the capital-city postcode for exactly one Tracked state. For QLD home delivery to 4209, enter \"4209\" and select only QLD. Blank keeps the existing capital-city checks. Uses the same one lookup per variant and state; does not enable store or Click & Collect lookups. Keep the same State key: changed answers are returned through deliveryChanges without restarting price history."
          },
          "returnDeliveryAnswers": {
            "title": "Return verified delivery answers once (needs Incremental mode and the live check)",
            "type": "boolean",
            "description": "One-off, off by default. Every scanned product is returned as an UPDATED row (short when Compact updates is on, the full row otherwise) listing its verified delivery answer per size and state (deliveryChanges, reconciled: true), whatever the saved history says. Use it once on a task whose saved state already holds delivery answers you never received, then turn it off. Needs Incremental mode and \"Check online delivery live\". Charged like any returned row plus the delivery check units.",
            "default": false
          },
          "proxy": {
            "title": "Proxy",
            "type": "object",
            "description": "Apify Proxy is used by default and works on every plan. Leave it enabled for reliable results.",
            "default": {
              "useApifyProxy": true
            }
          },
          "resumeFromRunId": {
            "title": "Resume from a previous run (delta)",
            "type": "string",
            "description": "Optional. ID of a previous run of this actor (or a dataset ID). Products already in that dataset are skipped, so this run returns only NEW products (a delta). Combine both runs' datasets for the full set. Max products then counts only the new products. For recurring daily monitoring of the same search, use Incremental mode below instead."
          },
          "incrementalMode": {
            "title": "Incremental mode (recurring monitoring)",
            "type": "boolean",
            "description": "Turn this on for daily or recurring monitoring. The first run returns all matching products as NEW. Later runs compare every product against the last run (price, was/now pricing and promos, stock including each colour/size variant, brand, colour, size, seller, images, and Kmart's own product description) and return only NEW, UPDATED, and REAPPEARED products, with an UPDATED row's changedFields naming exactly what moved. Reviews, review stats, the average rating, and Kmart's merchandising group ids are never compared, since those change on their own with no real product change. Turn on \"Emit unchanged\" or \"Emit expired\" only when you also want those products returned . State is kept separately for each search/URL/filter setup; use State key when you want to name or deliberately share a monitoring campaign. To continue one specific interrupted run instead, use Resume from a previous run above.",
            "default": false
          },
          "stateKey": {
            "title": "State key (optional, incremental mode only)",
            "type": "string",
            "description": "Optional. Name this monitoring campaign to keep its state stable, or to deliberately share state across differently-configured runs. Leave empty to let the actor derive a key automatically from the search/URL and filter settings; different setups then never mix state with each other."
          },
          "baselineDatasetId": {
            "title": "Start from an existing dataset (optional, incremental mode only)",
            "type": "string",
            "description": "Optional. Pick the dataset of an earlier full run of this Actor to use as your starting point, so your first incremental run returns only products that changed since then instead of the whole catalogue again. Pick the dataset unedited: it must be this Actor's own product output. Only used on the first run for a state key; ignored once that state key already tracks products. Cannot be combined with Resume from a previous run. If the dataset is old, everything that changed since is returned as UPDATED or NEW."
          },
          "earlierHistoryStoreId": {
            "title": "Continue from the Kmart Australia Scraper's history (optional, incremental mode only)",
            "type": "string",
            "description": "Optional. Pick the saved-history store of the Kmart Australia Scraper (named kmart-com-au-incremental-state) so your first Lite run for a State key, or for the same search settings, continues from the history that scraper already tracked, instead of returning the whole catalogue as NEW. The store is only read, never changed. Only used on the first run for a state key; ignored once that state key already tracks products, or when Start from an existing dataset or Resume is set."
          },
          "emitUnchanged": {
            "title": "Emit unchanged products (incremental mode only)",
            "type": "boolean",
            "description": "Off by default. Turn on to also return products that have not changed since the last run, marked UNCHANGED. This returns extra rows you already have, so leave it off unless you specifically want the full snapshot every run.",
            "default": false
          },
          "emitExpired": {
            "title": "Emit expired products (incremental mode only)",
            "type": "boolean",
            "description": "Off by default. Turn on to also return products that were present in a previous run but are no longer found, marked EXPIRED. Only produced after a complete scan of the tracked search or URLs, not when Max products or Max pages capped it or when Resume was used. This returns extra synthetic rows, so leave it off unless you need expiry tracking.",
            "default": false
          },
          "changeScope": {
            "title": "What counts as a change (incremental mode only)",
            "enum": [
              "all",
              "priceAndStock",
              "priceAndLocalStock",
              "sellingPriceAndStock"
            ],
            "type": "string",
            "description": "All fields (default): any change to the product record, except the always-ignored review fields, returns an UPDATED row. Price and availability only: only price changes (including each variant's price) and stock changes (national and per variant, limited to Tracked states when you pick some) return an UPDATED row; changes to descriptions, images, badges, shipping or other details never do. Price and local store availability: only price changes (including each variant's price) and in-stock or Click & Collect changes at the stores near your Store postcodes return an UPDATED row; Kmart's per-state and national stock flags are not compared (needs Store postcodes). Selling price and availability only: like Price and availability only, but a price change counts only when the selling price (currentPrice, for the product or a variant) moves; Kmart's scheduled or expired promotion entries, was prices and savings never return a row on their own. Changing this option, Tracked states or Fetch reviews on a search with no State key continues from that search's saved baseline instead of starting over. In every option, a store or Click & Collect availability change at your selected stores returns an UPDATED row when Store postcodes is set; unit counts and stock levels alone never do.",
            "default": "all"
          },
          "compactUpdates": {
            "title": "Compact update rows (incremental mode only)",
            "type": "boolean",
            "description": "Off by default. When on, UPDATED rows (and EXPIRED rows) are short: product id, url, name, current price and stock, plus priceChanges and variantChanges showing the old and new value of each moved price or stock field per variant. NEW rows always carry the complete product record. Review text is not included in compact rows and consumes no review event fee.",
            "default": false
          },
          "expireAfterMissedScans": {
            "title": "Expire after N missed full scans (incremental mode only)",
            "minimum": 1,
            "maximum": 30,
            "type": "integer",
            "description": "Only used with Emit expired products. A product is marked EXPIRED only after it has been missing from this many full scans in a row (default 1). Raise it (e.g. 3) so a product that briefly drops out of a category listing is not reported as gone. A product that comes back resets the count. Stock status itself is reported through the availability fields, not through EXPIRED.",
            "default": 1
          },
          "ignoreFieldsForChanges": {
            "title": "Ignore fields when detecting changes (incremental mode only)",
            "type": "array",
            "description": "Optional. Field names to exclude from UPDATED change detection, in addition to the built-in handling (reviews, review stats, the average rating and group ids already never trigger a false UPDATED, since those change on their own with no real product change). Use this if another field in your setup turns out to be noisy, e.g. a field that rotates without the product itself changing. To ignore a field inside each variant while still tracking variant prices and stock, use a dotted name such as variations.image (also variations.colour, variations.size, variations.isDefault, variations.apn). Ignoring variations itself would also hide variant price and stock changes.",
            "items": {
              "type": "string"
            }
          },
          "mcpConnectors": {
            "title": "Pipe results into your apps (optional)",
            "type": "array",
            "description": "Optionally send results into the apps you already use, via Model Context Protocol (MCP) connectors. Authorize one under Apify then Settings then API & Integrations, then select it here. Notion gets a page-per-item export; other connectors get a best-effort write. Leave empty to skip. Supported: Notion, Linear, Airtable, Apify."
          },
          "notionParentPageUrl": {
            "title": "Notion parent page (Notion connector only)",
            "type": "string",
            "description": "URL or id of the Notion page under which item pages are created. Required only for the Notion export."
          },
          "maxNotifyListings": {
            "title": "Max items to export per connector",
            "minimum": 1,
            "maximum": 1000,
            "type": "integer",
            "description": "Cap on items written to each connector per run. Does not affect the dataset.",
            "default": 50
          }
        }
      },
      "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "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
                  },
                  "PROXY_UNBLOCKER_UNITS": {
                    "type": "integer",
                    "example": 0
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}