{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/appfigures-com/json-schema/appfigures-com-get-reports-sales-response-schema.json",
  "title": "GetReportsSalesResponse",
  "x-generated": "2026-11-01",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_ae-authored/appfigures-com-openapi-generated.yml#/components/schemas/GetReportsSalesResponse",
  "type": "object",
  "properties": {
    "downloads": {
      "type": "integer",
      "description": "Total number of downloads."
    },
    "net_downloads": {
      "type": "integer",
      "description": "Downloads minus returns."
    },
    "app_downloads": {
      "type": "integer",
      "description": "Downloads for the app, not including in‑app purchases."
    },
    "re_downloads": {
      "type": "integer",
      "description": "Reinstalls or subsequent installs."
    },
    "updates": {
      "type": "integer",
      "description": "Number of updates."
    },
    "revenue": {
      "type": "number",
      "description": "Total revenue after store fee."
    },
    "app_revenue": {
      "type": "number",
      "description": "Revenue from app sales only."
    },
    "gross_revenue": {
      "type": "number",
      "description": "Revenue before store fee."
    },
    "gross_app_revenue": {
      "type": "number",
      "description": "App sales revenue before store fee."
    },
    "returns": {
      "type": "integer",
      "description": "Number of returns."
    },
    "app_returns": {
      "type": "integer",
      "description": "Returns for apps only."
    },
    "gifts": {
      "type": "integer",
      "description": "Number of gifts."
    },
    "gift_redemptions": {
      "type": "integer",
      "description": "Number of gifted items redeemed."
    },
    "promos": {
      "type": "integer",
      "description": "Number of promo codes used."
    },
    "edu_downloads": {
      "type": "integer",
      "description": "Educational downloads."
    },
    "returns_amount": {
      "type": "number",
      "description": "Refund amount after store fee."
    },
    "app_returns_amount": {
      "type": "number",
      "description": "Refund amount for app sales after store fee."
    },
    "gross_returns_amount": {
      "type": "number",
      "description": "Refund amount before store fee."
    },
    "gross_app_returns_amount": {
      "type": "number",
      "description": "Refund amount for app sales before store fee."
    },
    "edu_revenue": {
      "type": "number",
      "description": "Revenue from educational sales after store fee."
    },
    "gross_edu_revenue": {
      "type": "number",
      "description": "Revenue from educational sales before store fee."
    },
    "uninstalls": {
      "type": "integer",
      "description": "Number of uninstalls."
    },
    "business_downloads": {
      "type": "integer",
      "description": "Downloads via Volume Purchase for Business."
    },
    "business_revenue": {
      "type": "number",
      "description": "Revenue from Business program (no store fee)."
    },
    "gross_business_revenue": {
      "type": "number",
      "description": "Revenue from Business program (including store fee)."
    },
    "standard_downloads": {
      "type": "integer",
      "description": "Standard downloads (store only)."
    },
    "standard_revenue": {
      "type": "number",
      "description": "Standard revenue (no store fee)."
    },
    "gross_standard_revenue": {
      "type": "number",
      "description": "Standard revenue (including store fee)."
    },
    "pre_orders": {
      "type": "integer",
      "description": "Number of pre‑orders."
    },
    "date": {
      "type": "string",
      "description": "Date of the leaf (when grouped by date)."
    },
    "product_id": {
      "type": "integer",
      "description": "Product ID (when grouped by product)."
    },
    "iso": {
      "type": "string",
      "description": "ISO country code (when grouped by country)."
    },
    "country": {
      "type": "string",
      "description": "Country name (when grouped by country)."
    },
    "product": {
      "type": "object",
      "description": "Full product object (when grouped by product)."
    },
    "state": {
      "type": "string",
      "description": "State abbreviation (financial reports grouped by state)."
    }
  }
}