Repositories

The repository API is intended as a precursor to CSW services and to support data object registration in external repositories. Some or all of an application's data holdings can be included. In addition, the documentation standard preferred for use in registering the data in a repository can be specified for the application and repository. For example, App A could provide ISO-19115 for DATA.gov but EML for DataONE.

  • GET /apps/{app}/repositories.json Get supported repositories for application

    Get a list of external repositories available for this application.

    Request Parameters

    Route Parameters
    Parameter Description Type Options
    app Application alias string rgis, epscor, elseweb
    Query Parameters

    None

    Examples

    View the list of supported repositories for RGIS data objects:

    /apps/rgis/repositories.json

    Response

    JSON Schema
    {repository} (dict):
    url (string): URL for the repository
    description (string): brief description of the repository
    standards (array(string)): list of supported documentation standards
    {"DATA.gov": {
        "url": "http://www.data.gov/",
        "description": null,
        "standards": ["ISO-19115:2003"]
    }}
                                    
  • GET /apps/{app}/repository/{repo}.json Get the repository description

    Return the repository description.

    Request Parameters

    Route Parameters
    Parameter Description Type Options
    app Application alias string rgis, epscor, elseweb
    repo Repository alias string
    Query Parameters

    None

    Examples

    Get the description for the GEOSS repository for the ELSEWeb application:

    /apps/elseweb/repository/GEOSS.json

    Response

    JSON Schema
    url (string): URL for the repository
    description (string): brief description of the repository
    standards (array(string)): list of supported documentation standards
    uuid (string): identifier
    name (string): name
    {
        "url": "http://www.earthobservations.org/gci_gci.shtml",
        "description": null,
        "standards": ["ISO-19119"],
        "uuid": "7b0ca48c-3303-41c0-b5d7-e64a34a37115",
        "name": "GEOSS"
    }                        
                                    
  • GET /apps/{app}/repository/{uuid}/{doctypes}/{standard}.{ext} Search repository by documentation standard

    Returns a list of data objects available to this repository and documentation representation.

    Request Parameters

    Route Parameters
    Parameter Description Type Options
    app Application alias string rgis, epscor, elseweb
    uuid Repository identifier uuid
    doctypes Data object types string datasets, collections, tileindexes (as comma-delimited list)
    standard Documentation standard string
    ext Format string json
    Query Parameters
    Parameter Description Type Options Required
    limit integer F (defaults to 20)
    offset integer F (defaults to 0)
    changed Filter by the date the documentation was changed for a data object string {before|after}:yyyyMMdd F
    added Filter by the date the documentation was added for a data object string {before|after}:yyyyMMdd F
    changedOrAdded Filter by the date the documentation was changed or added for a data object string {before|after}:yyyyMMdd F
    changedAndAdded Filter by the date the documentation was changed for a data object or the date a documentation record was added for a data object string {before|after}:yyyyMMdd F

    Note: including both the changed and added query parameters is effectively an AND filter. Use the combined changedAndAdded to filter based on the same datetime and order.

    Examples

    Return the most recently added or modified documentation records for datasets in the ELSEWeb GEOSS repository:

    /apps/elseweb/repository/GEOSS/datasets/ISO-19119.json

    Return the last 10 documentation records that were added or modified after March 1, 2014, for datasets in the ELSEWeb GEOSS repository:

    /apps/elseweb/repository/GEOSS/datasets/ISO-19119.json?changedOrAdded=after:20140301&limit=10

    Response

    JSON Schema
    total (integer): number of data objects possible
    results (array(dict)):
    url (string): URL for the documentation representation
    date_added (timestamp): timestamp (yyyyMMdd) documentation added to the object
    date_changed (timestamp): timestamp (yyyyMMdd) object's documentation was modified
    {doctype} (uuid): object identifier (key as the data object type: dataset, collection, etc)
    {
        "total": 6656,
        "results": [
            {
                "url": "http://----------------/apps/elseweb/datasets/a14f6223-a394-47dd-9b0f-8a32dbc41364/metadata/ISO-19119.xml",
                "date_added": "20130419",
                "date_modified": "20130419",
                "dataset": "a14f6223-a394-47dd-9b0f-8a32dbc41364"
            },
            {
                "url": "http://----------------/apps/elseweb/datasets/93aefd99-cab9-4ee3-a87f-a37036a0064b/metadata/ISO-19119.xml",
                "date_added": "20130419",
                "date_modified": "20130419",
                "dataset": "93aefd99-cab9-4ee3-a87f-a37036a0064b"
            }
        ]
    }