Views API
Base URL: https://YOUR-SERVER/api. Send your API key in x-api-key where authentication is required. A key also needs the listed permission; your account's access rules still apply.
API guide · All endpoints · OpenAPI JSON
GET /best-photos— Retrieve best photosGET /view/folder— Retrieve assets by original pathGET /view/folder/summary— Retrieve folder summariesGET /view/folder/unique-paths— Retrieve unique paths
Retrieve best photos
GET /api/best-photos
Retrieve visible photo assets ranked by the locally computed Best Photos score.
Authentication: API key. Permission: asset.read.
Parameters
| Name | Where | Required | Description |
|---|---|---|---|
includeArchived | query | No | boolean |
limit | query | No | integer |
minScore | query | No | number |
page | query | No | integer |
Parameter types, defaults and constraints
[
{
"name": "includeArchived",
"required": false,
"in": "query",
"schema": {
"type": "boolean"
}
},
{
"name": "limit",
"required": false,
"in": "query",
"schema": {
"minimum": 1,
"maximum": 500,
"default": 100,
"type": "integer"
}
},
{
"name": "minScore",
"required": false,
"in": "query",
"schema": {
"minimum": 0,
"maximum": 1,
"format": "double",
"type": "number"
}
},
{
"name": "page",
"required": false,
"in": "query",
"schema": {
"minimum": 1,
"maximum": 9007199254740991,
"default": 1,
"type": "integer"
}
}
]Responses
Field definitions: BestPhotosResponseDto
{
"200": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/BestPhotosResponseDto"
}
}
},
"description": ""
}
}Retrieve assets by original path
GET /api/view/folder
Retrieve assets that are children of a specific folder.
Authentication: API key. Permission: folder.read.
Parameters
| Name | Where | Required | Description |
|---|---|---|---|
path | query | Yes | string |
Parameter types, defaults and constraints
[
{
"name": "path",
"required": true,
"in": "query",
"schema": {
"type": "string"
}
}
]Responses
Field definitions: AssetResponseDto
{
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/AssetResponseDto"
},
"type": "array"
}
}
},
"description": ""
}
}Retrieve folder summaries
GET /api/view/folder/summary
Retrieve, for each folder, how many originals it holds directly and their size in bytes, counting only the Timeline items the folder views list.
Authentication: API key. Permission: folder.read.
Responses
Field definitions: FolderSummaryResponseDto
{
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/FolderSummaryResponseDto"
},
"type": "array"
}
}
},
"description": ""
}
}Retrieve unique paths
GET /api/view/folder/unique-paths
Retrieve a list of unique folder paths from asset original paths.
Authentication: API key. Permission: folder.read.
Responses
{
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"type": "string"
},
"type": "array"
}
}
},
"description": ""
}
}© 2026 Frameleaf Inc. All rights reserved.
Frameleaf and the Frameleaf logo are Trademarks of Frameleaf Inc.