This endpoint is available at /iiif/3.
This endpoint can be enabled or disabled using the endpoint.iiif.3.enabled
configuration key.
Version 3.0 of this API is implemented at a compliance level of 2.
sizes
endpoint.iiif.min_size
. (To restrict access to only these sizes, use the endpoint.iiif.restrict_to_sizes
configuration option.)tiles
width
and height
are a multiple of the native tile dimensions no smaller than the value of the endpoint.iiif.min_tile_size
configuration key.endpoint.iiif.min_tile_size
configuration key.maxArea
max_pixels
and max_scale
.Custom keys can be added to the information JSON response, such as to declare service profiles or add a rights statement. The delegate class needs to implement the extra_iiif3_information_response_keys()
method. An example implementation follows:
This endpoint is available at /iiif/2.
This endpoint can be enabled or disabled using the endpoint.iiif.2.enabled
configuration key.
Version 2.1.1 of this API is implemented. Compliance level is dynamically computed and declared on a per-processor basis. Most processors are "Level 2"-compliant.
sizes
endpoint.iiif.min_size
. (To restrict access to only these sizes, use the endpoint.iiif.restrict_to_sizes
configuration option.)tiles
width
and height
are a multiple of the native tile dimensions no smaller than the value of the endpoint.iiif.min_tile_size
configuration key.endpoint.iiif.min_tile_size
configuration key.profile.formats
profile.maxArea
max_pixels
and max_scale
.profile.qualities
profile.supports
attribution
, service
, etc.)Custom keys can be added to the information JSON response, such as to declare service profiles or, beginning in Image API 2.1, an optional rights statement and/or logo. The delegate class needs to implement the extra_iiif2_information_response_keys()
method. An example implementation follows:
This endpoint is available at /iiif/1.
This endpoint can be enabled or disabled using the endpoint.iiif.1.enabled
configuration key.
Version 1.1 of this API is implemented. Compliance level is dynamically computed and declared on a per-processor basis. Most processors are "Level 2"-compliant.
tile_width
and tile_height
endpoint.iiif.min_tile_size
configuration key, or the full image dimensions.endpoint.iiif.min_tile_size
.formats
qualities
profile
All endpoints support these additional features:
Some image formats support multiple pages within the same image file. When using PdfBoxProcessor or some other processor/format combination that supports multiple pages, a page number argument can be supplied in the identifier path component. See Meta-Identifiers for more information.
Metadata embedded within most supported formats can be exposed in information responses. See Viewing Metadata.
The Content-Disposition
HTTP response header tells clients whether to attempt to display a response entity inline or download it, perhaps accompanied by a user prompt. A response-content-disposition
query argument can be used to suggest a value to override that on a per-request basis. This is useful for "linking to a download." For example, the following URL will cause web browsers to download the image identified by some-identifier
and save it as image.jpg:
http://my-image-server/iiif/3/some-identifier/full/max/0/default.jpg ?response-content-disposition=attachment%3B%20filename%3Dimage.jpg
The value of the query argument must be URL-encoded. In this case, the decoded form is: attachment; filename=image.jpg
.
The behavior of the caches can be overridden on a per-request basis by supplying a cache
URL query argument with one of the following values:
nocache
or false
Cache-Control
response header that may be configured.recache
The Control Panel is a web-based administrative interface with monitoring and configuration capabilities. To enable it, set endpoint.admin.enabled
to true
and set a username and secret in the endpoint.admin.*
keys. Then, navigate to /admin in a web browser.
Changes made in the Control Panel will instantly update the application configuration, although some will require a restart to take effect. They will also be written to the configuration file within a few seconds.
A health check endpoint is available at /health. By default, it simply returns HTTP 200 OK
, but if endpoint.health.dependency_check
is set to true
, it also performs several other checks:
This makes the for a more thorough health check, but also a slower one that may be redundant if these services are already monitored.
The JSON response includes one of three color codes:
GREEN
indicates normal functionality.YELLOW
indicates a warning condition.RED
indicates a failure condition.HTTP 200 is returned for GREEN
status, and HTTP 500 for all other statuses.
The HTTP API is disabled by default, but can be enabled by setting the endpoint.api.enabled
configuration option to true
.
All methods require HTTP Basic authentication. Credentials are set in endpoint.api.username
and endpoint.api.secret
.
Invoking a POST /tasks
request creates an asynchronous task identified by a UUID and submits it to a processing queue. Its status can be checked via GET /tasks/:uuid
. Task records are retained in memory, but are not persisted, so checking a task after a restart will result in a 404 Not Found
response.
Request Method | GET |
URI | /status |
Expected Response Status | 200 OK |
Expected Response Content Type | application/json |
Request Method | GET |
URI | /configuration |
Expected Response Status | 200 OK |
Expected Response Content Type | application/json |
Request Method | PUT |
URI | /configuration |
Request Content Type | application/json |
Request Body | Should contain the configuration keys to change: (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. |
Request Method | POST |
URI | /tasks |
Request Content Type | application/json |
Request Body | |
Expected Response | 202 Accepted with task URI in Location header |
Request Method | POST |
URI | /tasks |
Request Content Type | application/json |
Request Body | |
Expected Response | 202 Accepted with task URI in Location header |
Request Method | POST |
URI | /tasks |
Request Content Type | application/json |
Request Body | |
Expected Response | 202 Accepted with task URI in Location header |
Request Method | POST |
URI | /tasks |
Request Content Type | application/json |
Request Body | |
Expected Response | 202 Accepted with task URI in Location header |