API: Shared Records REST

The shared records servlet exposes a REST-styled HTTP API designed to closely mirror the API provided by Amazon's S3 web services. The goal of modeling our API's closely after those provided by Amazon is to make switching between our own services and calling Amazon S3 directly as straightforward and painless as possible. Additionally, developers that are familiar with using Amazon's S3 API's should have an easy time designing clients to work against the shared records service.

API

Base URL:  http://sra.sharedrecords.org/records/

Record Management

Operation HTTP Description
RecordDeposit http-put Deposit a record on the server.
RecordRetrieve http-get Retrieve a record from the server.
VerifyRecord http-head Verify that a record exists on the server.

Metadata

Operation HTTP Description
AddMetaData http-post Add metadata to a record.
GetCurrentMetaData http-get Get the most recent metadata associated with a record.
GetAllMetaData http-get Get all metadata associated with a record.
AddSingleMetaData http-put Add a single metadata entry to a record.
GetSingleMetaData http-get Gets a single metadata entry for a record.

Account

Operation HTTP Description
CreateAccount http-put Create a new account on the server.
GetAccountPublicKey http-get Get the public key for an account.
WrappedKeyDeposit http-put Adds a shared Record ID and optional encryption key to an account.
WrappedKeyRetrieve http-get Get the encryption key for a shared record in an account.
ListAccountRecords http-get List the records which have been shared with an account.