Skip to content

AskSearchPlanDto

Endpoints · All schemas

FieldRequiredDescription
filtersYesStructured filters applied to the search
modeYesSee definition below
normalizedQueryYesNormalized 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"
}