Vocabularies
Two small endpoints tell you the controlled vocabularies this instance of the platform uses: the access conditions that can be applied to preserved material, and the types a logical structure Range can have.
They exist so that a user interface, a script or an integration never has to hard-code a list. Both are per-instance configuration, not part of the API’s definition: a different institution, or the same institution’s test system, will legitimately return different values. Read them at startup, cache them for as long as you like, and offer what they return.
Access conditions
Section titled “Access conditions”GET /access-conditions[ { "value": "dlip-open", "label": "Open" }, { "value": "dlip-2-restricted", "label": "Restricted" }, { "value": "dlip-3-protected", "label": "Protected" }, { "value": "dlip-4-closed", "label": "Closed" }, { "value": "dlip-unassessed", "label": "Unassessed" }]| Property | Description |
|---|---|
value |
The string recorded against a file, folder or Range. This is what goes into METS and what comes back in accessRestrictions. |
label |
A human-readable name for it, for a drop-down or a report. |
Access conditions are applied to individual files, to folders, and to logical Ranges, and they are inherited: a file with none of its own takes the ones that apply to the nearest ancestor that has some. Both values are visible on the objects in a Deposit’s file listing, as accessRestrictions (set here) and effectiveAccessRestrictions (what actually applies). Where they end up in the preserved METS is described in METS we write.
Range types
Section titled “Range types”GET /range-types["Collection", "Item"]A plain list of strings. Each is a permitted value for the Type of a Range in a logical structure — the METS logical structMap divisions that describe how the files are arranged for a reader: a volume, a chapter, an item within an album.
The values are again per-instance. Collection and Item are the two a standard installation configures, but nothing in the API requires them, and the endpoint returns an empty list if the instance has configured none.
You will meet these values in two places: in the Type metadata of a Range when a Deposit is presented as a IIIF Manifest, and in the structure editor of the Preservation UI, which populates its dropdown from this endpoint.