AskSearchPlanDto
| Field | Required | Description |
|---|---|---|
filters | Yes | Structured filters applied to the search |
mode | Yes | See definition below |
normalizedQuery | Yes | Normalized query text |
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: SearchFilter, ImageEnrichmentFilter, AssetOrder, SearchOrder, AssetTypeEnum, AssetVisibility, SearchAskMode
{
"properties": {
"filters": {
"description": "Structured filters applied to the search",
"properties": {
"albumIds": {
"deprecated": true,
"description": "Filter by album IDs",
"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"
},
"type": "array"
},
"checksum": {
"deprecated": true,
"description": "Filter by file checksum",
"type": "string"
},
"city": {
"deprecated": true,
"description": "Filter by city name",
"nullable": true,
"type": "string"
},
"country": {
"deprecated": true,
"description": "Filter by country name",
"nullable": true,
"type": "string"
},
"createdAfter": {
"deprecated": true,
"description": "Filter by creation date (after)",
"example": "2024-01-01T00:00:00.000Z",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"createdBefore": {
"deprecated": true,
"description": "Filter by creation date (before)",
"example": "2024-01-01T00:00:00.000Z",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"cursor": {
"description": "Cursor for the next page of results",
"minLength": 1,
"type": "string"
},
"description": {
"deprecated": true,
"description": "Filter by description text",
"type": "string"
},
"encodedVideoPath": {
"deprecated": true,
"description": "Filter by encoded video file path",
"type": "string"
},
"filter": {
"$ref": "#/components/schemas/SearchFilter"
},
"id": {
"deprecated": true,
"description": "Filter by asset ID",
"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"
},
"imageEnrichment": {
"$ref": "#/components/schemas/ImageEnrichmentFilter"
},
"isEncoded": {
"deprecated": true,
"description": "Filter by encoded status",
"type": "boolean"
},
"isFavorite": {
"deprecated": true,
"description": "Filter by favorite status",
"type": "boolean"
},
"isMotion": {
"deprecated": true,
"description": "Filter by motion photo status",
"type": "boolean"
},
"isNotInAlbum": {
"deprecated": true,
"description": "Filter assets not in any album",
"type": "boolean"
},
"isOffline": {
"deprecated": true,
"description": "Filter by offline status",
"type": "boolean"
},
"lensModel": {
"deprecated": true,
"description": "Filter by lens model",
"nullable": true,
"type": "string"
},
"libraryId": {
"deprecated": true,
"description": "Library ID to filter by",
"format": "uuid",
"nullable": true,
"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"
},
"make": {
"deprecated": true,
"description": "Filter by camera make",
"nullable": true,
"type": "string"
},
"model": {
"deprecated": true,
"description": "Filter by camera model",
"nullable": true,
"type": "string"
},
"ocr": {
"deprecated": true,
"description": "Filter by OCR text content",
"type": "string"
},
"order": {
"$ref": "#/components/schemas/AssetOrder",
"deprecated": true,
"description": "Sort order"
},
"orderBy": {
"$ref": "#/components/schemas/SearchOrder"
},
"originalFileName": {
"deprecated": true,
"description": "Filter by original file name",
"type": "string"
},
"originalPath": {
"deprecated": true,
"description": "Filter by original file path",
"type": "string"
},
"page": {
"deprecated": true,
"description": "Page number",
"maximum": 9007199254740991,
"minimum": 1,
"type": "integer"
},
"personIds": {
"deprecated": true,
"description": "Filter by person IDs",
"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"
},
"type": "array"
},
"petIds": {
"deprecated": true,
"description": "Filter by the caller's own pet IDs (confirmed pet observations only)",
"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"
},
"type": "array"
},
"previewPath": {
"deprecated": true,
"description": "Filter by preview file path",
"type": "string"
},
"rating": {
"deprecated": true,
"description": "Filter by rating [1-5], or null for unrated",
"maximum": 5,
"minimum": 1,
"nullable": true,
"type": "integer"
},
"size": {
"description": "Number of results to return",
"maximum": 1000,
"minimum": 1,
"type": "integer"
},
"state": {
"deprecated": true,
"description": "Filter by state/province name",
"nullable": true,
"type": "string"
},
"suppressedOnly": {
"description": "Return only suppressed content. Requires an elevated session.",
"type": "boolean"
},
"tagIds": {
"deprecated": true,
"description": "Filter by tag IDs",
"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"
},
"nullable": true,
"type": "array"
},
"takenAfter": {
"deprecated": true,
"description": "Filter by taken date (after)",
"example": "2024-01-01T00:00:00.000Z",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"takenBefore": {
"deprecated": true,
"description": "Filter by taken date (before)",
"example": "2024-01-01T00:00:00.000Z",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"thumbnailPath": {
"deprecated": true,
"description": "Filter by thumbnail file path",
"type": "string"
},
"trashedAfter": {
"deprecated": true,
"description": "Filter by trash date (after)",
"example": "2024-01-01T00:00:00.000Z",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"trashedBefore": {
"deprecated": true,
"description": "Filter by trash date (before)",
"example": "2024-01-01T00:00:00.000Z",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"type": {
"$ref": "#/components/schemas/AssetTypeEnum",
"deprecated": true
},
"updatedAfter": {
"deprecated": true,
"description": "Filter by update date (after)",
"example": "2024-01-01T00:00:00.000Z",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"updatedBefore": {
"deprecated": true,
"description": "Filter by update date (before)",
"example": "2024-01-01T00:00:00.000Z",
"format": "date-time",
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z|([+-](?:[01]\\d|2[0-3]):[0-5]\\d)))$",
"type": "string"
},
"visibility": {
"$ref": "#/components/schemas/AssetVisibility",
"deprecated": true
},
"withDeleted": {
"deprecated": true,
"description": "Include deleted assets",
"type": "boolean"
},
"withExif": {
"description": "Include EXIF data in response",
"type": "boolean"
},
"withPeople": {
"description": "Include people data in response",
"type": "boolean"
},
"withStacked": {
"description": "Include stacked assets",
"type": "boolean"
}
},
"type": "object"
},
"mode": {
"$ref": "#/components/schemas/SearchAskMode"
},
"normalizedQuery": {
"description": "Normalized query text",
"type": "string"
}
},
"required": [
"filters",
"mode",
"normalizedQuery"
],
"type": "object"
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.