{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "type": "object",
  "properties": {
    "schema_version": {
      "type": "number",
      "const": 1
    },
    "workspace_id": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9_-]{1,128}$",
      "description": "Workspace that owns this record."
    },
    "project_id": {
      "type": "string",
      "pattern": "^[a-zA-Z0-9_-]{1,128}$",
      "description": "Project that owns this record."
    },
    "competitor_binding": {
      "type": "object",
      "properties": {
        "setId": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9_-]{1,128}$"
        },
        "revision": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991,
          "description": "Revision of the approved competitor set bound to this offer or run. Pass the current set revision as revision when preparing an offer."
        },
        "memberId": {
          "type": "string",
          "pattern": "^[a-zA-Z0-9_-]{1,128}$"
        }
      },
      "required": [
        "setId",
        "revision",
        "memberId"
      ],
      "additionalProperties": false
    },
    "scope": {
      "type": "object",
      "properties": {
        "domain": {
          "type": "string"
        },
        "include_subdomains": {
          "type": "boolean"
        }
      },
      "required": [
        "domain",
        "include_subdomains"
      ],
      "additionalProperties": false
    },
    "items": {
      "maxItems": 100,
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "pattern": "^[a-zA-Z0-9_-]{1,128}$",
            "description": "Resource identifier returned by the operation."
          },
          "created_at": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$",
            "description": "UTC timestamp when the record was created."
          },
          "expires_at": {
            "type": "string",
            "format": "date-time",
            "pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d\\.\\d{3}(?:Z))$"
          }
        },
        "required": [
          "id",
          "created_at",
          "expires_at"
        ],
        "additionalProperties": false,
        "description": "Records in this bounded page."
      },
      "description": "Records in this bounded page."
    },
    "next_cursor": {
      "anyOf": [
        {
          "type": "string",
          "minLength": 1,
          "maxLength": 16384,
          "description": "Opaque continuation for the same listing; null means no further page."
        },
        {
          "type": "null"
        }
      ],
      "description": "Opaque continuation for the same listing; null means no further page."
    },
    "has_more": {
      "type": "boolean",
      "description": "True when another page is available."
    },
    "page": {
      "type": "object",
      "properties": {
        "limit": {
          "type": "integer",
          "exclusiveMinimum": 0,
          "maximum": 9007199254740991
        },
        "sort": {
          "type": "string"
        },
        "order": {
          "type": "string",
          "enum": [
            "asc",
            "desc"
          ]
        },
        "total": {
          "anyOf": [
            {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            {
              "type": "null"
            }
          ]
        },
        "query_scope": {
          "type": "string",
          "const": "server_dataset"
        },
        "nulls": {
          "type": "string",
          "const": "last"
        }
      },
      "required": [
        "limit",
        "sort",
        "order",
        "total",
        "query_scope",
        "nulls"
      ],
      "additionalProperties": false
    }
  },
  "required": [
    "schema_version",
    "workspace_id",
    "project_id",
    "competitor_binding",
    "scope",
    "items",
    "next_cursor",
    "has_more",
    "page"
  ],
  "additionalProperties": {}
}
