{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/WorkItemModel",
  "title": "WorkItemModel",
  "type": "object",
  "description": "Schema definition for work items in a queue, specifying the attributes (columns) and their data types that each work item must contain.",
  "properties": {
    "id": {
      "type": "integer",
      "format": "int64",
      "description": "Unique identifier of the work item model"
    },
    "name": {
      "type": "string",
      "description": "Name of the work item model"
    },
    "attributes": {
      "type": "array",
      "description": "List of attribute definitions making up the work item schema",
      "items": {
        "$ref": "#/components/schemas/WorkItemAttribute"
      }
    },
    "createdBy": {
      "type": "integer",
      "format": "int64",
      "description": "ID of the user who created this model"
    },
    "createdOn": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp when the model was created"
    },
    "updatedBy": {
      "type": "integer",
      "format": "int64",
      "description": "ID of the user who last modified this model"
    },
    "updatedOn": {
      "type": "string",
      "format": "date-time",
      "description": "ISO 8601 timestamp of the last modification"
    },
    "version": {
      "type": "integer",
      "description": "Optimistic locking version number"
    },
    "tenantId": {
      "type": "integer",
      "format": "int64",
      "description": "Tenant identifier for multi-tenant deployments"
    },
    "tenantUuid": {
      "type": "string",
      "description": "UUID of the tenant"
    }
  }
}