<?xml version="1.0" encoding="UTF-8"?>
<application xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://wadl.dev.java.net/2009/02" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <resources base="http://prometheus.uni-koeln.de/pandora">
    <resource path="api">
      <resource path="v1">
        <doc xml:lang="en" title="The prometheus image archive API, v1">
          Perform searches, retrieve images, and query collections.
        </doc>
        <param name="Authorization" style="header">
          <doc xml:lang="en" title="Authorization header">
            Some API calls require authorization. Supported schemes are Basic and OAuth.
          </doc>
        </param>
        <param name="locale" default="en" style="query" type="xsd:string">
          <option value="de"/>
          <option value="en"/>
        </param>
        <resource path="blob">
          <resource path="image">
            <resource path="large">
              <method name="GET" id="getImageLargeBlob">
                <doc xml:lang="en" title="Description">
                  Get an image's binary representation in large size.
                </doc>
                <request>
                  <param name="id" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Image ID."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="image/*">
                  </representation>
                </response>
              </method>
            </resource>
            <resource path="medium">
              <method name="GET" id="getImageMediumBlob">
                <doc xml:lang="en" title="Description">
                  Get an image's binary representation in medium size.
                </doc>
                <request>
                  <param name="id" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Image ID."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="image/*">
                  </representation>
                </response>
              </method>
            </resource>
            <resource path="small">
              <method name="GET" id="getImageSmallBlob">
                <doc xml:lang="en" title="Description">
                  Get an image's binary representation in small size.
                </doc>
                <request>
                  <param name="id" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Image ID."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="image/*">
                  </representation>
                </response>
              </method>
            </resource>
          </resource>
        </resource>
        <resource path="json">
          <resource path="about">
            <method name="GET" id="getPandoraAboutJson">
              <doc xml:lang="en" title="Description">
                Get basic information about pandora.
              </doc>
              <response>
                <representation mediaType="application/json">
                </representation>
              </response>
            </method>
          </resource>
          <resource path="facts">
            <method name="GET" id="getPandoraFactsJson">
              <doc xml:lang="en" title="Description">
                Get basic facts about pandora.
              </doc>
              <response>
                <representation mediaType="application/json">
                </representation>
              </response>
            </method>
          </resource>
          <resource path="search">
            <resource path="hits">
              <method name="GET" id="getSearchHitsJson">
                <doc xml:lang="en" title="Description">
                  Number of hits a &quot;simple&quot; search would yield.
                </doc>
                <request>
                  <param name="field" default="all" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Search field."/>
                    <option value="all"/>
                    <option value="artist"/>
                    <option value="title"/>
                    <option value="location"/>
                    <option value="discoveryplace"/>
                    <option value="genre"/>
                    <option value="material"/>
                    <option value="keyword"/>
                    <option value="description"/>
                    <option value="date"/>
                    <option value="credits"/>
                    <option value="unspecified"/>
                    <option value="more_like_this"/>
                  </param>
                  <param name="term" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Query term."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/json">
                  </representation>
                </response>
              </method>
            </resource>
          </resource>
        </resource>
        <resource path="xml">
          <resource path="collection">
            <resource path="images">
              <method name="GET" id="getCollectionImagesXml">
                <doc xml:lang="en" title="Description">
                  Get the list of a collection's images.
                </doc>
                <request>
                  <param name="id" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Collection ID."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/xml" element="images">
                    <param name="image" repeating="true" path="/images/image"/>
                  </representation>
                </response>
              </method>
            </resource>
            <resource path="meta_image">
              <method name="GET" id="getCollectionMetaImageXml">
                <doc xml:lang="en" title="Description">
                  Get the list of Meta-Image collections.
                </doc>
                <request>
                  <param name="direction" default="ASC" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Direction to sort collections in."/>
                    <option value="ASC"/>
                    <option value="DESC"/>
                  </param>
                  <param name="field" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Search field."/>
                    <option value="title"/>
                    <option value="description"/>
                    <option value="keywords"/>
                    <option value="owner"/>
                    <option value="[image]"/>
                  </param>
                  <param name="order" default="title" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Attribute to sort collections by."/>
                    <option value="title"/>
                    <option value="changed_at"/>
                    <option value="owner"/>
                  </param>
                  <param name="page" default="1" style="query" type="xsd:positiveInteger">
                    <doc xml:lang="en" title="Number of page to return."/>
                  </param>
                  <param name="value" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Query term."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/xml" element="collections">
                    <param name="collection" repeating="true" path="/collections/collection"/>
                  </representation>
                </response>
              </method>
            </resource>
            <resource path="meta_image_status">
              <method name="GET" id="getCollectionMetaImageStatusXml">
                <doc xml:lang="en" title="Description">
                  Get a collection's Meta-Image status. (Restricted access)
                </doc>
                <request>
                  <param name="id" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Collection ID."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/xml" element="collection">
                    <param name="id" path="/collection/id"/>
                    <param name="meta-image" path="/collection/meta-image"/>
                  </representation>
                </response>
              </method>
              <method name="PUT" id="putCollectionMetaImageStatusXml">
                <doc xml:lang="en" title="Description">
                  Set a collection's Meta-Image status. (Restricted access)
                </doc>
                <request>
                  <param name="id" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Collection ID."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/xml" element="collection">
                    <param name="id" path="/collection/id"/>
                    <param name="meta-image" path="/collection/meta-image"/>
                  </representation>
                </response>
              </method>
            </resource>
            <resource path="own">
              <method name="GET" id="getCollectionOwnXml">
                <doc xml:lang="en" title="Description">
                  Get the list of your collections.
                </doc>
                <request>
                  <param name="direction" default="ASC" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Direction to sort collections in."/>
                    <option value="ASC"/>
                    <option value="DESC"/>
                  </param>
                  <param name="field" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Search field."/>
                    <option value="title"/>
                    <option value="description"/>
                    <option value="keywords"/>
                    <option value="owner"/>
                    <option value="[image]"/>
                  </param>
                  <param name="order" default="title" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Attribute to sort collections by."/>
                    <option value="title"/>
                    <option value="changed_at"/>
                    <option value="owner"/>
                  </param>
                  <param name="page" default="1" style="query" type="xsd:positiveInteger">
                    <doc xml:lang="en" title="Number of page to return."/>
                  </param>
                  <param name="value" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Query term."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/xml" element="collections">
                    <param name="collection" repeating="true" path="/collections/collection"/>
                  </representation>
                </response>
              </method>
            </resource>
            <resource path="public">
              <method name="GET" id="getCollectionPublicXml">
                <doc xml:lang="en" title="Description">
                  Get the list of public collections.
                </doc>
                <request>
                  <param name="direction" default="ASC" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Direction to sort collections in."/>
                    <option value="ASC"/>
                    <option value="DESC"/>
                  </param>
                  <param name="field" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Search field."/>
                    <option value="title"/>
                    <option value="description"/>
                    <option value="keywords"/>
                    <option value="owner"/>
                    <option value="[image]"/>
                  </param>
                  <param name="order" default="title" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Attribute to sort collections by."/>
                    <option value="title"/>
                    <option value="changed_at"/>
                    <option value="owner"/>
                  </param>
                  <param name="page" default="1" style="query" type="xsd:positiveInteger">
                    <doc xml:lang="en" title="Number of page to return."/>
                  </param>
                  <param name="value" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Query term."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/xml" element="collections">
                    <param name="collection" repeating="true" path="/collections/collection"/>
                  </representation>
                </response>
              </method>
            </resource>
            <resource path="shared">
              <method name="GET" id="getCollectionSharedXml">
                <doc xml:lang="en" title="Description">
                  Get the list of collections that have been shared with you.
                </doc>
                <request>
                  <param name="direction" default="ASC" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Direction to sort collections in."/>
                    <option value="ASC"/>
                    <option value="DESC"/>
                  </param>
                  <param name="field" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Search field."/>
                    <option value="title"/>
                    <option value="description"/>
                    <option value="keywords"/>
                    <option value="owner"/>
                    <option value="[image]"/>
                  </param>
                  <param name="order" default="title" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Attribute to sort collections by."/>
                    <option value="title"/>
                    <option value="changed_at"/>
                    <option value="owner"/>
                  </param>
                  <param name="page" default="1" style="query" type="xsd:positiveInteger">
                    <doc xml:lang="en" title="Number of page to return."/>
                  </param>
                  <param name="value" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Query term."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/xml" element="collections">
                    <param name="collection" repeating="true" path="/collections/collection"/>
                  </representation>
                </response>
              </method>
            </resource>
          </resource>
          <resource path="image">
            <resource path="add_meta_image_comment">
              <method name="POST" id="postImageAddMetaImageCommentXml">
                <doc xml:lang="en" title="Description">
                  Add Meta-Image comment to an image. (Restricted access)
                </doc>
                <request>
                  <param name="collection" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Collection ID."/>
                  </param>
                  <param name="f[]" repeating="true" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Metadata field."/>
                  </param>
                  <param name="id" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Image ID."/>
                  </param>
                  <param name="v[]" repeating="true" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Metadata value."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/xml" element="image">
                    <param name="pid" path="/image/pid"/>
                  </representation>
                </response>
              </method>
            </resource>
            <resource path="list">
              <method name="GET" id="getImageListXml">
                <doc xml:lang="en" title="Description">
                  Get the list of all images.
                </doc>
                <request>
                  <param name="open_access" style="query" type="xsd:boolean">
                    <doc xml:lang="en" title="Whether to return only Open Access images."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/xml" element="images">
                    <param name="pid" repeating="true" path="/images/pid"/>
                  </representation>
                </response>
              </method>
            </resource>
            <resource path="show">
              <method name="GET" id="getImageShowXml">
                <doc xml:lang="en" title="Description">
                  Get an image's metadata.
                </doc>
                <request>
                  <param name="id" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Image ID."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/xml" element="image">
                    <param name="pid" path="/image/pid"/>
                    <param name="artist" path="/image/artist"/>
                    <param name="title" path="/image/title"/>
                  </representation>
                </response>
              </method>
            </resource>
          </resource>
          <resource path="about">
            <method name="GET" id="getPandoraAboutXml">
              <doc xml:lang="en" title="Description">
                Get basic information about pandora.
              </doc>
              <response>
                <representation mediaType="application/xml" element="pandora">
                  <param name="version" path="/pandora/version"/>
                  <param name="facts" path="/pandora/facts"/>
                </representation>
              </response>
            </method>
          </resource>
          <resource path="facts">
            <method name="GET" id="getPandoraFactsXml">
              <doc xml:lang="en" title="Description">
                Get basic facts about pandora.
              </doc>
              <response>
                <representation mediaType="application/xml" element="pandora">
                  <param name="version" path="/pandora/version"/>
                  <param name="accounts" path="/pandora/accounts"/>
                  <param name="images" path="/pandora/images"/>
                  <param name="licenses" path="/pandora/licenses"/>
                  <param name="sources" path="/pandora/sources"/>
                </representation>
              </response>
            </method>
          </resource>
          <resource path="search">
            <resource path="advanced_search">
              <method name="GET" id="getSearchAdvancedSearchXml">
                <doc xml:lang="en" title="Description">
                  Perform an &quot;advanced&quot; search.
                </doc>
                <request>
                  <param name="f[]" repeating="true" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Search field."/>
                    <option value="all"/>
                    <option value="artist"/>
                    <option value="title"/>
                    <option value="location"/>
                    <option value="discoveryplace"/>
                    <option value="genre"/>
                    <option value="material"/>
                    <option value="keyword"/>
                    <option value="description"/>
                    <option value="date"/>
                    <option value="credits"/>
                    <option value="unspecified"/>
                    <option value="more_like_this"/>
                  </param>
                  <param name="o[]" repeating="true" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Search operator."/>
                    <option value="and"/>
                    <option value="or"/>
                    <option value="and not"/>
                  </param>
                  <param name="order" default="relevance" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Field to sort results by."/>
                    <option value="relevance"/>
                    <option value="artist"/>
                    <option value="title"/>
                    <option value="location"/>
                    <option value="credits"/>
                    <option value="source_title"/>
                  </param>
                  <param name="page" default="1" style="query" type="xsd:positiveInteger">
                    <doc xml:lang="en" title="Number of page to return."/>
                  </param>
                  <param name="per_page" default="10" style="query" type="xsd:positiveInteger">
                    <doc xml:lang="en" title="Number of results to display per page."/>
                  </param>
                  <param name="s[]" repeating="true" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Sources to search."/>
                    <option value="amtub"/>
                    <option value="arachne"/>
                    <option value="archgiessen"/>
                    <option value="artemis"/>
                    <option value="assisi"/>
                    <option value="augsburg_kg"/>
                    <option value="beeskow_kunstarchiv"/>
                    <option value="berlin_spsg"/>
                    <option value="berlin_udk"/>
                    <option value="berlin_winckelmann"/>
                    <option value="bern"/>
                    <option value="bochum_kgi"/>
                    <option value="bochum_ug"/>
                    <option value="bpk"/>
                    <option value="caerlangen"/>
                    <option value="dadaweb"/>
                    <option value="daumier"/>
                    <option value="ddorf"/>
                    <option value="desanhalt"/>
                    <option value="digidia"/>
                    <option value="digidianeu"/>
                    <option value="dmr"/>
                    <option value="dresden"/>
                    <option value="ethzuerich"/>
                    <option value="genf"/>
                    <option value="giessen_kup"/>
                    <option value="giessen_lri"/>
                    <option value="goettingen_arch"/>
                    <option value="gregorsmesse"/>
                    <option value="hamburg"/>
                    <option value="heidicon_aa"/>
                    <option value="heidicon_ad"/>
                    <option value="heidicon_bp"/>
                    <option value="heidicon_fb"/>
                    <option value="heidicon_fk"/>
                    <option value="heidicon_gs"/>
                    <option value="heidicon_ha"/>
                    <option value="heidicon_ka"/>
                    <option value="heidicon_kb"/>
                    <option value="heidicon_kg"/>
                    <option value="heidicon_sh"/>
                    <option value="heidicon_si"/>
                    <option value="heidicon_wa"/>
                    <option value="heidicon_zo"/>
                    <option value="imago"/>
                    <option value="kassel"/>
                    <option value="kgerlangen"/>
                    <option value="kiel_digicult"/>
                    <option value="leipzig"/>
                    <option value="lueneburg_oppermann"/>
                    <option value="mainz"/>
                    <option value="marburg_lba"/>
                    <option value="mka"/>
                    <option value="paderborn"/>
                    <option value="piranesi"/>
                    <option value="ppo"/>
                    <option value="requiem"/>
                    <option value="robertin"/>
                    <option value="salzburg"/>
                    <option value="stabi"/>
                    <option value="theoleik"/>
                    <option value="trier"/>
                    <option value="tuberlin"/>
                    <option value="uustb"/>
                    <option value="virtualart"/>
                    <option value="wbarchiv"/>
                    <option value="zi_muc"/>
                  </param>
                  <param name="v[]" repeating="true" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Query term."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/xml" element="search">
                    <param name="count" repeating="false" path="/search/count"/>
                    <param name="results/result" repeating="true" path="/search/results/result"/>
                    <param name="query" repeating="false" path="/search/query"/>
                  </representation>
                </response>
              </method>
            </resource>
            <resource path="hits">
              <method name="GET" id="getSearchHitsXml">
                <doc xml:lang="en" title="Description">
                  Number of hits a &quot;simple&quot; search would yield.
                </doc>
                <request>
                  <param name="field" default="all" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Search field."/>
                    <option value="all"/>
                    <option value="artist"/>
                    <option value="title"/>
                    <option value="location"/>
                    <option value="discoveryplace"/>
                    <option value="genre"/>
                    <option value="material"/>
                    <option value="keyword"/>
                    <option value="description"/>
                    <option value="date"/>
                    <option value="credits"/>
                    <option value="unspecified"/>
                    <option value="more_like_this"/>
                  </param>
                  <param name="term" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Query term."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/xml" element="hits">
                    <param name="query" path="/hits/query"/>
                    <param name="count" path="/hits/count"/>
                  </representation>
                </response>
              </method>
            </resource>
            <resource path="search">
              <method name="GET" id="getSearchSearchXml">
                <doc xml:lang="en" title="Description">
                  Perform a &quot;simple&quot; search.
                </doc>
                <request>
                  <param name="field" default="all" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Search field."/>
                    <option value="all"/>
                    <option value="artist"/>
                    <option value="title"/>
                    <option value="location"/>
                    <option value="discoveryplace"/>
                    <option value="genre"/>
                    <option value="material"/>
                    <option value="keyword"/>
                    <option value="description"/>
                    <option value="date"/>
                    <option value="credits"/>
                    <option value="unspecified"/>
                    <option value="more_like_this"/>
                  </param>
                  <param name="order" default="relevance" style="query" type="xsd:string">
                    <doc xml:lang="en" title="Field to sort results by."/>
                    <option value="relevance"/>
                    <option value="artist"/>
                    <option value="title"/>
                    <option value="location"/>
                    <option value="credits"/>
                    <option value="source_title"/>
                  </param>
                  <param name="page" default="1" style="query" type="xsd:positiveInteger">
                    <doc xml:lang="en" title="Number of page to return."/>
                  </param>
                  <param name="per_page" default="10" style="query" type="xsd:positiveInteger">
                    <doc xml:lang="en" title="Number of results to display per page."/>
                  </param>
                  <param name="term" style="query" required="true" type="xsd:string">
                    <doc xml:lang="en" title="Query term."/>
                  </param>
                </request>
                <response>
                  <representation mediaType="application/xml" element="search">
                    <param name="count" repeating="false" path="/search/count"/>
                    <param name="results/result" repeating="true" path="/search/results/result"/>
                    <param name="query" repeating="false" path="/search/query"/>
                  </representation>
                </response>
              </method>
            </resource>
          </resource>
        </resource>
      </resource>
    </resource>
  </resources>
</application>

