Skip to content

Server 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 /api/server/apk-links

Retrieve links to the signed APKs for the current server version, from the release destination configured for this server.

Authentication: API key. Permission: server.apkLinks.

Responses

Field definitions: ServerApkLinksDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ServerApkLinksDto"
        }
      }
    },
    "description": ""
  },
  "404": {
    "description": "No signed Android release is configured for this server"
  }
}

Get app releases

GET /api/server/app-releases

Retrieve the signed release destinations of the mobile apps for this server, or that none is configured.

Authentication: API key. Permission: server.about.

Responses

Field definitions: ServerAppReleasesResponseDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ServerAppReleasesResponseDto"
        }
      }
    },
    "description": ""
  }
}

Library preparation for this authenticated device

GET /api/server/library-setup

Authentication: API key. Permission: sync.stream.

Responses

Field definitions: LibrarySetupStatusDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/LibrarySetupStatusDto"
        }
      }
    },
    "description": ""
  }
}

Start the managed library rescan

POST /api/server/library-setup/begin

Administrator access required.

Authentication: API key. Permission: all.

Responses

Field definitions: LibrarySetupStatusDto

{
  "201": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/LibrarySetupStatusDto"
        }
      }
    },
    "description": ""
  }
}

Finish after catalog and browsing previews are cached

POST /api/server/library-setup/finish

Authentication: API key. Permission: sync.stream.

Request body

Required.

Field definitions: FinishLibrarySetupDto

{
  "application/json": {
    "schema": {
      "$ref": "#/components/schemas/FinishLibrarySetupDto"
    }
  }
}

Responses

Field definitions: LibrarySetupStatusDto

{
  "201": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/LibrarySetupStatusDto"
        }
      }
    },
    "description": ""
  }
}

Manager machine-authenticated setup status

GET /api/server/library-setup/manager

Authentication: No API key required. Permission: Public.

Parameters

NameWhereRequiredDescription
x-frameleaf-managerheaderYesstring
Parameter types, defaults and constraints
[
  {
    "name": "x-frameleaf-manager",
    "required": true,
    "in": "header",
    "schema": {
      "type": "string"
    }
  }
]

Responses

Field definitions: LibrarySetupStatusDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/LibrarySetupStatusDto"
        }
      }
    },
    "description": ""
  }
}

Manager machine-authenticated rescan

POST /api/server/library-setup/manager

Authentication: No API key required. Permission: Public.

Parameters

NameWhereRequiredDescription
x-frameleaf-managerheaderYesstring
Parameter types, defaults and constraints
[
  {
    "name": "x-frameleaf-manager",
    "required": true,
    "in": "header",
    "schema": {
      "type": "string"
    }
  }
]

Responses

Field definitions: LibrarySetupStatusDto

{
  "201": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/LibrarySetupStatusDto"
        }
      }
    },
    "description": ""
  }
}

Get supported media types

GET /api/server/media-types

Retrieve all media types supported by the server.

Authentication: No API key required. Permission: Public.

Responses

Field definitions: ServerMediaTypesResponseDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ServerMediaTypesResponseDto"
        }
      }
    },
    "description": ""
  }
}

Get statistics

GET /api/server/statistics

Retrieve statistics about the entire Frameleaf instance such as asset counts.

Administrator access required.

Authentication: API key. Permission: server.statistics.

Responses

Field definitions: ServerStatsResponseDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ServerStatsResponseDto"
        }
      }
    },
    "description": ""
  }
}

Get storage

GET /api/server/storage

Retrieve the current storage utilization information of the server.

Authentication: API key. Permission: server.storage.

Responses

Field definitions: ServerStorageResponseDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ServerStorageResponseDto"
        }
      }
    },
    "description": ""
  }
}

Get server version

GET /api/server/version

Retrieve the current server version in semantic versioning (semver) format.

Authentication: No API key required. Permission: Public.

Responses

Field definitions: ServerVersionResponseDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ServerVersionResponseDto"
        }
      }
    },
    "description": ""
  }
}

Get version check status

GET /api/server/version-check

Retrieve information about the last time the version check ran.

Authentication: API key. Permission: server.versionCheck.

Responses

Field definitions: VersionCheckStateResponseDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/VersionCheckStateResponseDto"
        }
      }
    },
    "description": ""
  }
}

Check for updates now

POST /api/server/version-check

Ask Frameleaf's release feed for the newest version now, whether or not automatic checks are on (About → Check for updates). No other service is contacted.

Administrator access required.

Authentication: API key. Permission: server.versionCheck.

Responses

Field definitions: ReleaseEventV1

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "$ref": "#/components/schemas/ReleaseEventV1"
        }
      }
    },
    "description": ""
  }
}

Get version history

GET /api/server/version-history

Retrieve a list of past versions the server has been on.

Authentication: No API key required. Permission: Public.

Responses

Field definitions: ServerVersionHistoryResponseDto

{
  "200": {
    "content": {
      "application/json": {
        "schema": {
          "items": {
            "$ref": "#/components/schemas/ServerVersionHistoryResponseDto"
          },
          "type": "array"
        }
      }
    },
    "description": ""
  }
}