Introduction
1. Resource Resolver API
A Collection of API endpoints used for interacting with IR IIIF Service’s cached resource URLs.
1.1. Get Resource URL
A GET
to the /resources/{id}
endpoint which will return the resource URL.
1.1.1. Sample Request
GET /resources/683b3040-8456-31fd-9cbc-9df1b9c31146 HTTP/1.1
Accept: text/plain
Host: localhost:8080
1.1.2. Path Parameters
Parameter | Description |
---|---|
|
The resource id. |
1.1.3. Sample Response
HTTP/1.1 200 OK
Content-Type: text/plain;charset=UTF-8
Content-Length: 41
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
http://localhost:9000/fcrepo/rest/image01
1.1.4. Example Curl Request
$ curl 'http://localhost:8080/resources/683b3040-8456-31fd-9cbc-9df1b9c31146' -i -X GET \
-H 'Accept: text/plain'
1.2. Redirect to Resource
A GET
to the /resources/{id}/redirect
endpoint which will redirect to the resource.
1.2.1. Sample Request
GET /resources/683b3040-8456-31fd-9cbc-9df1b9c31146/redirect HTTP/1.1
Accept: application/json
Host: localhost:8080
1.2.2. Path Parameters
Parameter | Description |
---|---|
|
The resource id. |
1.2.3. Sample Response
HTTP/1.1 301 Moved Permanently
Content-Language: en
Location: http://localhost:9000/fcrepo/rest/image01
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
1.2.4. Example Curl Request
$ curl 'http://localhost:8080/resources/683b3040-8456-31fd-9cbc-9df1b9c31146/redirect' -i -X GET \
-H 'Accept: application/json'
1.3. Get Resource Id
A GET
request with query parameter uri
to the /resources
endpoint which will return the resource id.
1.3.1. Sample Request
GET /resources/lookup?uri=fubar HTTP/1.1
Accept: text/plain
Host: localhost:8080
1.3.2. Request Parameters
Parameter | Description |
---|---|
|
The resource URI. |
1.3.3. Sample Response
HTTP/1.1 400 Bad Request
Content-Type: text/plain;charset=UTF-8
Content-Length: 22
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Not a valid URL: fubar
1.3.4. Example Curl Request
$ curl 'http://localhost:8080/resources/lookup?uri=fubar' -i -X GET \
-H 'Accept: text/plain'
1.4. Post Resource
A POST
request with query parameter uri
to the /resources
endpoint which will cache resource URL and return the resource id.
1.4.1. Sample Request
POST /resources HTTP/1.1
Accept: text/plain
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
uri=http%3A%2F%2Flocalhost%3A9000%2Ffcrepo%2Frest%2Fimage03
1.4.2. Request Parameters
Parameter | Description |
---|---|
|
The resource URI. |
1.4.3. Sample Response
HTTP/1.1 201 Created
Content-Type: text/plain;charset=UTF-8
Content-Length: 36
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
faddcc2e-4b31-3321-888f-328720130fc1
1.4.4. Example Curl Request
$ curl 'http://localhost:8080/resources' -i -X POST \
-H 'Accept: text/plain' \
-d 'uri=http%3A%2F%2Flocalhost%3A9000%2Ffcrepo%2Frest%2Fimage03'
1.5. Put Resource
A PUT
request with query parameter uri
to the /resources
endpoint which will update cached resource URL and return the resource id.
1.5.1. Sample Request
PUT /resources HTTP/1.1
Accept: text/plain
Host: localhost:8080
Content-Type: application/x-www-form-urlencoded
uri=http%3A%2F%2Flocalhost%3A9000%2Ffcrepo%2Frest%2Fimage01
1.5.2. Request Parameters
Parameter | Description |
---|---|
|
The resource URI. |
1.5.3. Sample Response
HTTP/1.1 200 OK
Content-Type: text/plain;charset=UTF-8
Content-Length: 36
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
683b3040-8456-31fd-9cbc-9df1b9c31146
1.5.4. Example Curl Request
$ curl 'http://localhost:8080/resources' -i -X PUT \
-H 'Accept: text/plain' \
-d 'uri=http%3A%2F%2Flocalhost%3A9000%2Ffcrepo%2Frest%2Fimage01'
1.6. Remove Resource
A DELETE
to the /resources/{id}
endpoint which will remove the cached resource URL.
1.6.1. Sample Request
DELETE /resources/683b3040-8456-31fd-9cbc-9df1b9c31146 HTTP/1.1
Accept: text/plain
Host: localhost:8080
1.6.2. Path Parameters
Parameter | Description |
---|---|
|
The resource id. |
1.6.3. Sample Response
HTTP/1.1 204 No Content
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
1.6.4. Example Curl Request
$ curl 'http://localhost:8080/resources/683b3040-8456-31fd-9cbc-9df1b9c31146' -i -X DELETE \
-H 'Accept: text/plain'
2. Fedora IIIF Manifest Generation API
A Collection of API endpoints used for generating various IIIF manifests from Fedora PCDM.
2.1. Collection Manifest
A GET
to the /fedora/collection/{context}
endpoint which will return the collection manifest for the provided context.
2.1.1. Sample Request
GET /fedora/collection/cars_pcdm HTTP/1.1
Accept: application/json
Host: localhost:8080
2.1.2. Path Parameters
Parameter | Description |
---|---|
|
The context path. |
2.1.3. Sample Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 1500
{
"@context": "http://iiif.io/api/presentation/2/context.json",
"@id": "http://localhost:9000/fedora-pcdm/collection/mwbObjects/TGWCatalog",
"@type": "sc:Collection",
"attribution": "Bob Boring",
"description": [
"A page level collection of The Great War exhibit catalog.",
"The assets are JPEGs created from TIFFs created when the catalog was digitized."
],
"label": [
"The Great War Exhibit Catalog",
"TGW_Catalog"
],
"logo": "https://library.tamu.edu/assets/images/tamu-logos/TAM-PrimaryMarkB.png",
"manifests": [
{
"@id": "http://localhost:9000/fedora-pcdm/presentation/mwbObjects/TGWCatalog/Pages/ExCat0084",
"@type": "sc:Manifest",
"label": "ExCat0084"
}
],
"metadata": [
{
"label": "identifier",
"value": "TGW_Catalog"
},
{
"label": "references",
"value": "The Great War Exhibit Catalog"
},
{
"label": "abstract",
"value": "Web presentation images for The Great War catalog. These images will be part of a IIIF Manifest version of the document."
},
{
"label": "isPartOf",
"value": "The Great War Exhibit"
},
{
"label": "title",
"value": "The Great War Exhibit Catalog"
},
{
"label": "license",
"value": "Test license"
},
{
"label": "contributor",
"value": "Bob Boring"
},
{
"label": "context",
"value": "mwbObjects/TGWCatalog"
}
],
"viewingHint": "multi-part"
}
2.1.4. Example Curl Request
$ curl 'http://localhost:8080/fedora/collection/cars_pcdm' -i -X GET \
-H 'Accept: application/json'
2.2. Presentation Manifest
A GET
to the /fedora/presentation/{context}
endpoint which will return the presentation manifest for the provided context.
2.2.1. Sample Request
GET /fedora/presentation/cars_pcdm_objects/chevy HTTP/1.1
Accept: application/json
Host: localhost:8080
2.2.2. Path Parameters
Parameter | Description |
---|---|
|
The context path. |
2.2.3. Sample Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 3903
{
"@context": "http://iiif.io/api/presentation/2/context.json",
"@id": "http://localhost:9000/fedora-pcdm/presentation/mwbObjects/TGWCatalog/Pages/ExCat0084",
"@type": "sc:Manifest",
"attribution": "Bob Boring",
"description": [
"There is a smudge",
"Back Cover"
],
"label": "ExCat0084",
"license": "Test license",
"logo": "https://library.tamu.edu/assets/images/tamu-logos/TAM-PrimaryMarkB.png",
"metadata": [
{
"label": "date",
"value": "1/5/2018"
},
{
"label": "identifier",
"value": "ExCat0084"
},
{
"label": "format",
"value": "jpeg"
},
{
"label": "isPartOf",
"value": " The Great War Catalog, page Back Cover"
},
{
"label": "license",
"value": "Test license"
},
{
"label": "contributor",
"value": "Bob Boring"
},
{
"label": "context",
"value": "mwbObjects/TGWCatalog/Pages/ExCat0084"
}
],
"sequences": [
{
"@id": "http://localhost:9000/fedora-pcdm/sequence/mwbObjects/TGWCatalog/Pages/ExCat0084",
"@type": "sc:Sequence",
"canvases": [
{
"@id": "http://localhost:9000/fedora-pcdm/canvas/mwbObjects/TGWCatalog/Pages/ExCat0084",
"@type": "sc:Canvas",
"height": 3000,
"images": [
{
"@id": "http://localhost:8182/iiif/2/ZmVkb3JhLXBjZG06bXdiT2JqZWN0cy9UR1dDYXRhbG9nL1BhZ2VzL0V4Q2F0MDA4NC9maWxlcy9FeENhdDAwODQuanBn/info.json",
"@type": "oa:Annotation",
"motivation": "sc:painting",
"on": "http://localhost:9000/fedora-pcdm/canvas/mwbObjects/TGWCatalog/Pages/ExCat0084",
"resource": {
"@id": "http://localhost:8182/iiif/2/ZmVkb3JhLXBjZG06bXdiT2JqZWN0cy9UR1dDYXRhbG9nL1BhZ2VzL0V4Q2F0MDA4NC9maWxlcy9FeENhdDAwODQuanBn/full/full/0/default.jpg",
"@type": "dctypes:Image",
"format": "image/png; charset=utf-8",
"height": 3000,
"service": {
"label": "Fedora IIIF Image Resource Service",
"profile": "http://iiif.io/api/image/2/level0.json",
"@context": "http://iiif.io/api/image/2/context.json",
"@id": "http://localhost:8182/iiif/2/ZmVkb3JhLXBjZG06bXdiT2JqZWN0cy9UR1dDYXRhbG9nL1BhZ2VzL0V4Q2F0MDA4NC9maWxlcy9FeENhdDAwODQuanBn"
},
"width": 2400
}
}
],
"label": "ExCat0084",
"metadata": [
{
"label": "date",
"value": "1/5/2018"
},
{
"label": "identifier",
"value": "ExCat0084"
},
{
"label": "format",
"value": "jpeg"
},
{
"label": "isPartOf",
"value": " The Great War Catalog, page Back Cover"
},
{
"label": "license",
"value": "Test license"
},
{
"label": "contributor",
"value": "Bob Boring"
},
{
"label": "context",
"value": "mwbObjects/TGWCatalog/Pages/ExCat0084"
}
],
"width": 2400
}
],
"label": "ExCat0084"
}
],
"thumbnail": {
"@id": "http://localhost:8182/iiif/2/ZmVkb3JhLXBjZG06bXdiT2JqZWN0cy9UR1dDYXRhbG9nL1BhZ2VzL0V4Q2F0MDA4NC9maWxlcy9FeENhdDAwODQuanBn/full/!100,100/0/default.jpg",
"service": {
"label": "Fedora IIIF Image Resource Service",
"profile": "http://iiif.io/api/image/2/level0.json",
"@context": "http://iiif.io/api/image/2/context.json",
"@id": "http://localhost:8182/iiif/2/ZmVkb3JhLXBjZG06bXdiT2JqZWN0cy9UR1dDYXRhbG9nL1BhZ2VzL0V4Q2F0MDA4NC9maWxlcy9FeENhdDAwODQuanBn"
}
}
}
2.2.4. Example Curl Request
$ curl 'http://localhost:8080/fedora/presentation/cars_pcdm_objects/chevy' -i -X GET \
-H 'Accept: application/json'
2.3. Sequence Manifest
A GET
to the /fedora/sequence/{context}
endpoint which will return the sequence manifest for the provided context.
2.3.1. Sample Request
GET /fedora/sequence/cars_pcdm_objects/chevy HTTP/1.1
Accept: application/json
Host: localhost:8080
2.3.2. Path Parameters
Parameter | Description |
---|---|
|
The context path. |
2.3.3. Sample Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 2135
{
"@id": "http://localhost:9000/fedora-pcdm/sequence/mwbObjects/TGWCatalog/Pages/ExCat0084",
"@type": "sc:Sequence",
"canvases": [
{
"@id": "http://localhost:9000/fedora-pcdm/canvas/mwbObjects/TGWCatalog/Pages/ExCat0084",
"@type": "sc:Canvas",
"height": 3000,
"images": [
{
"@id": "http://localhost:8182/iiif/2/ZmVkb3JhLXBjZG06bXdiT2JqZWN0cy9UR1dDYXRhbG9nL1BhZ2VzL0V4Q2F0MDA4NC9maWxlcy9FeENhdDAwODQuanBn/info.json",
"@type": "oa:Annotation",
"motivation": "sc:painting",
"on": "http://localhost:9000/fedora-pcdm/canvas/mwbObjects/TGWCatalog/Pages/ExCat0084",
"resource": {
"@id": "http://localhost:8182/iiif/2/ZmVkb3JhLXBjZG06bXdiT2JqZWN0cy9UR1dDYXRhbG9nL1BhZ2VzL0V4Q2F0MDA4NC9maWxlcy9FeENhdDAwODQuanBn/full/full/0/default.jpg",
"@type": "dctypes:Image",
"format": "image/png; charset=utf-8",
"height": 3000,
"service": {
"label": "Fedora IIIF Image Resource Service",
"profile": "http://iiif.io/api/image/2/level0.json",
"@context": "http://iiif.io/api/image/2/context.json",
"@id": "http://localhost:8182/iiif/2/ZmVkb3JhLXBjZG06bXdiT2JqZWN0cy9UR1dDYXRhbG9nL1BhZ2VzL0V4Q2F0MDA4NC9maWxlcy9FeENhdDAwODQuanBn"
},
"width": 2400
}
}
],
"label": "ExCat0084",
"metadata": [
{
"label": "date",
"value": "1/5/2018"
},
{
"label": "identifier",
"value": "ExCat0084"
},
{
"label": "format",
"value": "jpeg"
},
{
"label": "isPartOf",
"value": " The Great War Catalog, page Back Cover"
},
{
"label": "license",
"value": "Test license"
},
{
"label": "contributor",
"value": "Bob Boring"
},
{
"label": "context",
"value": "mwbObjects/TGWCatalog/Pages/ExCat0084"
}
],
"width": 2400
}
],
"label": "ExCat0084"
}
2.3.4. Example Curl Request
$ curl 'http://localhost:8080/fedora/sequence/cars_pcdm_objects/chevy' -i -X GET \
-H 'Accept: application/json'
2.4. Canvas Manifest
A GET
to the /fedora/canvas/{context}
endpoint which will return the canvas manifest for the provided context.
2.4.1. Sample Request
GET /fedora/canvas/cars_pcdm_objects/chevy/pages/page_0 HTTP/1.1
Accept: application/json
Host: localhost:8080
2.4.2. Path Parameters
Parameter | Description |
---|---|
|
The context path. |
2.4.3. Sample Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 1736
{
"@id": "http://localhost:9000/fedora-pcdm/canvas/mwbObjects/TGWCatalog/Pages/ExCat0084",
"@type": "sc:Canvas",
"height": 3000,
"images": [
{
"@id": "http://localhost:8182/iiif/2/ZmVkb3JhLXBjZG06bXdiT2JqZWN0cy9UR1dDYXRhbG9nL1BhZ2VzL0V4Q2F0MDA4NC9maWxlcy9FeENhdDAwODQuanBn/info.json",
"@type": "oa:Annotation",
"motivation": "sc:painting",
"on": "http://localhost:9000/fedora-pcdm/canvas/mwbObjects/TGWCatalog/Pages/ExCat0084",
"resource": {
"@id": "http://localhost:8182/iiif/2/ZmVkb3JhLXBjZG06bXdiT2JqZWN0cy9UR1dDYXRhbG9nL1BhZ2VzL0V4Q2F0MDA4NC9maWxlcy9FeENhdDAwODQuanBn/full/full/0/default.jpg",
"@type": "dctypes:Image",
"format": "image/png; charset=utf-8",
"height": 3000,
"service": {
"label": "Fedora IIIF Image Resource Service",
"profile": "http://iiif.io/api/image/2/level0.json",
"@context": "http://iiif.io/api/image/2/context.json",
"@id": "http://localhost:8182/iiif/2/ZmVkb3JhLXBjZG06bXdiT2JqZWN0cy9UR1dDYXRhbG9nL1BhZ2VzL0V4Q2F0MDA4NC9maWxlcy9FeENhdDAwODQuanBn"
},
"width": 2400
}
}
],
"label": "ExCat0084",
"metadata": [
{
"label": "date",
"value": "1/5/2018"
},
{
"label": "identifier",
"value": "ExCat0084"
},
{
"label": "format",
"value": "jpeg"
},
{
"label": "isPartOf",
"value": " The Great War Catalog, page Back Cover"
},
{
"label": "license",
"value": "Test license"
},
{
"label": "contributor",
"value": "Bob Boring"
},
{
"label": "context",
"value": "mwbObjects/TGWCatalog/Pages/ExCat0084"
}
],
"width": 2400
}
2.4.4. Example Curl Request
$ curl 'http://localhost:8080/fedora/canvas/cars_pcdm_objects/chevy/pages/page_0' -i -X GET \
-H 'Accept: application/json'
2.5. Image Manifest
A GET
to the /fedora/image/{context}
endpoint which will return the image manifest for the provided context.
2.5.1. Sample Request
GET /fedora/image/cars_pcdm_objects/chevy/pages/page_0/files/PTAR_800x400.png HTTP/1.1
Accept: application/json
Host: localhost:8080
2.5.2. Path Parameters
Parameter | Description |
---|---|
|
The context path. |
2.5.3. Sample Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 1529
{
"@context": "http://iiif.io/api/image/2/context.json",
"@id": "http://localhost:8182/iiif/2/8487f722-ac3b-4c73-9cab-79a65d24c923",
"protocol": "http://iiif.io/api/image",
"width": 2400,
"height": 3000,
"sizes": [
{
"width": 75,
"height": 94
},
{
"width": 150,
"height": 188
},
{
"width": 300,
"height": 375
},
{
"width": 600,
"height": 750
},
{
"width": 1200,
"height": 1500
},
{
"width": 2400,
"height": 3000
}
],
"tiles": [
{
"width": 512,
"height": 512,
"scaleFactors": [
1,
2,
4,
8,
16,
32
]
}
],
"profile": [
"http://iiif.io/api/image/2/level2.json",
{
"formats": [
"jpg",
"tif",
"gif",
"png"
],
"maxArea": 400000000,
"qualities": [
"bitonal",
"default",
"gray",
"color"
],
"supports": [
"regionByPx",
"sizeByW",
"sizeByWhListed",
"cors",
"regionSquare",
"sizeByDistortedWh",
"sizeAboveFull",
"canonicalLinkHeader",
"sizeByConfinedWh",
"sizeByPct",
"jsonldMediaType",
"regionByPct",
"rotationArbitrary",
"sizeByH",
"baseUriRedirect",
"rotationBy90s",
"profileLinkHeader",
"sizeByForcedWh",
"sizeByWh",
"mirroring"
]
}
]
}
2.5.4. Example Curl Request
$ curl 'http://localhost:8080/fedora/image/cars_pcdm_objects/chevy/pages/page_0/files/PTAR_800x400.png' -i -X GET \
-H 'Accept: application/json'
3. DSpace IIIF Manifest Generation API
A Collection of API endpoints used for generating various IIIF manifests from DSpace RDF.
3.1. Collection Manifest
A GET
to the /dspace/collection/{context}
endpoint which will return the collection manifest for the provided context.
3.1.1. Sample Request
GET /dspace/collection/123456789/158298 HTTP/1.1
Accept: application/json
Host: localhost:8080
3.1.2. Path Parameters
Parameter | Description |
---|---|
|
The context path. |
3.1.3. Sample Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 801
{
"@context": "http://iiif.io/api/presentation/2/context.json",
"@id": "http://localhost:9000/dspace-rdf/collection/123456789/158299",
"@type": "sc:Collection",
"attribution": "Chevy",
"label": "Cool Cars",
"logo": "https://library.tamu.edu/assets/images/tamu-logos/TAM-PrimaryMarkB.png",
"manifests": [
{
"@id": "http://localhost:9000/dspace-rdf/presentation/123456789/158308",
"@type": "sc:Manifest",
"label": "Corvette"
}
],
"metadata": [
{
"label": "creator",
"value": "Chevy"
},
{
"label": "license",
"value": "Test license"
},
{
"label": "title",
"value": "Cool Cars"
},
{
"label": "context",
"value": "rdf/handle/123456789/158299"
}
],
"viewingHint": "multi-part"
}
3.1.4. Example Curl Request
$ curl 'http://localhost:8080/dspace/collection/123456789/158298' -i -X GET \
-H 'Accept: application/json'
3.2. Presentation Manifest
A GET
to the /dspace/presentation/{context}
endpoint which will return the presentation manifest for the provided context.
3.2.1. Sample Request
GET /dspace/presentation/123456789/158308 HTTP/1.1
Accept: application/json
Host: localhost:8080
3.2.2. Path Parameters
Parameter | Description |
---|---|
|
The context path. |
3.2.3. Sample Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 3105
{
"@context": "http://iiif.io/api/presentation/2/context.json",
"@id": "http://localhost:9000/dspace-rdf/presentation/123456789/158308",
"@type": "sc:Manifest",
"attribution": "Chevy",
"description": "A fast car",
"label": "Corvette",
"license": "Test license",
"logo": "https://library.tamu.edu/assets/images/tamu-logos/TAM-PrimaryMarkB.png",
"metadata": [
{
"label": "date",
"value": "2018-04-24T13:29:59Z^^http://www.w3.org/2001/XMLSchema#dateTime"
},
{
"label": "creator",
"value": "Chevy"
},
{
"label": "license",
"value": "Test license"
},
{
"label": "available",
"value": "2018-04-24T13:29:59Z^^http://www.w3.org/2001/XMLSchema#dateTime"
},
{
"label": "title",
"value": "Corvette"
},
{
"label": "context",
"value": "rdf/handle/123456789/158308"
}
],
"sequences": [
{
"@id": "http://localhost:9000/dspace-rdf/sequence/123456789/158308",
"@type": "sc:Sequence",
"canvases": [
{
"@id": "http://localhost:9000/dspace-rdf/canvas/123456789/158308/1/sports-car-146873_960_720.png",
"@type": "sc:Canvas",
"height": 480,
"images": [
{
"@id": "http://localhost:8182/iiif/2/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwOC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/info.json",
"@type": "oa:Annotation",
"motivation": "sc:painting",
"on": "http://localhost:9000/dspace-rdf/canvas/123456789/158308/1/sports-car-146873_960_720.png",
"resource": {
"@id": "http://localhost:8182/iiif/2/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwOC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/full/full/0/default.jpg",
"@type": "dctypes:Image",
"format": "image/png; charset=utf-8",
"height": 480,
"service": {
"label": "DSpace IIIF Image Resource Service",
"profile": "http://iiif.io/api/image/2/level0.json",
"@context": "http://iiif.io/api/image/2/context.json",
"@id": "http://localhost:8182/iiif/2/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwOC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n"
},
"width": 960
}
}
],
"label": "1sports-car-146873_960_720.png",
"width": 960
}
],
"label": "Corvette"
}
],
"thumbnail": {
"@id": "http://localhost:8182/iiif/2/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwOC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/full/!100,100/0/default.jpg",
"service": {
"label": "DSpace IIIF Image Resource Service",
"profile": "http://iiif.io/api/image/2/level0.json",
"@context": "http://iiif.io/api/image/2/context.json",
"@id": "http://localhost:8182/iiif/2/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwOC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n"
}
}
}
3.2.4. Example Curl Request
$ curl 'http://localhost:8080/dspace/presentation/123456789/158308' -i -X GET \
-H 'Accept: application/json'
3.3. Sequence Manifest
A GET
to the /dspace/sequence/{context}
endpoint which will return the sequence manifest for the provided context.
3.3.1. Sample Request
GET /dspace/sequence/123456789/158308 HTTP/1.1
Accept: application/json
Host: localhost:8080
3.3.2. Path Parameters
Parameter | Description |
---|---|
|
The context path. |
3.3.3. Sample Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 1518
{
"@id": "http://localhost:9000/dspace-rdf/sequence/123456789/158308",
"@type": "sc:Sequence",
"canvases": [
{
"@id": "http://localhost:9000/dspace-rdf/canvas/123456789/158308/1/sports-car-146873_960_720.png",
"@type": "sc:Canvas",
"height": 480,
"images": [
{
"@id": "http://localhost:8182/iiif/2/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwOC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/info.json",
"@type": "oa:Annotation",
"motivation": "sc:painting",
"on": "http://localhost:9000/dspace-rdf/canvas/123456789/158308/1/sports-car-146873_960_720.png",
"resource": {
"@id": "http://localhost:8182/iiif/2/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwOC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/full/full/0/default.jpg",
"@type": "dctypes:Image",
"format": "image/png; charset=utf-8",
"height": 480,
"service": {
"label": "DSpace IIIF Image Resource Service",
"profile": "http://iiif.io/api/image/2/level0.json",
"@context": "http://iiif.io/api/image/2/context.json",
"@id": "http://localhost:8182/iiif/2/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwOC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n"
},
"width": 960
}
}
],
"label": "1sports-car-146873_960_720.png",
"width": 960
}
],
"label": "123456789/158308"
}
3.3.4. Example Curl Request
$ curl 'http://localhost:8080/dspace/sequence/123456789/158308' -i -X GET \
-H 'Accept: application/json'
3.4. Canvas Manifest
A GET
to the /dspace/canvas/{context}
endpoint which will return the canvas manifest for the provided context.
3.4.1. Sample Request
GET /dspace/canvas/123456789/158308/1/sports-car-146873_960_720.png HTTP/1.1
Accept: application/json
Host: localhost:8080
3.4.2. Path Parameters
Parameter | Description |
---|---|
|
The context path. |
3.4.3. Sample Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 1254
{
"height": 480,
"images": [
{
"motivation": "sc:painting",
"on": "http://localhost:9000/dspace-rdf/canvas/123456789/158308/1/sports-car-146873_960_720.png",
"resource": {
"format": "image/png; charset=utf-8",
"height": 480,
"width": 960,
"service": {
"label": "DSpace IIIF Image Resource Service",
"profile": "http://iiif.io/api/image/2/level0.json",
"@context": "http://iiif.io/api/image/2/context.json",
"@id": "http://localhost:8182/iiif/2/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwOC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n"
},
"@id": "http://localhost:8182/iiif/2/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwOC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/full/full/0/default.jpg",
"@type": "dctypes:Image"
},
"@id": "http://localhost:8182/iiif/2/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwOC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF83MjAucG5n/info.json",
"@type": "oa:Annotation"
}
],
"label": "1sports-car-146873_960_720.png",
"width": 960,
"@type": "sc:Canvas",
"@id": "http://localhost:9000/dspace-rdf/canvas/123456789/158308/1/sports-car-146873_960_720.png"
}
3.4.4. Example Curl Request
$ curl 'http://localhost:8080/dspace/canvas/123456789/158308/1/sports-car-146873_960_720.png' -i -X GET \
-H 'Accept: application/json'
3.5. Image Manifest
A GET
to the /dspace/image/{context}
endpoint which will return the image manifest for the provided context.
3.5.1. Sample Request
GET /dspace/image/123456789/158308/1/sports-car-146873_960_20.png HTTP/1.1
Accept: application/json
Host: localhost:8080
3.5.2. Path Parameters
Parameter | Description |
---|---|
|
The context path. |
3.5.3. Sample Response
HTTP/1.1 200 OK
Content-Type: application/json
X-Content-Type-Options: nosniff
X-XSS-Protection: 1; mode=block
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: 0
X-Frame-Options: DENY
Content-Length: 1323
{
"@context":"http://iiif.io/api/image/2/context.json",
"@id":"http://localhost:8182/iiif/2/ZHNwYWNlLXJkZjp4bWx1aS9iaXRzdHJlYW0vMTIzNDU2Nzg5LzE1ODMwOC8xL3Nwb3J0cy1jYXItMTQ2ODczXzk2MF8yMC5wbmc=",
"protocol":"http://iiif.io/api/image",
"width":960,
"height":480,
"sizes":[
{
"width":240,
"height":120
},
{
"width":480,
"height":240
}
],
"tiles":[
{
"width":960,
"height":480,
"scaleFactors":[
1,
2,
4
]
}
],
"profile":[
"http://iiif.io/api/image/2/level2.json",
{
"formats":[
"jpg",
"tif",
"gif",
"png"
],
"maxArea":400000000,
"qualities":[
"bitonal",
"default",
"gray",
"color"
],
"supports":[
"sizeByW",
"regionByPx",
"sizeByWhListed",
"cors",
"regionSquare",
"sizeByDistortedWh",
"sizeAboveFull",
"canonicalLinkHeader",
"sizeByConfinedWh",
"sizeByPct",
"jsonldMediaType",
"regionByPct",
"sizeByH",
"rotationArbitrary",
"baseUriRedirect",
"rotationBy90s",
"profileLinkHeader",
"sizeByForcedWh",
"sizeByWh",
"mirroring"
]
}
]
}
3.5.4. Example Curl Request
$ curl 'http://localhost:8080/dspace/image/123456789/158308/1/sports-car-146873_960_20.png' -i -X GET \
-H 'Accept: application/json'