This version of the manual refers to an earlier version of the software.

Remote Management

Control Panel

The Control Panel is a web-based administrative interface with monitoring and configuration capabilities. It is disabled by default. To enable it, set endpoint.admin.enabled to true and set a username and secret in the corresponding endpoint.admin.* keys. Then, navigate to /admin in a web browser and log in.

Changes made in the Control Panel will instantly update the application's configuration, although some changes will require a restart to take effect. They will also be written to the configuration file within a few seconds.


HTTP API

The HTTP API is disabled by default, but can be enabled by setting the endpoint.api.enabled configuration option to true.

All API methods require HTTP Basic authentication. Credentials are set in endpoint.api.username and endpoint.api.secret.
Methods that call POST /tasks will create an asynchronous task identified by a UUID and submit it to a processing queue. Its status can be checked via GET /tasks/:uuid. Task objects are retained in memory, but are not persisted, so checking a task after a restart will result in a 404 Not Found response.

Configuration

Retrieve the configuration since 3.3

Request Method GET
URI /configuration
Expected Response Status 200 OK
Expected Response Content Type application/json

Update the configuration since 3.3

Request Method PUT
URI /configuration
Request Content Type application/json
Request Body Should contain the configuration keys to change:
{
  "config_key_1" : "some value",
  "config_key_2" : "some value",
  "config_key_3" : "some value"
}
(It isn't necessary to supply all keys; only the ones to change.)
Expected Response 200 OK
Notes The in-memory configuration will be updated instantly, although some key changes won't take effect until the application is restarted. Changes will also be written to the configuration file within a few seconds.

Caching

Purge invalid/expired content from all caches since 3.4

Request Method POST
URI /tasks
Request Content Type application/json
Request Body
{
  "verb" : "PurgeInvalidFromCache"
}
Expected Response 202 Accepted with task URI in Location header

Purge all content relating to an individual source image from all caches since 3.3

This method is deprecated and will be removed in version 4.0. Please use the method that will be replacing it.
Request Method DELETE
URI /cache/:identifier
Expected Response 200 OK

Purge all content relating to an individual source image from all caches since 3.4

Request Method POST
URI /tasks
Request Content Type application/json
Request Body
{
  "verb" : "PurgeItemFromCache",
  "identifier" : "MyIdentifier"
}
Expected Response 202 Accepted with task URI in Location header

Purge all content from all caches since 3.4

Request Method POST
URI /tasks
Request Content Type application/json
Request Body
{
  "verb" : "PurgeCache"
}
Expected Response 202 Accepted with task URI in Location header

Purge the delegate method invocation cache since 3.4

Request Method POST
URI /tasks
Request Content Type application/json
Request Body
{
  "verb" : "PurgeDelegateMethodInvocationCache"
}
Expected Response 202 Accepted with task URI in Location header

Purge the info cache since 3.4

Request Method POST
URI /tasks
Request Content Type application/json
Request Body
{
  "verb" : "PurgeInfoCache"
}
Expected Response 202 Accepted with task URI in Location header