= API: Shared Records REST = [[TOC]] 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 === {{{ #!textile table(modern). |_. Operation |_. HTTP |_. Description | | "RecordDeposit":/wiki/RestRecordDeposit | http-put | Deposit a record on the server. | | "RecordRetrieve":/wiki/RestRecordRetrieve | http-get | Retrieve a record from the server. | | "VerifyRecord":/wiki/VerifyRecord | http-head | Verify that a record exists on the server. | }}} === Metadata === {{{ #!textile table(modern). |_. Operation |_. HTTP |_. Description | | "AddMetaData":/wiki/AddMetaData | http-post | Add metadata to a record. | | "GetCurrentMetaData":/wiki/GetCurrentMetaData | http-get | Get the most recent metadata associated with a record. | | "GetAllMetaData":/wiki/GetAllMetaData | http-get | Get all metadata associated with a record. | | "AddSingleMetaData":/wiki/AddSingleMetaData | http-put | Add a single metadata entry to a record. | | "GetSingleMetaData":/wiki/GetSingleMetaData | http-get | Gets a single metadata entry for a record. | }}} === Account === {{{ #!textile table(modern). |_. Operation |_. HTTP |_. Description | | "CreateAccount":/wiki/CreateAccount | http-put | Create a new account on the server. | | "GetAccountPublicKey":/wiki/GetAccountPublicKey | http-get | Get the public key for an account. | | "WrappedKeyDeposit":/wiki/WrappedKeyDeposit | http-put | Adds a shared Record ID and optional encryption key to an account. | | "WrappedKeyRetrieve":/wiki/WrappedKeyRetrieve | http-get | Get the encryption key for a shared record in an account. | | "ListAccountRecords":/wiki/ListAccountRecords | http-get | List the records which have been shared with an account. | }}}