Skip to content

ClassificationRuleResponseDto

Endpoints · All schemas

FieldRequiredDescription
actionYesSee definition below
albumIdYesstring
albumNameYesstring
archiveYesboolean
archiveConsentAtYesstring
countsYesSee definition below
createdAtYesstring
enabledYesboolean
idYesstring
lastAppliedAtYesstring
mediaTypeYesSee definition below
personIdsYesMatch any of these people
tagYesSee definition below
tagIdsYesMatch any of these tags, or a tag beneath one of them
takenAfterYesTaken on or after this day (YYYY-MM-DD)
takenBeforeYesTaken on or before this day (YYYY-MM-DD)
thresholdYesThe confidence a visual phrase has to reach
updatedAtYesstring
visualQueriesYesVisual category phrases compared with each item

Complete definition

required lists fields that must be present. nullable allows a null value; it does not make the field optional. Response enums retain exact wire values for compatibility.

Field definitions: ClassificationRuleAction, ClassificationRuleCountsDto, ClassificationMediaType, ClassificationTagDto

{
  "properties": {
    "action": {
      "$ref": "#/components/schemas/ClassificationRuleAction"
    },
    "albumId": {
      "type": "string"
    },
    "albumName": {
      "type": "string"
    },
    "archive": {
      "type": "boolean"
    },
    "archiveConsentAt": {
      "format": "date-time",
      "nullable": true,
      "type": "string"
    },
    "counts": {
      "$ref": "#/components/schemas/ClassificationRuleCountsDto"
    },
    "createdAt": {
      "format": "date-time",
      "type": "string"
    },
    "enabled": {
      "type": "boolean"
    },
    "id": {
      "type": "string"
    },
    "lastAppliedAt": {
      "format": "date-time",
      "nullable": true,
      "type": "string"
    },
    "mediaType": {
      "$ref": "#/components/schemas/ClassificationMediaType"
    },
    "personIds": {
      "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"
    },
    "tag": {
      "allOf": [
        {
          "$ref": "#/components/schemas/ClassificationTagDto"
        }
      ],
      "nullable": true
    },
    "tagIds": {
      "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"
    },
    "takenAfter": {
      "description": "Taken on or after this day (YYYY-MM-DD)",
      "nullable": true,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "type": "string"
    },
    "takenBefore": {
      "description": "Taken on or before this day (YYYY-MM-DD)",
      "nullable": true,
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "type": "string"
    },
    "threshold": {
      "description": "The confidence a visual phrase has to reach",
      "format": "double",
      "maximum": 1,
      "minimum": 0,
      "type": "number"
    },
    "updatedAt": {
      "format": "date-time",
      "type": "string"
    },
    "visualQueries": {
      "description": "Visual category phrases compared with each item",
      "items": {
        "maxLength": 120,
        "minLength": 1,
        "type": "string"
      },
      "maxItems": 10,
      "type": "array"
    }
  },
  "required": [
    "action",
    "albumId",
    "albumName",
    "archive",
    "archiveConsentAt",
    "counts",
    "createdAt",
    "enabled",
    "id",
    "lastAppliedAt",
    "mediaType",
    "personIds",
    "tag",
    "tagIds",
    "takenAfter",
    "takenBefore",
    "threshold",
    "updatedAt",
    "visualQueries"
  ],
  "type": "object"
}