{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/ausca-com/json-schema/ausca-com-search-offers-result-schema.json",
  "title": "SearchOffersResult",
  "x-generated": "2026-11-02",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/ausca-com-openapi.json#/components/schemas/SearchOffersResult",
  "additionalProperties": false,
  "properties": {
    "next_cursor": {
      "$ref": "#/$defs/CatalogCursor"
    },
    "offers": {
      "items": {
        "$ref": "#/$defs/OfferSummary"
      },
      "maxItems": 100,
      "type": "array"
    },
    "status": {
      "const": "ok"
    }
  },
  "required": [
    "status",
    "offers"
  ],
  "type": "object",
  "$defs": {
    "CatalogCursor": {
      "description": "Opaque, catalog-snapshot-bound continuation. Callers must not construct or modify it.",
      "maxLength": 512,
      "minLength": 1,
      "pattern": "^ausca:catalog-cursor:v1:[a-f0-9]{64}:[a-f0-9]{64}:[A-Za-z0-9_-]{2,171}$",
      "type": "string"
    },
    "Digest": {
      "pattern": "^sha256:[a-f0-9]{64}$",
      "type": "string"
    },
    "Identifier": {
      "maxLength": 128,
      "minLength": 1,
      "pattern": "^[A-Za-z0-9][A-Za-z0-9._:-]*$",
      "type": "string"
    },
    "OfferSummary": {
      "additionalProperties": false,
      "properties": {
        "catalog_url": {
          "const": "/catalog.json",
          "type": "string"
        },
        "description": {
          "maxLength": 2000,
          "type": "string"
        },
        "input_schema_digest": {
          "$ref": "#/$defs/Digest"
        },
        "input_schema_url": {
          "format": "uri-reference",
          "type": "string"
        },
        "offer_id": {
          "$ref": "#/$defs/Identifier"
        },
        "offer_revision": {
          "$ref": "#/$defs/Identifier"
        },
        "offer_revision_digest": {
          "$ref": "#/$defs/Digest"
        },
        "output_schema_digest": {
          "$ref": "#/$defs/Digest"
        },
        "output_schema_url": {
          "format": "uri-reference",
          "type": "string"
        },
        "route": {
          "additionalProperties": false,
          "properties": {
            "method": {
              "const": "POST"
            },
            "path": {
              "maxLength": 512,
              "minLength": 1,
              "type": "string"
            }
          },
          "required": [
            "method",
            "path"
          ],
          "type": "object"
        },
        "title": {
          "maxLength": 80,
          "minLength": 1,
          "type": "string"
        }
      },
      "required": [
        "offer_id",
        "offer_revision",
        "offer_revision_digest",
        "input_schema_digest",
        "output_schema_digest",
        "title",
        "route",
        "input_schema_url",
        "output_schema_url",
        "catalog_url"
      ],
      "type": "object"
    }
  }
}