{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/acculynx/json-schema/acculynx-estimate-collection-schema.json",
  "title": "estimateCollection",
  "x-generated": "2026-11-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/acculynx-estimates-api-openapi.yml#/components/schemas/estimateCollection",
  "allOf": [
    {
      "$ref": "#/$defs/baseCollection"
    },
    {
      "type": "object",
      "properties": {
        "items": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/estimateLink"
          }
        }
      }
    }
  ],
  "$defs": {
    "baseCollection": {
      "type": "object",
      "properties": {
        "count": {
          "type": "integer",
          "description": "The total number of items matching the current query."
        },
        "pageSize": {
          "type": "integer",
          "description": "The requested or default page size."
        },
        "pageStartIndex": {
          "type": "integer",
          "description": "The requested or default index of the first element to return."
        }
      }
    },
    "estimateLink": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The unique identifier of the estimate."
        },
        "isPrimary": {
          "type": "boolean",
          "description": "Whether the estimate is the primary estimate for its associated job."
        },
        "job": {
          "$ref": "#/$defs/jobLink"
        },
        "_link": {
          "type": "string",
          "description": "The unique URI of the Estimate for the specified Job."
        }
      }
    },
    "jobLink": {
      "type": "object",
      "properties": {
        "id": {
          "type": "string",
          "format": "uuid",
          "description": "The job's unique ID."
        },
        "_link": {
          "type": "string",
          "description": "The URI of this Job."
        }
      }
    }
  }
}