# ClassificationRuleCreateDto

Source: https://frameleaf.app/docs/api/schema/ClassificationRuleCreateDto/

```json
{
  "properties": {
    "action": {
      "$ref": "#/components/schemas/ClassificationRuleAction",
      "description": "Defaults to the server default rule action"
    },
    "albumName": {
      "description": "Name of the smart album",
      "maxLength": 120,
      "minLength": 1,
      "type": "string"
    },
    "archive": {
      "default": false,
      "description": "Archive matches; requires archiveConsent",
      "type": "boolean"
    },
    "archiveConsent": {
      "description": "The owner explicitly agrees that matches are archived",
      "type": "boolean"
    },
    "description": {
      "description": "Description of the smart album",
      "maxLength": 2000,
      "nullable": true,
      "type": "string"
    },
    "enabled": {
      "default": true,
      "type": "boolean"
    },
    "icon": {
      "description": "Icon of the smart album",
      "maxLength": 80,
      "type": "string"
    },
    "mediaType": {
      "$ref": "#/components/schemas/ClassificationMediaType",
      "default": "any"
    },
    "parentId": {
      "description": "Collection to create the smart album inside",
      "format": "uuid",
      "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
      "type": "string"
    },
    "personIds": {
      "default": [],
      "description": "Match any of these people",
      "items": {
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
        "type": "string"
      },
      "maxItems": 50,
      "type": "array"
    },
    "tagIds": {
      "default": [],
      "description": "Match any of these tags, or a tag beneath one of them",
      "items": {
        "format": "uuid",
        "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$",
        "type": "string"
      },
      "maxItems": 50,
      "type": "array"
    },
    "tagName": {
      "description": "The rule-owned tag a match receives; null tags nothing",
      "maxLength": 120,
      "minLength": 1,
      "nullable": true,
      "type": "string"
    },
    "takenAfter": {
      "default": null,
      "description": "Taken on or after this day (YYYY-MM-DD)",
      "nullable": true,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "type": "string"
    },
    "takenBefore": {
      "default": null,
      "description": "Taken on or before this day (YYYY-MM-DD)",
      "nullable": true,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "type": "string"
    },
    "threshold": {
      "default": 0.25,
      "description": "The confidence a visual phrase has to reach",
      "format": "double",
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    },
    "visualQueries": {
      "default": [],
      "description": "Visual category phrases compared with each item",
      "items": {
        "maxLength": 120,
        "minLength": 1,
        "type": "string"
      },
      "maxItems": 10,
      "type": "array"
    }
  },
  "required": [
    "albumName"
  ],
  "type": "object"
}
```
