{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "minLength": 1,
      "maxLength": 200
    },
    "periodBasis": {
      "type": "string",
      "const": "customer_supplied_acquired_on"
    },
    "buckets": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "website": {
            "type": "string"
          },
          "state": {
            "type": "string",
            "description": "Saved lifecycle or evidence state, as enumerated for this record."
          },
          "period": {
            "type": "string"
          },
          "currency": {
            "type": "string",
            "enum": [
              "USD",
              "EUR",
              "GBP",
              "JPY",
              "CAD",
              "AUD",
              "NZD",
              "CHF",
              "CNY",
              "HKD",
              "SGD",
              "INR",
              "KRW",
              "BRL",
              "MXN",
              "SEK",
              "NOK",
              "DKK",
              "PLN",
              "CZK",
              "HUF",
              "ZAR",
              "AED",
              "SAR",
              "ILS",
              "THB",
              "TRY",
              "IDR",
              "MYR",
              "PHP",
              "VND",
              "KWD",
              "BHD",
              "OMR"
            ]
          },
          "placements": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "costMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "confirmedMissingCostMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          },
          "lostBeforeExpiryCostMinor": {
            "type": "integer",
            "minimum": 0,
            "maximum": 9007199254740991
          }
        },
        "required": [
          "website",
          "state",
          "period",
          "currency",
          "placements",
          "costMinor",
          "confirmedMissingCostMinor",
          "lostBeforeExpiryCostMinor"
        ],
        "additionalProperties": false
      }
    },
    "noCost": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "excludedUndated": {
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    },
    "scope": {
      "type": "string"
    }
  },
  "required": [
    "projectId",
    "periodBasis",
    "buckets",
    "noCost",
    "excludedUndated",
    "scope"
  ],
  "additionalProperties": {}
}
