openapi: 3.2.0 info: title: Keio University Media Center Digital Collections IIIF API version: '2.1' summary: IIIF Presentation API 2.1 manifests and IIIF Image API 2.0 Level 1 image delivery for Keio University Libraries' digitised rare-book and special-collection holdings. description: 'The Keio University Media Center (Keio University Libraries) publishes its digitised special collections as IIIF — the International Image Interoperability Framework — on two hosts it owns outright: `dcollections.lib.keio.ac.jp` serves IIIF Presentation API 2.1 manifests, and `iiif.lib.keio.ac.jp` serves IIIF Image API 2.0 Level 1 tiles from an IIPImage server.' termsOfService: https://dcollections.lib.keio.ac.jp/ja/about contact: name: Keio University Media Center (Keio University Libraries) url: https://www.lib.keio.ac.jp/en/ x-operator: institution x-operator-evidence: Both dcollections.lib.keio.ac.jp and iiif.lib.keio.ac.jp are under Keio University's own registrable domain keio.ac.jp. The manifest's own `@id` is https://dcollections.lib.keio.ac.jp/sites/default/files/iiif/GTB/manifest.json and its `attribution` is "慶應義塾大学メディアセンター / Keio University Libraries". The image service is an institution-hosted IIPImage server; there is no vendor host in the delivery path and no shared vendor contract — IIIF is an open specification, not a product, and this deployment is Keio's own. x-provenance: generated: '2026-09-01' method: derived source: Written from live probes on 2026-09-01 of https://dcollections.lib.keio.ac.jp/sites/default/files/iiif/GTB/manifest.json (HTTP 200, 458,789 bytes, application/json, 656 canvases), https://iiif.lib.keio.ac.jp/iipsrv/GTB/tif/000a.tif/info.json (HTTP 200) and https://iiif.lib.keio.ac.jp/iipsrv/GTB/tif/000a.tif/full/200,/0/default.jpg (HTTP 200, image/jpeg, 81,193 bytes). Raw responses saved to examples/. license: name: Digital Collections terms of use — Keio University Media Center url: https://dcollections.lib.keio.ac.jp/ja/about servers: - url: https://dcollections.lib.keio.ac.jp description: IIIF Presentation API 2.1 manifest host (Keio University Media Center) - url: https://iiif.lib.keio.ac.jp description: IIIF Image API 2.0 Level 1 host (IIPImage, Keio University Media Center) tags: - name: IIIF description: IIIF Presentation and Image API surfaces for Keio's digitised collections. paths: /sites/default/files/iiif/{archive}/manifest.json: get: tags: - IIIF operationId: getIiifManifest summary: Retrieve a IIIF Presentation API 2.1 manifest for a digitised collection description: Returns a `sc:Manifest` in the IIIF Presentation API 2 context describing one digitised item or collection — label, attribution, license, and a `sequences[0].canvases[]` array in which each canvas carries an image resource whose `service` points at the Image API host. Confirmed on `archive=GTB` (Gutenberg 42-line Bible, 656 canvases). Anonymous; no authentication. parameters: - name: archive in: path required: true description: 'Collection archive code. Confirmed value: `GTB` (Gutenberg 42-line Bible). Other collections exist on the site (fukuzawa, incunabula, kanseki, gyosai, bon-ukiyoe, anatomia, aramata, fusen, icp) but their archive codes are not published and were not resolvable by probe, so they are deliberately not enumerated here.' schema: type: string examples: - GTB responses: '200': description: IIIF Presentation API 2.1 manifest. content: application/json: schema: $ref: '#/components/schemas/IiifManifest' examples: gutenberg: summary: Gutenberg 42-line Bible, canvases truncated to two externalValue: ../examples/keio-iiif-manifest-excerpt.json '404': description: No manifest for the requested archive code. /iipsrv/{archive}/tif/{image}/info.json: get: tags: - IIIF operationId: getIiifImageInfo summary: Retrieve IIIF Image API 2.0 image information description: Returns the image information document for a single source image — dimensions, the precomputed `sizes` pyramid, the `tiles` specification and the compliance profile. Observed profile is `http://iiif.io/api/image/2/level1.json` with formats `jpg`, qualities `native, color, gray`, and support for `regionByPct`, `sizeByForcedWh`, `sizeByWh`, `sizeAboveFull`, `rotationBy90s`, `mirroring` and `gray`. Served from the `https://iiif.lib.keio.ac.jp` server. parameters: - name: archive in: path required: true schema: type: string examples: - GTB - name: image in: path required: true description: Source image filename, including the `.tif` extension. schema: type: string examples: - 000a.tif responses: '200': description: IIIF Image API 2.0 image information document. content: application/json: schema: $ref: '#/components/schemas/IiifImageInfo' examples: gutenbergFolio: summary: 4500 x 6200 source folio, seven-level size pyramid externalValue: ../examples/keio-iiif-image-info.json /iipsrv/{archive}/tif/{image}/{region}/{size}/{rotation}/{quality}.{format}: get: tags: - IIIF operationId: getIiifImage summary: Retrieve a region of an image at a given size, rotation and quality description: The IIIF Image API 2.0 image request. Confirmed live at Level 1 compliance — `/full/200,/0/default.jpg` returned HTTP 200, `image/jpeg`, 81,193 bytes. The parameter grammar is the IIIF Image API 2.0 grammar; the supported subset for this server is enumerated in the `info.json` `profile` block rather than restated here. parameters: - name: archive in: path required: true schema: type: string examples: - GTB - name: image in: path required: true schema: type: string examples: - 000a.tif - name: region in: path required: true description: '`full`, `square`, `x,y,w,h`, or `pct:x,y,w,h`.' schema: type: string examples: - full - name: size in: path required: true description: '`full`, `max`, `w,`, `,h`, `pct:n`, `w,h`, or `!w,h`.' schema: type: string examples: - 200, - name: rotation in: path required: true description: Degrees, optionally prefixed with `!` for mirroring. This server supports rotationBy90s. schema: type: string examples: - '0' - name: quality in: path required: true schema: type: string enum: - default - native - color - gray - name: format in: path required: true schema: type: string enum: - jpg responses: '200': description: The requested image region. content: image/jpeg: schema: type: string format: binary components: schemas: IiifManifest: $ref: ../json-schema/keio-iiif-manifest-schema.json IiifImageInfo: $ref: ../json-schema/keio-iiif-image-info-schema.json