# Documents ## Add document **post** `/v3/documents` Add a document with any content type (text, url, file, etc.) and metadata ### Body Parameters - `content: string` The content to extract and process into a document. This can be a URL to a website, a PDF, an image, or a video. - `containerTag: optional string` Optional tag this document should be containerized by. Max 100 characters, alphanumeric with hyphens, underscores, and dots only. - `containerTags: optional array of string` - `customId: optional string` Optional custom ID of the document. Max 100 characters, alphanumeric with hyphens, underscores, and dots only. - `entityContext: optional string` Optional entity context for this container tag. Max 1500 characters. Used during document processing to guide memory extraction. - `filepath: optional string` Optional file path for the document. Used by supermemoryfs to store the full path of the file. - `filterByMetadata: optional map[string or number or boolean or array of string]` Optional metadata filter to apply when pulling related memories and profile during ingestion. Only memories matching these filters will be used as context. - `string` - `number` - `boolean` - `array of string` - `metadata: optional map[string or number or boolean or array of string]` Optional metadata for the document. - `string` - `number` - `boolean` - `array of string` - `taskType: optional "memory" or "superrag"` Task type: "memory" (default) for full context layer with SuperRAG built in, "superrag" for managed RAG as a service. - `"memory"` - `"superrag"` ### Returns - `id: string` Unique identifier of the document - `status: string` Status of the document ### Example ```http curl https://api.supermemory.ai/v3/documents \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $SUPERMEMORY_API_KEY" \ -d '{ "content": "content" }' ``` #### Response ```json { "id": "id", "status": "status" } ``` ## List documents **post** `/v3/documents/list` Retrieves a paginated list of documents with their metadata and workflow status ### Body Parameters - `containerTags: optional array of string` Optional tags this document should be containerized by. This can be an ID for your user, a project ID, or any other identifier you wish to use to group documents. - `filepath: optional string` Filter documents by filepath. Exact match for full paths, prefix match if ending with / - `filters: optional object { OR } or object { AND }` Optional filters to apply to the search. Can be a JSON string or Query object. - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` Array of OR filter expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` Array of AND filter expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` OR: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more } or object { OR } or object { AND }` AND: Array of conditions or nested expressions - `object { key, value, filterType, 3 more }` A single filter condition based on metadata, numeric values, array contents, or string matching - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `Or object { OR }` - `OR: array of object { key, value, filterType, 3 more }` OR: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `And object { AND }` - `AND: array of object { key, value, filterType, 3 more }` AND: Array of conditions - `key: string` - `value: string` - `filterType: optional "metadata" or "numeric" or "array_contains" or "string_contains"` - `"metadata"` - `"numeric"` - `"array_contains"` - `"string_contains"` - `ignoreCase: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `negate: optional boolean or "true" or "false"` - `boolean` - `"true" or "false"` - `"true"` - `"false"` - `numericOperator: optional ">" or "<" or ">=" or 2 more` - `">"` - `"<"` - `">="` - `"<="` - `"="` - `includeContent: optional boolean` Whether to include the content field in the response. Warning: This can make responses significantly larger. - `limit: optional string or number` Number of items per page - `string` - `number` - `order: optional "asc" or "desc"` Sort order - `"asc"` - `"desc"` - `page: optional string or number` Page number to fetch - `string` - `number` - `sort: optional "createdAt" or "updatedAt"` Field to sort by - `"createdAt"` - `"updatedAt"` ### Returns - `memories: array of object { id, connectionId, createdAt, 11 more }` - `id: string` Unique identifier of the document. - `connectionId: string` Optional ID of connection the document was created from. This is useful for identifying the source of the document. - `createdAt: string` Creation timestamp - `customId: string` Optional custom ID of the document. This could be an ID from your database that will uniquely identify this document. - `filepath: string` - `metadata: string or number or boolean or 2 more` Optional metadata for the document. This is used to store additional information about the document. You can use this to store any additional information you need about the document. Metadata can be filtered through. Keys must be strings and are case sensitive. Values can be strings, numbers, or booleans. You cannot nest objects. - `string` - `number` - `boolean` - `map[unknown]` - `array of unknown` - `status: "unknown" or "queued" or "extracting" or 5 more` Status of the document - `"unknown"` - `"queued"` - `"extracting"` - `"chunking"` - `"embedding"` - `"indexing"` - `"done"` - `"failed"` - `summary: string` Summary of the document content - `title: string` Title of the document - `type: "text" or "pdf" or "tweet" or 10 more` Type of the document - `"text"` - `"pdf"` - `"tweet"` - `"google_doc"` - `"google_slide"` - `"google_sheet"` - `"image"` - `"video"` - `"audio"` - `"notion_doc"` - `"webpage"` - `"onedrive"` - `"github_markdown"` - `updatedAt: string` Last update timestamp - `containerTags: optional array of string` Optional tags this document should be containerized by. This can be an ID for your user, a project ID, or any other identifier you wish to use to group documents. - `content: optional string` Content of the document (only included when includeContent=true) - `url: optional string` URL of the document - `pagination: object { currentPage, totalItems, totalPages, limit }` Pagination metadata - `currentPage: number` - `totalItems: number` - `totalPages: number` - `limit: optional number` ### Example ```http curl https://api.supermemory.ai/v3/documents/list \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $SUPERMEMORY_API_KEY" \ -d '{ "limit": 10, "order": "desc", "page": 1, "sort": "createdAt" }' ``` #### Response ```json { "memories": [ { "id": "acxV5LHMEsG2hMSNb4umbn", "connectionId": "xxxxxxxxxxxxxxxxxxxxxx", "createdAt": "2025-04-15T09:30:00.000Z", "customId": "doc-api-rate-limits", "filepath": "filepath", "metadata": { "source": "bar", "language": "bar" }, "status": "done", "summary": "API rate limit policy: 100 req/min free, 1000 req/min pro.", "title": "API Rate Limiting Policy", "type": "text", "updatedAt": "2025-04-15T09:31:00.000Z", "containerTags": [ "string" ], "content": "This is the content of the document...", "url": "https://docs.example.com/guides/rate-limits" } ], "pagination": { "currentPage": 1, "totalItems": 100, "totalPages": 10, "limit": 10 } } ``` ## Update document **patch** `/v3/documents/{id}` Update a document with any content type (text, url, file, etc.) and metadata ### Path Parameters - `id: string` ### Body Parameters - `containerTag: optional string` Optional tag this document should be containerized by. This can be an ID for your user, a project ID, or any other identifier you wish to use to group documents. - `containerTags: optional array of string` (DEPRECATED: Use containerTag instead) Optional tags this document should be containerized by. This can be an ID for your user, a project ID, or any other identifier you wish to use to group documents. - `content: optional string` The content to extract and process into a document. This can be a URL to a website, a PDF, an image, or a video. Plaintext: Any plaintext format URL: A URL to a website, PDF, image, or video We automatically detect the content type from the url's response format. - `customId: optional string` Optional custom ID of the document. This could be an ID from your database that will uniquely identify this document. - `filepath: optional string` Optional file path for the document (e.g., '/documents/reports/file.pdf'). Used by supermemoryfs to map documents to filesystem paths. - `filterByMetadata: optional map[string or number or boolean or array of string]` Optional metadata filter scoping which existing memories are pulled as context during ingestion. Scalar values match exactly (AND across keys); array values match ANY (OR within key). Only memories whose source documents match this filter are used as context. - `string` - `number` - `boolean` - `array of string` - `metadata: optional map[string or number or boolean or array of string]` Optional metadata for the document. This is used to store additional information about the document. You can use this to store any additional information you need about the document. Metadata can be filtered through. Keys must be strings and are case sensitive. Values can be strings, numbers, or booleans. You cannot nest objects. - `string` - `number` - `boolean` - `array of string` - `taskType: optional "memory" or "superrag"` Task type: "memory" (default) for full context layer with SuperRAG built in, "superrag" for managed RAG as a service. - `"memory"` - `"superrag"` ### Returns - `id: string` Unique identifier of the document - `status: string` Status of the document ### Example ```http curl https://api.supermemory.ai/v3/documents/$ID \ -X PATCH \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $SUPERMEMORY_API_KEY" \ -d '{ "containerTag": "user_alex", "content": "Our API rate limits are 100 req/min on free and 1000 on pro. Clients should use exponential backoff on 429s.", "customId": "doc-api-rate-limits", "filepath": "/documents/reports/file.pdf", "filterByMetadata": { "department": "engineering", "region": "us" }, "metadata": { "source": "upload", "language": "en" }, "taskType": "memory" }' ``` #### Response ```json { "id": "id", "status": "status" } ``` ## Get document **get** `/v3/documents/{id}` Get a document by ID ### Path Parameters - `id: string` ### Returns - `id: string` Unique identifier of the document. - `connectionId: string` Optional ID of connection the document was created from. This is useful for identifying the source of the document. - `content: string` The content to extract and process into a document. This can be a URL to a website, a PDF, an image, or a video. Plaintext: Any plaintext format URL: A URL to a website, PDF, image, or video We automatically detect the content type from the url's response format. - `createdAt: string` Creation timestamp - `customId: string` Optional custom ID of the document. This could be an ID from your database that will uniquely identify this document. - `dreamingStatus: "dreaming" or "done"` - `"dreaming"` - `"done"` - `filepath: string` - `metadata: string or number or boolean or 2 more` Optional metadata for the document. This is used to store additional information about the document. You can use this to store any additional information you need about the document. Metadata can be filtered through. Keys must be strings and are case sensitive. Values can be strings, numbers, or booleans. You cannot nest objects. - `string` - `number` - `boolean` - `map[unknown]` - `array of unknown` - `ogImage: string` - `raw: unknown` Raw content of the document - `source: string` Source of the document - `status: "unknown" or "queued" or "extracting" or 5 more` Status of the document - `"unknown"` - `"queued"` - `"extracting"` - `"chunking"` - `"embedding"` - `"indexing"` - `"done"` - `"failed"` - `summary: string` Summary of the document content - `taskType: "memory" or "superrag"` Task type: "memory" (default) for full context layer with SuperRAG built in, "superrag" for managed RAG as a service. - `"memory"` - `"superrag"` - `title: string` Title of the document - `type: "text" or "pdf" or "tweet" or 10 more` Type of the document - `"text"` - `"pdf"` - `"tweet"` - `"google_doc"` - `"google_slide"` - `"google_sheet"` - `"image"` - `"video"` - `"audio"` - `"notion_doc"` - `"webpage"` - `"onedrive"` - `"github_markdown"` - `updatedAt: string` Last update timestamp - `containerTags: optional array of string` Optional tags this document should be containerized by. This can be an ID for your user, a project ID, or any other identifier you wish to use to group documents. - `url: optional string` URL of the document ### Example ```http curl https://api.supermemory.ai/v3/documents/$ID \ -H "Authorization: Bearer $SUPERMEMORY_API_KEY" ``` #### Response ```json { "id": "acxV5LHMEsG2hMSNb4umbn", "connectionId": "xxxxxxxxxxxxxxxxxxxxxx", "content": "Our API rate limits are 100 req/min on free and 1000 on pro.", "createdAt": "2025-04-15T09:30:00.000Z", "customId": "doc-api-rate-limits", "dreamingStatus": "dreaming", "filepath": "filepath", "metadata": { "source": "bar", "language": "bar" }, "ogImage": "ogImage", "raw": "Our API rate limits are 100 req/min on free and 1000 on pro. Clients should use exponential backoff on 429s.", "source": "text", "status": "done", "summary": "API rate limit policy: 100 req/min free, 1000 req/min pro.", "taskType": "memory", "title": "API Rate Limiting Policy", "type": "text", "updatedAt": "2025-04-15T09:31:00.000Z", "containerTags": [ "string" ], "url": "https://docs.example.com/guides/rate-limits" } ``` ## Delete document by ID or customId **delete** `/v3/documents/{id}` Delete a document by ID or customId ### Path Parameters - `id: string` ### Example ```http curl https://api.supermemory.ai/v3/documents/$ID \ -X DELETE \ -H "Authorization: Bearer $SUPERMEMORY_API_KEY" ``` ## Bulk delete documents **delete** `/v3/documents/bulk` Bulk delete documents by IDs or container tags ### Body Parameters - `containerTags: optional array of string` Array of container tags - all documents in these containers will be deleted - `filepath: optional string` Delete documents matching this filepath. Exact match for full paths, prefix match if ending with / - `ids: optional array of string` Array of document IDs to delete (max 100 at once) ### Returns - `deletedCount: number` Number of documents successfully deleted - `success: boolean` Whether the bulk deletion was successful - `containerTags: optional array of string` Container tags that were processed (only applicable when deleting by container tags) - `errors: optional array of object { id, error }` Array of errors for documents that couldn't be deleted (only applicable when deleting by IDs) - `id: string` - `error: string` ### Example ```http curl https://api.supermemory.ai/v3/documents/bulk \ -X DELETE \ -H "Authorization: Bearer $SUPERMEMORY_API_KEY" ``` #### Response ```json { "deletedCount": 2, "success": true, "containerTags": [ "string" ], "errors": [ { "id": "id", "error": "error" } ] } ``` ## Upload a file **post** `/v3/documents/file` Upload a file to be processed ### Returns - `id: string` Unique identifier of the document - `status: string` Status of the document ### Example ```http curl https://api.supermemory.ai/v3/documents/file \ -H 'Content-Type: multipart/form-data' \ -H "Authorization: Bearer $SUPERMEMORY_API_KEY" \ -F 'file=@/path/to/file' \ -F containerTag=user \ -F customId=mem_abc123 \ -F entityContext="User's name is {XYZ}" \ -F filepath=/documents/reports/file.pdf \ -F fileType=image \ -F filterByMetadata='{"department": "engineering"}' \ -F metadata='{"category": "technology", "isPublic": true, "readingTime": 5}' \ -F taskType=memory \ -F useAdvancedProcessing=true ``` #### Response ```json { "id": "id", "status": "status" } ``` ## Batch add documents **post** `/v3/documents/batch` Add multiple documents in a single request. Each document can have any content type (text, url, file, etc.) and metadata ### Body Parameters - `documents: array of object { content, containerTag, containerTags, 6 more } or array of string` - `array of object { content, containerTag, containerTags, 6 more }` - `content: string` The content to extract and process into a document. This can be a URL to a website, a PDF, an image, or a video. Plaintext: Any plaintext format URL: A URL to a website, PDF, image, or video We automatically detect the content type from the url's response format. - `containerTag: optional string` Optional tag this document should be containerized by. This can be an ID for your user, a project ID, or any other identifier you wish to use to group documents. - `containerTags: optional array of string` (DEPRECATED: Use containerTag instead) Optional tags this document should be containerized by. This can be an ID for your user, a project ID, or any other identifier you wish to use to group documents. - `customId: optional string` Optional custom ID of the document. This could be an ID from your database that will uniquely identify this document. - `entityContext: optional string` Optional entity context for this container tag. Max 1500 characters. Used during document processing to guide memory extraction. - `filepath: optional string` Optional file path for the document (e.g., '/documents/reports/file.pdf'). Used by supermemoryfs to map documents to filesystem paths. - `filterByMetadata: optional map[string or number or boolean or array of string]` Optional metadata filter scoping which existing memories are pulled as context during ingestion. Scalar values match exactly (AND across keys); array values match ANY (OR within key). Only memories whose source documents match this filter are used as context. - `string` - `number` - `boolean` - `array of string` - `metadata: optional map[string or number or boolean or array of string]` Optional metadata for the document. This is used to store additional information about the document. You can use this to store any additional information you need about the document. Metadata can be filtered through. Keys must be strings and are case sensitive. Values can be strings, numbers, or booleans. You cannot nest objects. - `string` - `number` - `boolean` - `array of string` - `taskType: optional "memory" or "superrag"` Task type: "memory" (default) for full context layer with SuperRAG built in, "superrag" for managed RAG as a service. - `"memory"` - `"superrag"` - `array of string` - `containerTag: optional string` Optional tag this document should be containerized by. This can be an ID for your user, a project ID, or any other identifier you wish to use to group documents. - `containerTags: optional array of string` (DEPRECATED: Use containerTag instead) Optional tags this document should be containerized by. This can be an ID for your user, a project ID, or any other identifier you wish to use to group documents. - `content: optional unknown` - `entityContext: optional string` Optional entity context for this container tag. Max 1500 characters. Used during document processing to guide memory extraction. - `filepath: optional string` Optional file path for the document (e.g., '/documents/reports/file.pdf'). Used by supermemoryfs to map documents to filesystem paths. - `filterByMetadata: optional map[string or number or boolean or array of string]` Optional metadata filter scoping which existing memories are pulled as context during ingestion. Scalar values match exactly (AND across keys); array values match ANY (OR within key). Only memories whose source documents match this filter are used as context. - `string` - `number` - `boolean` - `array of string` - `metadata: optional map[string or number or boolean or array of string]` Optional metadata for the document. This is used to store additional information about the document. You can use this to store any additional information you need about the document. Metadata can be filtered through. Keys must be strings and are case sensitive. Values can be strings, numbers, or booleans. You cannot nest objects. - `string` - `number` - `boolean` - `array of string` - `taskType: optional "memory" or "superrag"` Task type: "memory" (default) for full context layer with SuperRAG built in, "superrag" for managed RAG as a service. - `"memory"` - `"superrag"` ### Returns - `failed: number` Count of documents that failed to add - `results: array of object { id, status, details, error }` Array of results for each document in the batch - `id: string` Unique identifier of the document (empty string for failed items) - `status: string` Status of the document (e.g. 'done', 'queued', 'error') - `details: optional string` Additional error details when status is 'error' - `error: optional string` Error message when status is 'error' - `success: number` Count of documents successfully added ### Example ```http curl https://api.supermemory.ai/v3/documents/batch \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $SUPERMEMORY_API_KEY" \ -d "{ \"documents\": [ { \"content\": \"Our API rate limits are 100 req/min on free and 1000 on pro. Clients should use exponential backoff on 429s.\" } ], \"containerTag\": \"user_alex\", \"entityContext\": \"User's name is {XYZ}\", \"filepath\": \"/documents/reports/file.pdf\", \"filterByMetadata\": { \"department\": \"engineering\", \"region\": \"us\" }, \"metadata\": { \"source\": \"upload\", \"language\": \"en\" }, \"taskType\": \"memory\" }" ``` #### Response ```json { "failed": 0, "results": [ { "id": "id", "status": "status", "details": "details", "error": "error" } ], "success": 0 } ``` ## Get processing documents **get** `/v3/documents/processing` Get documents that are currently being processed ### Returns - `documents: array of object { id, createdAt, customId, 6 more }` - `id: string` Unique identifier of the document. - `createdAt: string` Creation timestamp - `customId: string` Optional custom ID of the document. This could be an ID from your database that will uniquely identify this document. - `metadata: string or number or boolean or 2 more` Optional metadata for the document. This is used to store additional information about the document. You can use this to store any additional information you need about the document. Metadata can be filtered through. Keys must be strings and are case sensitive. Values can be strings, numbers, or booleans. You cannot nest objects. - `string` - `number` - `boolean` - `map[unknown]` - `array of unknown` - `status: "unknown" or "queued" or "extracting" or 5 more` Status of the document - `"unknown"` - `"queued"` - `"extracting"` - `"chunking"` - `"embedding"` - `"indexing"` - `"done"` - `"failed"` - `title: string` Title of the document - `type: "text" or "pdf" or "tweet" or 10 more` Type of the document - `"text"` - `"pdf"` - `"tweet"` - `"google_doc"` - `"google_slide"` - `"google_sheet"` - `"image"` - `"video"` - `"audio"` - `"notion_doc"` - `"webpage"` - `"onedrive"` - `"github_markdown"` - `updatedAt: string` Last update timestamp - `containerTags: optional array of string` Optional tags this document should be containerized by. This can be an ID for your user, a project ID, or any other identifier you wish to use to group documents. - `totalCount: number` Total number of processing documents ### Example ```http curl https://api.supermemory.ai/v3/documents/processing \ -H "Authorization: Bearer $SUPERMEMORY_API_KEY" ``` #### Response ```json { "documents": [ { "id": "xxxxxxxxxxxxxxxxxxxxxx", "createdAt": "2024-12-27T12:00:00Z", "customId": "doc-api-rate-limits", "metadata": { "source": "bar", "language": "bar" }, "status": "extracting", "title": "My Document", "type": "text", "updatedAt": "2024-12-27T12:01:00Z", "containerTags": [ "string" ] } ], "totalCount": 5 } ``` ## Domain Types ### Document Add Response - `DocumentAddResponse object { id, status }` - `id: string` Unique identifier of the document - `status: string` Status of the document ### Document List Response - `DocumentListResponse object { memories, pagination }` List of documents - `memories: array of object { id, connectionId, createdAt, 11 more }` - `id: string` Unique identifier of the document. - `connectionId: string` Optional ID of connection the document was created from. This is useful for identifying the source of the document. - `createdAt: string` Creation timestamp - `customId: string` Optional custom ID of the document. This could be an ID from your database that will uniquely identify this document. - `filepath: string` - `metadata: string or number or boolean or 2 more` Optional metadata for the document. This is used to store additional information about the document. You can use this to store any additional information you need about the document. Metadata can be filtered through. Keys must be strings and are case sensitive. Values can be strings, numbers, or booleans. You cannot nest objects. - `string` - `number` - `boolean` - `map[unknown]` - `array of unknown` - `status: "unknown" or "queued" or "extracting" or 5 more` Status of the document - `"unknown"` - `"queued"` - `"extracting"` - `"chunking"` - `"embedding"` - `"indexing"` - `"done"` - `"failed"` - `summary: string` Summary of the document content - `title: string` Title of the document - `type: "text" or "pdf" or "tweet" or 10 more` Type of the document - `"text"` - `"pdf"` - `"tweet"` - `"google_doc"` - `"google_slide"` - `"google_sheet"` - `"image"` - `"video"` - `"audio"` - `"notion_doc"` - `"webpage"` - `"onedrive"` - `"github_markdown"` - `updatedAt: string` Last update timestamp - `containerTags: optional array of string` Optional tags this document should be containerized by. This can be an ID for your user, a project ID, or any other identifier you wish to use to group documents. - `content: optional string` Content of the document (only included when includeContent=true) - `url: optional string` URL of the document - `pagination: object { currentPage, totalItems, totalPages, limit }` Pagination metadata - `currentPage: number` - `totalItems: number` - `totalPages: number` - `limit: optional number` ### Document Update Response - `DocumentUpdateResponse object { id, status }` - `id: string` Unique identifier of the document - `status: string` Status of the document ### Document Get Response - `DocumentGetResponse object { id, connectionId, content, 16 more }` Document object - `id: string` Unique identifier of the document. - `connectionId: string` Optional ID of connection the document was created from. This is useful for identifying the source of the document. - `content: string` The content to extract and process into a document. This can be a URL to a website, a PDF, an image, or a video. Plaintext: Any plaintext format URL: A URL to a website, PDF, image, or video We automatically detect the content type from the url's response format. - `createdAt: string` Creation timestamp - `customId: string` Optional custom ID of the document. This could be an ID from your database that will uniquely identify this document. - `dreamingStatus: "dreaming" or "done"` - `"dreaming"` - `"done"` - `filepath: string` - `metadata: string or number or boolean or 2 more` Optional metadata for the document. This is used to store additional information about the document. You can use this to store any additional information you need about the document. Metadata can be filtered through. Keys must be strings and are case sensitive. Values can be strings, numbers, or booleans. You cannot nest objects. - `string` - `number` - `boolean` - `map[unknown]` - `array of unknown` - `ogImage: string` - `raw: unknown` Raw content of the document - `source: string` Source of the document - `status: "unknown" or "queued" or "extracting" or 5 more` Status of the document - `"unknown"` - `"queued"` - `"extracting"` - `"chunking"` - `"embedding"` - `"indexing"` - `"done"` - `"failed"` - `summary: string` Summary of the document content - `taskType: "memory" or "superrag"` Task type: "memory" (default) for full context layer with SuperRAG built in, "superrag" for managed RAG as a service. - `"memory"` - `"superrag"` - `title: string` Title of the document - `type: "text" or "pdf" or "tweet" or 10 more` Type of the document - `"text"` - `"pdf"` - `"tweet"` - `"google_doc"` - `"google_slide"` - `"google_sheet"` - `"image"` - `"video"` - `"audio"` - `"notion_doc"` - `"webpage"` - `"onedrive"` - `"github_markdown"` - `updatedAt: string` Last update timestamp - `containerTags: optional array of string` Optional tags this document should be containerized by. This can be an ID for your user, a project ID, or any other identifier you wish to use to group documents. - `url: optional string` URL of the document ### Document Delete Bulk Response - `DocumentDeleteBulkResponse object { deletedCount, success, containerTags, errors }` Response for bulk document deletion - `deletedCount: number` Number of documents successfully deleted - `success: boolean` Whether the bulk deletion was successful - `containerTags: optional array of string` Container tags that were processed (only applicable when deleting by container tags) - `errors: optional array of object { id, error }` Array of errors for documents that couldn't be deleted (only applicable when deleting by IDs) - `id: string` - `error: string` ### Document Upload File Response - `DocumentUploadFileResponse object { id, status }` - `id: string` Unique identifier of the document - `status: string` Status of the document ### Document Batch Add Response - `DocumentBatchAddResponse object { failed, results, success }` - `failed: number` Count of documents that failed to add - `results: array of object { id, status, details, error }` Array of results for each document in the batch - `id: string` Unique identifier of the document (empty string for failed items) - `status: string` Status of the document (e.g. 'done', 'queued', 'error') - `details: optional string` Additional error details when status is 'error' - `error: optional string` Error message when status is 'error' - `success: number` Count of documents successfully added ### Document List Processing Response - `DocumentListProcessingResponse object { documents, totalCount }` List of documents currently being processed - `documents: array of object { id, createdAt, customId, 6 more }` - `id: string` Unique identifier of the document. - `createdAt: string` Creation timestamp - `customId: string` Optional custom ID of the document. This could be an ID from your database that will uniquely identify this document. - `metadata: string or number or boolean or 2 more` Optional metadata for the document. This is used to store additional information about the document. You can use this to store any additional information you need about the document. Metadata can be filtered through. Keys must be strings and are case sensitive. Values can be strings, numbers, or booleans. You cannot nest objects. - `string` - `number` - `boolean` - `map[unknown]` - `array of unknown` - `status: "unknown" or "queued" or "extracting" or 5 more` Status of the document - `"unknown"` - `"queued"` - `"extracting"` - `"chunking"` - `"embedding"` - `"indexing"` - `"done"` - `"failed"` - `title: string` Title of the document - `type: "text" or "pdf" or "tweet" or 10 more` Type of the document - `"text"` - `"pdf"` - `"tweet"` - `"google_doc"` - `"google_slide"` - `"google_sheet"` - `"image"` - `"video"` - `"audio"` - `"notion_doc"` - `"webpage"` - `"onedrive"` - `"github_markdown"` - `updatedAt: string` Last update timestamp - `containerTags: optional array of string` Optional tags this document should be containerized by. This can be an ID for your user, a project ID, or any other identifier you wish to use to group documents. - `totalCount: number` Total number of processing documents