SmartSearchDto
| Field | Required | Description |
|---|---|---|
albumIds | No | Filter by album IDs |
city | No | Filter by city name |
country | No | Filter by country name |
createdAfter | No | Filter by creation date (after) |
createdBefore | No | Filter by creation date (before) |
filter | No | See definition below |
imageEnrichment | No | See definition below |
isEncoded | No | Filter by encoded status |
isFavorite | No | Filter by favorite status |
isMotion | No | Filter by motion photo status |
isNotInAlbum | No | Filter assets not in any album |
isOffline | No | Filter by offline status |
language | No | Search language code |
lensModel | No | Filter by lens model |
libraryId | No | Library ID to filter by |
make | No | Filter by camera make |
model | No | Filter by camera model |
ocr | No | Filter by OCR text content |
page | No | Page number |
personIds | No | Filter by person IDs |
petIds | No | Filter by the caller's own pet IDs (confirmed pet observations only) |
query | No | Natural language search query |
queryAssetId | No | Asset ID to use as search reference |
rating | No | Filter by rating [1-5], or null for unrated |
size | No | Number of results to return |
state | No | Filter by state/province name |
suppressedOnly | No | Return only suppressed content. Requires an elevated session. |
tagIds | No | Filter by tag IDs |
takenAfter | No | Filter by taken date (after) |
takenBefore | No | Filter by taken date (before) |
trashedAfter | No | Filter by trash date (after) |
trashedBefore | No | Filter by trash date (before) |
type | No | See definition below |
updatedAfter | No | Filter by update date (after) |
updatedBefore | No | Filter by update date (before) |
visibility | No | See definition below |
withDeleted | No | Include deleted assets |
withExif | No | Include EXIF data in response |
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, AssetTypeEnum, AssetVisibility
{
"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"
},
"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"
},
"filter": {
"$ref": "#/components/schemas/SearchFilter"
},
"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"
},
"language": {
"description": "Search language code",
"type": "string"
},
"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"
},
"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"
},
"query": {
"description": "Natural language search query",
"type": "string"
},
"queryAssetId": {
"description": "Asset ID to use as search reference",
"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"
},
"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"
},
"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"
}
},
"type": "object"
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.