Skip to main content

API Endpoint Documentation

The API has two ways of authentication using Cookie Authentication via the /api/account/login endpoint and Basic Authentication

This document is auto generated

PathTypeDescription
/api/account/statusGETCheck the account status of the current logged in user
/account/loginGETLogin form page (HTML)
/api/account/loginPOSTLogin the current HttpContext in
/api/account/logoutPOSTLogout the current HttpContext out
/account/logoutGETLogout the current HttpContext and redirect to login
/api/account/change-secretPOSTUpdate password for current user
/api/account/registerPOSTCreate a new user (you need a AF-token first)
/api/account/register/statusGETIs the register form open
/api/account/permissionsGETList of current permissions
/api/allowed-types/mimetype/syncGETA (string) list of allowed MIME-types ExtensionSyncSupportedList
/api/allowed-types/mimetype/thumbGETA (string) list of allowed ExtensionThumbSupportedList MimeTypes
/api/allowed-types/thumbGETCheck if IsExtensionThumbnailSupported
/api/envGETShow the runtime settings (dont allow AllowAnonymous)
/api/envPOSTShow the runtime settings (dont allow AllowAnonymous)
/api/env/featuresGETShow features that used in the frontend app / menu
/api/cache/listGETGet Database Cache (only the cache)
/api/remove-cacheGETDelete Database Cache (only the cache)
/api/remove-cachePOSTDelete Database Cache (only the cache)
/api/deleteDELETERemove files from the disk, but the file must contain the !delete! (TrashKeyw...
Parameters: f (subPaths, separated by dot comma), collections (true is to update files with the same name before
the extenstion)
/api/disk/mkdirPOSTMake a directory (-p)
/api/disk/renamePOSTRename file/folder and update it in the database
Parameters: f (from subPath), to (to subPath), collections (is collections bool), currentStatus (default is to not
included files that are removed in result)
/api/download-sidecarGETDownload sidecar file for example image.xmp
/api/download-photoGETSelect manually the original or thumbnail
Parameters: f (string, 'sub path' to find the file), isThumbnail (true = 1000px thumb (if supported)), cache (true
= send client headers to cache)
/errorGETReturn Error page (HTML)
/api/export/create-zipPOSTExport source files to an zip archive
Parameters: f (subPath to files), collections (enable files with the same name (before the extension)), thumbnail
(export thumbnails)
/api/export/zip/{f}.zipGETGet the exported zip, but first call 'createZip'use for example this url: /ex...
/api/geo/statusGETGet Geo sync status
/api/geo/syncPOSTReverse lookup for Geo Information and/or add Geo location based on a GPX fil...
/api/geo-reverse-lookupGETReverse geo lookup
/api/healthGETCheck if the service has any known errors and return only a stringPublic API
/api/health/detailsGETCheck if the service has any known errorsFor Authorized Users only
/api/health/application-insightsGETAdd Application Insights script to user context
/api/health/versionPOSTCheck if Client/App version has a match with the API-versionthe parameter 've...
/api/health/check-for-updatesGETCheck if Client/App version has a match with the API-version
/searchPOSTRedirect to search GET page (HTML)
/searchGETSearch GET page (HTML)
/trashGETTrash page (HTML)
/importGETImport page (HTML)
/preferencesGETPreferences page (HTML)
/account/registerGETView the Register form (HTML)
/api/importPOSTImport a file using the structure format
/api/import/fromUrlPOSTImport file from web-url (only whitelisted domains) and import this file into...
Parameters: fileUrl (the url), filename (the filename (optional, random used if empty)), structure (use structure
(optional))
/api/import/historyGETToday's imported files
/api/import/thumbnailPOSTUpload thumbnail to ThumbnailTempFolderMake sure that the filename is correct...
/api/indexGETThe database-view of a directory
Parameters: f (subPath), colorClass (filter on colorClass (use int)), collections (to combine files with the same
name before the extension), hideDelete (ignore deleted files), sort (how to orderBy, defaults to fileName)
/api/memory-cache-debugGETView data from the memory cache - use to debug
/api/infoGETGet realtime (cached a few minutes) about the file
Parameters: f (subPaths split by dot comma), collections (true is to update files with the same name before the
extenstion)
/api/replacePOSTSearch and Replace text in meta information
Parameters: f (subPath filepath to file, split by dot comma (;)), fieldName (name of fileIndexItem field e.g. Tags),
search (text to search for), replace (replace [search] with this text), collections (enable collections)
/api/updatePOSTUpdate Exif and Rotation API
Parameters: Id, FilePath, FileName, FileHash, FileCollectionName, ParentDirectory, IsDirectory, Tags, Status, Description,
Title, DateTime, AddToDatabase, LastEdited, Latitude, Longitude, LocationAltitude, LocationCity, LocationState,
LocationCountry, LocationCountryCode, ColorClass, Orientation, ImageWidth, ImageHeight, ImageFormat, CollectionPaths,
SidecarExtensions, SidecarExtensionsList, Aperture, ShutterSpeed, IsoSpeed, Software, MakeModel, Make, Model, LensModel,
FocalLength, Size, ImageStabilisation, LastChanged, f (subPath filepath to file, split by dot comma (;)), append
(only for stings, add update to existing items), collections (StackCollections bool, default true), rotateClock
(relative orientation -1 or 1)
/api/notification/notificationGETGet recent notificationsUse dateTime 2022-04-16T17:33:10.323974Z to get the l...
/api/publishGETGet all publish profilesTo see the entire config check appSettings
/api/publish/createPOSTPublish
Parameters: f (subPath filepath to file, split by dot comma (;)), itemName (itemName), publishProfileName (publishProfileName),
force
/api/publish/existGETTo give the user UI feedback when submitting the itemNameTrue is not to conti...
/redirect/sub-path-relativeGETRedirect or view path to relative paths using the structure-config (see /api/...
/api/searchGETGets the list of search results (cached)
/api/search/relative-objectsGETGet relative paths in a search queryDoes not cover multiple pages (so it ends...
/api/search/trashGETList of files with the tag: !delete! (TrashKeyword.TrashKeywordString)Caching...
/api/search/remove-cachePOSTClear search cache to show the correct results
/api/suggestGETGets the list of search results (cached)
/api/suggest/allGETShow all items in the search suggest cache
/api/suggest/inflateGETTo fill the cache with the data (only if cache is not already filled)
/api/synchronizePOSTFaster API to Check if directory is changed (not recursive)
/api/synchronizeGETFaster API to Check if directory is changed (not recursive)
/api/thumbnail/small/{f}GETGet thumbnail for index pages (300 px or 150px or 1000px (based on whats there))
/api/thumbnail/list-sizes/{f}GETGet overview of what exists by name
/api/thumbnail/{f}GETGet thumbnail with fallback to original source image.Return source image when...
Parameters: f (one single fileHash (NOT path)), filePath (fallback FilePath), isSingleItem (true = load original),
json (text as output), extraLarge (give preference to extraLarge over large image)
/api/thumbnail/zoom/{f}@{z}GETGet zoomed in image by fileHash.At the moment this is the source image
/api/thumbnail-generationPOSTCreate thumbnails for a folder in the background
/api/trash/detect-to-use-system-trashGETIs the system trash supported
/api/trash/move-to-trashPOST(beta) Move a file to the trash
/api/uploadPOSTUpload to specific folder (does not check if already has been imported)Use th...
/api/upload-sidecarPOSTUpload sidecar file to specific folder (does not check if already has been im...