Table of Contents

  1. Introduction
  2. Client Syntax
  3. WSDL

Introduction

The Fedora API-A-Lite interface is implemented as an HTTP service that consists of the following methods:

For more information on the method definitions, refer to the API descriptions located at http://www.fedora.info/definitions/1/0/api/

Client Syntax

describeRepository syntax:

http://hostname:port/fedora/describe[?xml=BOOLEAN]
This syntax requests information about a Fedora repository, including repository name, version, base URL, PID syntax, OAI identifier syntax, admin emails, and sample request URLs. The xml parameter determines the type of output returned. If the parameter is omitted or has a value of "false", a MIME-typed stream consisting of an html table is returned providing a browser-savvy means of viewing the object profile. If the value specified is "true", then a MIME-typed stream consisting of XML is returned.

        Example:

        Get respository information using the describe request as XML:

            http://localhost:8080/fedora/describe?xml=true

getDatastreamDissemination syntax:

http://hostname:port/fedora/get/PID/DSPID[/dateTime]
This syntax requests a dissemination of the specified datastream within the specified object. The result is returned as a MIME-typed stream.

        Examples:

        Get the Dublin Core (DC) datastream of demo object demo:5:

            http://localhost:8080/fedora/get/demo:5/DC

        Get the thumbnail datastream (DS1) of demo object demo:5:

            http://localhost:8080/fedora/get/demo:5/THUMBRES_IMG

getDissemination syntax:

http://hostname:port/fedora/get/PID/sDefPID/methodName[/dateTime][?parmArray]
This syntax requests a dissemination of the specified object using the specified method of the associated service definition object. The result is returned as a MIME-typed stream.

        Example:

        Get the Dissemination for a data object with a PID of demo:5 and
        associated service definition object with a PID of demo:1 and
        methodName of getThumbnail:

            http://localhost:8080/fedora/get/demo:5/demo:1/getThumbnail

getObjectHistory syntax:

http://hostname:port/fedora/getObjectHistory/PID[?xml=BOOLEAN]
This syntax requests the change history for the specified digital object. The change history provides a list of timestamps that indicate when components (e.g., datastreams, disseminators, etc.) in the digital object were created or modified. These timestamps can be used in a dissemination request to view the object as it existed at a specific point in time. The xml parameter determines the type of output returned. If the parameter is omitted or has a value of "false", a MIME-typed stream consisting of an html table is returned providing a browser-savvy means of viewing the object history. If the value specified is "true", then a MIME-typed stream consisting of XML is returned.

        Examples:

        Get the object history of demo object demo:5 and display the results as html:

            http://localhost:8080/fedora/getObjectHistory/demo:5

        Get the object history of demo object demo:5 and display the results as xml:

            http://localhost:8080/fedora/getObjectHistory/demo:5?xml=true

getObjectProfile syntax:

http://hostname:port/fedora/get/PID[/dateTime][?xml=BOOLEAN]
This syntax requests an object profile for the specified digital object. The xml parameter determines the type of output returned. If the parameter is omitted or has a value of "false", a MIME-typed stream consisting of an html table is returned providing a browser-savvy means of viewing the object profile. If the value specified is "true", then a MIME-typed stream consisting of XML is returned.

        Examples:

        Get the ObjectProfile for a data object with a PID of demo:5 as HTML:

            http://localhost:8080/fedora/get/demo:5

        Get the ObjectProfile for a data object with a PID of demo:5 as XML:

            http://localhost:8080/fedora/get/demo:5?xml=true

findObjects syntax:

http://hostname:port/fedora/search?[terms=TERMS|query=QUERY] [&maxResults=MAXRESULTS][&xml=true][&pid=true][&label=true] [&state=true][&ownerId=true][&cDate=true][&mDate=true][&dcmDate=true] [&title=true][&creator=true][&subject=true][&description=true] [&publisher=true][&contributor=true][&date=true][&type=true] [&format=true][&identifier=true][&source=true][&language=true] [&relation=true][&coverage=true][&rights=true]
This syntax essentially performs a search upon the objects in the repository. It finds objects that meet the criteria specified in the request. The criteria are evaluated against an index of the repostory that contains unqualified Dublin Core and Fedora-specific metadata elements. The syntax provides a client with the ability to specify the search criteria as either a phrase (a simple keyword search), or as a set of name value pairs (a field-based search).

        Examples:

        Find objects in the repostiory that are indexed with the keyword "fedora." The result set should provide the PID and Dublin
        Core title elements for each object:

            http://localhost:8080/fedora/search?terms=fedora&pid=true&title=true

        Find objects in the repository where the Dublin Core title contains the word "Rome" and the Dublin Core creator contains
        the word "Staples". The result set should provide the PID, plus the Dubin Core creator and title elements for each object:

            http://localhost:8080/fedora/search?query=title%7Erome%20creator%7Estaples&pid=true&title=true&creator=true

        Find objects in the repository whose PID ends with the number 1. The result set should provide a max of 50 hits at a time,
        and it should provide the PID and Dubin Core title element for each object. The result set should be returned as xml:

            http://localhost:8080/fedora/search?query=pid%7E*1&maxResults=50&xml=true&pid=true&title=true

resumeFindObjects syntax:

http://hostname:port/fedora/search?sessionToken=SESSIONID[&xml=BOOLEAN]
This syntax requests the next members of a result set from a prior invocation of a findObjects request. If the findObjects request was run and there are more "hits" in the result set than the maxResults setting on the findObjects request, then the resumeFindObjects request is used to obtain the next group of items in the result set. Fields to be included as part of the result set are the same as those available for findObjects, and must be specified as part of the syntax for resumeFindObjects as well (i.e. if the parameters ?pid=true&title=true are part of the findObjects query, those same parameters should be included as part of the resumeFindObjects query.)


listDatastreams syntax:

http://hostname:port/fedora/listDatastreams/PID[/dateTime][?xml=BOOLEAN]
This syntax requests a list of datastreams contained in the digital object.

        Examples:

        List the datastreams in a data object with PID of demo:5 as HTML:

            http://localhost:8080/fedora/listDatastreams/demo:5

        List the datastreams in a data object with PID of demo:5 as XML:

            http://localhost:8080/fedora/listDatastreams/demo:5?xml=true

listMethods syntax:

http://hostname:port/fedora/listMethods/PID[/dateTime][?xml=BOOLEAN]
This syntax requests a list of methods available in the digital object.

      Examples:

      List the methods for a data object with PID of demo:5 as HTML:

          http://localhost:8080/fedora/listMethods/demo:5

      List the methods for a data object with PID of demo:5 as XML:

          http://localhost:8080/fedora/listMethods/demo:5?xml=true

WSDL

  1. Offline For reference, an offline copy of the API-A-LITE WSDL is available here.
  2. Online When running your own Fedora server, an online copy of the API-A-LITE WSDL will be made publicly available at /wsdl?api=API-A-LITE. For example: http://localhost:8080/fedora/wsdl?api=API-A-LITE