{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/userclouds/json-schema/userclouds-userstore-column-data-type-schema.json",
  "title": "UserstoreColumnDataType",
  "x-generated": "2026-10-29",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/userstore.yaml#/components/schemas/UserstoreColumnDataType",
  "properties": {
    "composite_attributes": {
      "$ref": "#/$defs/UserstoreCompositeAttributes"
    },
    "description": {
      "type": "string"
    },
    "id": {
      "$ref": "#/$defs/UuidUUID"
    },
    "is_composite_field_type": {
      "description": "Whether the data type can be used for a composite field.",
      "type": "boolean"
    },
    "is_native": {
      "description": "Whether this is a native non-editable data type.",
      "type": "boolean"
    },
    "name": {
      "type": "string"
    }
  },
  "required": [
    "name",
    "description"
  ],
  "type": "object",
  "$defs": {
    "UserstoreCompositeAttributes": {
      "properties": {
        "fields": {
          "description": "The set of fields associated with a composite data type.",
          "items": {
            "$ref": "#/$defs/UserstoreCompositeField"
          },
          "type": [
            "array",
            "null"
          ]
        },
        "include_id": {
          "description": "Whether the composite data type must include an id field.",
          "type": "boolean"
        }
      },
      "type": "object"
    },
    "UserstoreCompositeField": {
      "properties": {
        "camel_case_name": {
          "description": "Read-only camel-case version of field name, with underscores stripped out. (ex. IDField1)",
          "type": "string"
        },
        "data_type": {
          "$ref": "#/$defs/UserstoreResourceID"
        },
        "ignore_for_uniqueness": {
          "description": "If true, field value will be ignored when comparing two composite values for a uniqueness check.",
          "type": "boolean"
        },
        "name": {
          "description": "Each part of name must be capitalized or all-caps, separated by underscores. Names may contain alphanumeric characters, and the first part must start with a letter, while other parts may start with a number. (ex. ID_Field_1)",
          "type": "string"
        },
        "required": {
          "description": "Whether a value must be specified for the field.",
          "type": "boolean"
        },
        "struct_name": {
          "description": "Read-only snake-case version of field name, with all letters lowercase. (ex. id_field_1)",
          "type": "string"
        }
      },
      "required": [
        "data_type",
        "name"
      ],
      "type": "object"
    },
    "UserstoreResourceID": {
      "properties": {
        "id": {
          "$ref": "#/$defs/UuidUUID"
        },
        "name": {
          "type": "string"
        }
      },
      "type": "object"
    },
    "UuidUUID": {
      "format": "uuid",
      "type": "string"
    }
  }
}