{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "jobId": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9_-]{1,128}$",
      "description": "Identifier of the job returned by its create or list operation."
    },
    "idempotencyKey": {
      "type": "string",
      "pattern": "^[\\x21-\\x7e]{1,200}$",
      "description": "Caller-generated key reused only for retries of the same operation and arguments in this workspace."
    },
    "cadenceSeconds": {
      "description": "Scheduled check interval in seconds, from 3600 to 2592000.",
      "type": "integer",
      "minimum": 3600,
      "maximum": 2592000,
      "default": 86400
    },
    "deal": {
      "description": "The deal value; allowed values and bounds are specified in this schema.",
      "type": "object",
      "properties": {
        "costMinor": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 1000000000000
            },
            {
              "type": "null"
            }
          ]
        },
        "currency": {
          "anyOf": [
            {
              "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"
              ]
            },
            {
              "type": "null"
            }
          ]
        },
        "acquiredOn": {
          "type": [
            "string",
            "null"
          ]
        },
        "expiresOn": {
          "type": [
            "string",
            "null"
          ]
        },
        "renewalWindowDays": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 1,
              "maximum": 365
            },
            {
              "type": "null"
            }
          ]
        },
        "contactRef": {
          "anyOf": [
            {
              "type": "string",
              "pattern": "^[A-Za-z][A-Za-z0-9_-]{0,119}$"
            },
            {
              "type": "null"
            }
          ]
        },
        "contactLabel": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 120
            },
            {
              "type": "null"
            }
          ]
        },
        "dealNote": {
          "anyOf": [
            {
              "type": "string",
              "maxLength": 1000
            },
            {
              "type": "null"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "dealRevision": {
      "description": "The deal revision value; allowed values and bounds are specified in this schema.",
      "type": "integer",
      "minimum": 0,
      "maximum": 9007199254740991
    }
  },
  "required": [
    "jobId",
    "idempotencyKey"
  ],
  "additionalProperties": false
}
