Skip to content

API Overview ​

The API uses the same session authentication as the web app. Authenticated requests carry the cookie obtained at sign-in; dashboard settings and management operations also check administrator privileges.

API scope

Endpoints may change between releases. Check server/api/ for request parameters, responses and permission checks before integrating.

MethodPathPurpose
POST/api/loginSign in with email/password and set a session cookie
GET/api/auth/githubGitHub OAuth login and callback
GET/api/photosPhoto list for signed-in users
GET/api/photos/visiblePublic photo list excluding hidden and password-protected album photos
GET/api/albumsRead accessible albums
POST/api/albums/:albumId/unlockUnlock an album with its password
GET/api/system/settings/fields?namespace=appRead setting form fields (administrator)
PUT/api/system/settings/batchSave settings in a batch (administrator)
GET/api/queue/recentRecent dashboard tasks
GET/api/system/logsDashboard logs

Update settings in a batch ​

With an administrator session, send a PUT request to /api/system/settings/batch:

json
{
  "updates": [
    { "namespace": "app", "key": "title", "value": "My Gallery" },
    { "namespace": "app", "key": "slogan", "value": "Photos from my travels" }
  ]
}

For new settings or form changes, read Adding a setting.

Dashboard endpoints are not public photo feeds

Photo access follows album visibility and password rules. Do not expose the authenticated dashboard photo list as a public API.

Released under the MIT License.