{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "$id": "/schemas/3.1.0-rc.4/content-standards/get-media-buy-artifacts-request.json",
  "title": "Get Media Buy Artifacts Request",
  "description": "Request parameters for retrieving content artifacts from a media buy for validation",
  "type": "object",
  "allOf": [
    {
      "$ref": "/schemas/3.1.0-rc.4/core/version-envelope.json"
    }
  ],
  "properties": {
    "account": {
      "$ref": "/schemas/3.1.0-rc.4/core/account-ref.json",
      "description": "Filter artifacts to a specific account. When omitted, returns artifacts across all accessible accounts."
    },
    "media_buy_id": {
      "type": "string",
      "description": "Media buy to get artifacts from"
    },
    "package_ids": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "minItems": 1,
      "description": "Filter to specific packages within the media buy"
    },
    "failures_only": {
      "type": "boolean",
      "description": "When true, only return artifacts where the seller's local model returned local_verdict: 'fail'. Useful for auditing false positives. Not useful when the seller does not run a local evaluation model (all verdicts are 'unevaluated').",
      "default": false
    },
    "time_range": {
      "type": "object",
      "description": "Filter to specific time period",
      "properties": {
        "start": {
          "type": "string",
          "format": "date-time",
          "description": "Start of time range (inclusive)"
        },
        "end": {
          "type": "string",
          "format": "date-time",
          "description": "End of time range (exclusive)"
        }
      }
    },
    "pagination": {
      "type": "object",
      "description": "Pagination parameters. Uses higher limits than standard pagination because artifact result sets can be very large.",
      "properties": {
        "max_results": {
          "type": "integer",
          "minimum": 1,
          "maximum": 10000,
          "default": 1000,
          "description": "Maximum number of artifacts to return per page"
        },
        "cursor": {
          "type": "string",
          "description": "Opaque cursor from a previous response to fetch the next page"
        }
      },
      "additionalProperties": false
    },
    "context": {
      "$ref": "/schemas/3.1.0-rc.4/core/context.json"
    },
    "ext": {
      "$ref": "/schemas/3.1.0-rc.4/core/ext.json"
    }
  },
  "required": [
    "media_buy_id"
  ]
}
