REST API
Catalog
/data/catalog.json
/data/catalog.json?page=:page_number
/data/catalog.json?f[:facet_name][]=:search_criteria
Collections
/data/concern/collections/:collection_id.json
Data Sets
/data/concern/data_sets/:data_set_id.json
File sets
/data/concern/file_sets/:file_set_id.json
REST API -- Detailed
Catalog
Request | Response | |||||
---|---|---|---|---|---|---|
Verb | Path* | Params | Action | Status | Body | Comments |
GET |
/data/catalog.json |
None | find | :ok |
{ :response => { :docs => [ { :model => String / "Collection" :id => String :metadata => { :creator => [ String, ... ] :description => [ String, ... ] :subject_discipline => [ String, ... ] :title => [ String, ... ] } }, { :model => String / "Collection" :id => String :metadata => { :creator => [ String, ... ] :description => [ String, ... ] :keyword => [ String, ... ] :subject_discipline => [ String, ... ] :title => [ String, ... ] } }, ... ], :facets => [ { :name => String :items => [ { :value => String :hits => Integer }, ... ] }, ... ] :pages => { :current_page => Integer :next_page => Integer :prev_page => Integer :total_pages => Integer :limit_value => Integer :offset_value => Integer :total_count => Integer :first_page? => Boolean :last_page? => Boolean } } } |
Found component or Record not found |
GET |
/data/catalog.json?page=:page_number
|
:page_number => Integer |
find | :ok |
Response structure same as: /data/catalog.json
|
Found component or Record not found |
GET |
/data/catalog.json?f%5B:facet_name%5D%5B%5D=:search_criteria
Or /data/catalog.json?f[:facet_name][]=:search_criteria
|
:facet_name => String :search_criteria => String |
find | :ok |
Response structure same as: /data/catalog.json
|
Found component or Record not found |
Collections
Request | Response | |||||
---|---|---|---|---|---|---|
Verb | Path* | Params | Action | Status | Body | Comments |
GET |
/data/concern/collections/:collection_id.json |
:collection_id => String |
find | :ok :not_found |
{ :id => String, :collection_member_ids => [ String, ... ], :create_date => String, :description => [ String, ... ], :keyword => [ String, ... ], :modified_date => String, :subject => [ String, ... ], :title => [ String, ... ], :work_member_ids => [ String, ... ], :collection_members => [ { :id => String :title => [ String, ... ], }, ... ] :collection_works => [ { :id => String :title => [ String, ... ], }, ... ] } |
Found component or Record not found |
Data Sets
Request | Response | |||||
---|---|---|---|---|---|---|
Verb | Path* | Params | Action | Status | Body | Comments |
GET |
/data/concern/data_sets/:data_set_id.json |
:data_set_id => String |
find | :ok :not_found |
{ :id => String, :admin_set_id => String, :authoremail => String, :creator => [ String, ... ], :curation_notes_user => [ String, ... ], :date_coverage => String, :date_created => [ String, ... ], :date_modified => String, :date_published => String, :date_updated => String, :depositor => String, :description => [ String, ... ], :doi => String, :file_set_ids => [ String, ... ], :fundedby => [ String, ... ], :fundedby_other => [ String, ... ], :grantnumber => [ String, ... ], :keyword => [ String, ... ], :language => [ String, ... ], :methodology => [ String, ... ], :referenced_by => [ String, ... ], :rights_license => String, :rights_license_other => String, :subject_discipline => [ String, ... ], :title => [ String, ... ], :tombstone => [ String, ... ], :total_file_count => Integer, :total_file_size => Long, :total_file_size_human_readable => String, :visibility => String, :file_set_ids => [ String, ... ], :file_sets => [ { :id => String, :title => [ String, ... ], :label => String, :creator => [ String, ... ], :date_uploaded => String, :date_modified => String, :depositor => String, :doi => String, :description => [ String, ... ], :curation_notes_user => [ String, ... ], :file_size => Integer, :file_size_human_readable => String, :checksum_algorithm => String, :checksum_value => String, :original_checksum => String, :mime_type => String, :virus_scan_service => [ String, ... ], :virus_scan_status => [ String, ... ], :virus_scan_status_date => [ String, ... ] }, ... ] } |
Found component or Record not found |
GET |
/data/concern/data_sets/:data_set_id/zip_download.json |
:data_set_id => String |
download |
:ok :not_found :unprocessible_entity (if too large to download)
|
File sets zip encoded. | Found component or Record not found |
File Sets
Request | Response | |||||
---|---|---|---|---|---|---|
Verb | Path* | Params | Action | Status | Body | Comments |
GET |
/data/concern/file_sets/:file_set_id.json |
:file_set_id => String |
find | :ok :not_found |
{ :id => String, :title => [ String, ... ], :label => String, :creator => [ String, ... ], :date_uploaded => String, :date_modified => String, :depositor => String, :doi => String, :description => [ String, ... ], :curation_notes_user => [ String, ... ], :file_size => Integer, :file_size_human_readable => String, :checksum_algorithm => String, :checksum_value => String, :original_checksum => String, :mime_type => String, :virus_scan_service => [ String, ... ], :virus_scan_status => [ String, ... ], :virus_scan_status_date => [ String, ... ] } |
Found component or Record not found |
GET |
/data/downloads/:file_set_id.json |
:file_set_id => String |
download |
:ok :not_found :unprocessible_entity (if too large to download)
|
File. | Found component or Record not found |
REST API -- Examples
Catalog
curl 'http://deepblue.lib.umich.edu/data/catalog.json'
-
# ruby uri = "http://deepblue.lib.umich.edu/data/catalog.json" response = Net::HTTP.get_response(URI.parse(uri)) json = JSON.parse( response.body ) puts JSON.pretty_generate( json )
curl 'http://deepblue.lib.umich.edu/data/catalog.json?page=2'
-
# ruby uri = "http://deepblue.lib.umich.edu/data/catalog.json?page=2" response = Net::HTTP.get_response(URI.parse(uri)) json = JSON.parse( response.body ) puts JSON.pretty_generate( json )
curl 'http://deepblue.lib.umich.edu/data/catalog.json?f[creator][]=fritx'
-
# ruby uri = "http://deepblue.lib.umich.edu/data/catalog.json?f[creator][]=fritx" response = Net::HTTP.get_response(URI.parse(uri)) json = JSON.parse( response.body ) puts JSON.pretty_generate( json )
Collections
curl 'http://deepblue.lib.umich.edu/data/concern/collections/c1234567.json'
-
# ruby uri = "http://deepblue.lib.umich.edu/data/concern/collections/c1234567" response = Net::HTTP.get_response(URI.parse(uri)) json = JSON.parse( response.body ) puts JSON.pretty_generate( json )
Data Sets
curl 'http://deepblue.lib.umich.edu/data/concern/data_sets/d1234567.json'
-
# ruby uri = "http://deepblue.lib.umich.edu/data/concern/data_sets/d1234567" response = Net::HTTP.get_response(URI.parse(uri)) json = JSON.parse( response.body ) puts JSON.pretty_generate( json )
File sets
curl 'http://deepblue.lib.umich.edu/data/concern/file_sets/f1234567.json'
-
# ruby uri = "http://deepblue.lib.umich.edu/data/concern/file_sets/f1234567" response = Net::HTTP.get_response(URI.parse(uri)) json = JSON.parse( response.body ) puts JSON.pretty_generate( json )