Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

DescriptionReturns requested pages
URL/pages
Supported Response Types

application/zip (normal response)

text/html (error response)

MethodPOST
Request Types
application/x-www-form-urlencoded
Request Headers
Content-Type: application/x-www-form-urlencoded
Request BodyRequest parameters as body content.  See Parameters below
Parameters
Note

All parameter values must be URL encoded

NameDescriptionTypeDefault valueRequiredNote
pageIDsThe list of pageIDs to be retrievedstringN/AyesPageIDs are separated by the pipe character '|'
concatThe flag to indicate concatenation optionbooleanfalseno

See section on response format for details on its impact on the returned data

Note

"concat" and "mets" cannot be both set

metsThe flag to indicate if METS documents should be returnedbooleanfalseno
Note

"concat" and "mets" cannot be both set

versionThe specific version of the Data API to usestringN/AnoNot implemented.  Place holder only
Responses
HTTP Status CodeResponse BodyResponse TypeDescription
200 (ok)A binary Zip streamapplication/zipPage content and metadata of the requested pages aggregated as a Zip stream
400 (bad request)<p>Missing required parameter pageIDs</p>text/htmlThe required parameter volumeIDs is missing in the request
400 (bad request)<p>Malformed Page ID list. Offending token: ${token}</p>text/htmlThe value for pageIDs is malformed and the Data API cannot parse it.  ${token} will be the token that caused the error.
400 (bad request)<p>Conflicting parameters in page retrieval. Offending Parameters: ${param1}, ${param2}</p>text/htmlSome request parameters have conflict. ${param1} and ${param2} will be the names of the parameters that caused the conflict. In the current version of the Data API, this is most likely caused by setting both "mets" and "concat" for page retrieval.
Example
Expand
Description

Request for the 1st, 2nd, 20th, and 30th pages of the volume inu.3011012, and the 11th, 17th, 22th, 30th, 45th, and 55th pages of the volume uc2.ark:/13960/t2qxv15, with each page being a separate text file along with the corresponding METS document of each volume in the returned Zip stream.

Raw pageIDsinu.3011012[1,2,20,30]|uc2.ark:/13960/t2qxv15[11,45,30,17,22,55]
URL encoded request bodypageIDs=inu.3011012%5B1%2C2%2C20%2C30%5D%7Cuc2.ark%3A%2F13960%2Ft2qxv15%5B11%2C45%2C30%2C17%2C22%2C55%5D&mets=true

Zip Structure Layout

The directory structure layout of the Zip stream returned from the Data API may be one of the following patterns depending on the optional parameters:

Note

Strictly speaking, inside a Zip file the structure is flat, so there is no "directories" but only file entries.  However, in practice almost all Zip tools give the illusion of directories by leveraging the slash characters '/' in the name of each Zip entry.  For our discussion here, we follow this "directory" practice to make things more clear.

Suppose there are 2 hypothetical volumes in the corpus: foo.001122, which has 5 pages, and bar.ark:/13960/t123, which has 3 pages.  Both volumes also have the associated METS xml files.  The client tries to request for these 2 volumes, and also tries to request for another volume gon.000000 which no longer exists in the corpus.

Request DescriptionZip Structure LayoutExplanation of Entries

Retrieve volumes

  

 

 

1.1 OAuth2 Authentication

...