{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/opentext-cybersecurity/main/json-schema/opentext-cybersecurity-attribute-item-list-response-schema.json",
  "title": "AttributeItemListResponse",
  "description": "Generic List Response",
  "x-generated": "2026-10-03",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/opentext-cybersecurity-attributes-api-openapi.yml#/components/schemas/AttributeItemListResponse",
  "type": "object",
  "properties": {
    "items": {
      "description": "The list of items",
      "type": "array",
      "items": {
        "$ref": "#/$defs/AttributeItem"
      }
    },
    "totalCount": {
      "format": "int32",
      "description": "Total count of items",
      "type": "integer"
    },
    "offset": {
      "format": "int32",
      "description": "Offset of the starting record. 0 indicates the first record.",
      "type": "integer"
    },
    "limit": {
      "format": "int32",
      "description": "Maximum records to return.",
      "type": "integer"
    }
  },
  "$defs": {
    "AttributeItem": {
      "description": "Attribute Item",
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "description": "The attribute id",
          "type": "integer"
        },
        "name": {
          "description": "The attribute name",
          "type": "string"
        },
        "attributeTypeId": {
          "format": "int32",
          "description": "The attribute type id. Values can be obtained by calling GET /api/v3/lookup-items?type=AttributeTypes",
          "type": "integer"
        },
        "attributeType": {
          "description": "The attribute type. Values can be obtained by calling GET /api/v3/lookup-items?type=AttributeTypes",
          "type": "string"
        },
        "attributeDataTypeId": {
          "format": "int32",
          "description": "The attribute data type id. Values can be obtained by calling GET /api/v3/lookup-items?type=AttributeDataTypes",
          "type": "integer"
        },
        "attributeDataType": {
          "description": "The attribute data type. Values can be obtained by calling GET /api/v3/lookup-items?type=AttributeDataTypes",
          "type": "string"
        },
        "isRequired": {
          "description": "Indicates if the attribute is required",
          "type": "boolean"
        },
        "isRestricted": {
          "description": "Indicates if the attribute is editable only by Security Leads",
          "type": "boolean"
        },
        "defaultValue": {
          "description": "Default value for the attribute when both isRequired and isRestricted are true",
          "type": "string"
        },
        "picklistValues": {
          "description": "A list of attribute item values",
          "type": "array",
          "items": {
            "$ref": "#/$defs/AttributeItemValue"
          }
        }
      }
    },
    "AttributeItemValue": {
      "description": "Attribute Item Value",
      "type": "object",
      "properties": {
        "id": {
          "format": "int32",
          "description": "The id of the attribute item value",
          "type": "integer"
        },
        "name": {
          "description": "The name of the attribute item value",
          "type": "string"
        }
      }
    }
  }
}