Current Release

This documentation covers the latest release of Fedora CloudSync.

On this page:

Methods

POST serviceInit

Initializes the service by adding the first administrative user.

This method does not require authentication and can only be run once.

Request URI Append /api/rest/service to the URL of the CloudSync instance
Query Parameters None
Request Formats application/vnd.fcrepo-cloudsync.serviceinit+json
application/vnd.fcrepo-cloudsync.serviceinit+xml
Response Formats application/vnd.fcrepo-cloudsync.serviceinfo+json
application/vnd.fcrepo-cloudsync.serviceinfo+xml
Typical Status Codes 200 Ok
209 Conflict if the service is already initialized.

Example:

Request:

POST /cloudsync/api/rest/service HTTP/1.1
Content-Type: application/vnd.fcrepo-cloudsync.serviceinit+json
Accept: application/vnd.fcrepo-cloudsync.serviceinfo+json
{
  serviceInit: {
    initialAdminUsername: "fwilson",
    initialAdminPassword: "puppies1"
  }
}

Response:

HTTP/1.1 200 OK
Content-Type: application/vnd.fcrepo-cloudsync.serviceinfo+json
{
  serviceInfo: {
    buildDate: "2011-10-26 11:50:56 UTC-0400",
    currentUserUri: "https://example.org/path/to/user",
    initialized: false,
    objectSetsUri: "https://example.org/path/to/objectSets",
    objectStoresUri: "https://example.org/path/to/objectStores",
    providerAccountsUri: "https://example.org/path/to/providerAccounts",
    spacesUri: "https://example.org/path/to/spaces",
    taskLogsUri: "https://example.org/path/to/taskLogs",
    tasksUri: "https://example.org/path/to/tasks",
    usersUri: "https://example.org/path/to/users",
    version: "1.0.0"
  }
}

GET serviceInfo

Gets key information about the service, including URIs of other resources that comprise the REST API.

This method does not require authentication.

Request URI Append /api/rest/service to the URL of the CloudSync instance
Query Parameters None
Request Formats None
Response Formats application/vnd.fcrepo-cloudsync.serviceinfo+json
application/vnd.fcrepo-cloudsync.serviceinfo+xml
Typical Status Codes 200 Ok

Example:

Request:

GET /cloudsync/api/rest/service HTTP/1.1
Accept: application/vnd.fcrepo-cloudsync.serviceinfo+json

Response:

HTTP/1.1 200 OK
Content-Type: application/vnd.fcrepo-cloudsync.serviceinfo+json
{
  serviceInfo: {
    buildDate: "2011-10-26 11:50:56 UTC-0400",
    currentUserUri: "https://example.org/path/to/user",
    initialized: false,
    objectSetsUri: "https://example.org/path/to/objectSets",
    objectStoresUri: "https://example.org/path/to/objectStores",
    providerAccountsUri: "https://example.org/path/to/providerAccounts",
    spacesUri: "https://example.org/path/to/spaces",
    taskLogsUri: "https://example.org/path/to/taskLogs",
    tasksUri: "https://example.org/path/to/tasks",
    usersUri: "https://example.org/path/to/users",
    version: "1.0.0"
  }
}

Media Types

application/vnd.fcrepo-cloudsync.serviceinfo+json

A JSON object with a serviceInfo field whose value is an associative array of the following fields:

Field Description Required?
buildDate The date the CloudSync software was built Yes
currentUserUri A URI that can be used to get the current user via GET user Yes
initialized true if POST serviceInit has been successfully called on this instance, false otherwise Yes
objectSetsUri The URI to be used for GET objectSets and POST objectSet requests Yes
objectStoresUri The URI to be used for GET objectStores and POST objectStore requests Yes
providerAccountsUri The URI to be used for GET providerAccounts requests Yes
spacesUri The URI to be used for GET spaces requests Yes
taskLogsUri The URI to be used for GET taskLogs requests Yes
tasksUri The URI to be used for GET tasks and POST task requests Yes
usersUri The URI to be used for GET users and POST user requests Yes
version The version of the CloudSync software Yes

Example:

{
  serviceInfo: {
    buildDate: "2011-10-26 11:50:56 UTC-0400",
    currentUserUri: "https://example.org/path/to/user",
    initialized: false,
    objectSetsUri: "https://example.org/path/to/objectSets",
    objectStoresUri: "https://example.org/path/to/objectStores",
    providerAccountsUri: "https://example.org/path/to/providerAccounts",
    spacesUri: "https://example.org/path/to/spaces",
    taskLogsUri: "https://example.org/path/to/taskLogs",
    tasksUri: "https://example.org/path/to/tasks",
    usersUri: "https://example.org/path/to/users",
    version: "1.0.0"
  }
}

application/vnd.fcrepo-cloudsync.serviceinfo+xml

An XML encoding of the above.

Example:

<serviceInfo>
  <buildDate>2011-10-26 11:50:56 UTC-0400</buildDate>
  <currentUserUri>https://example.org/path/to/user</currentUserUri>
  <initialized>false</initialized>
  <objectSetsUri>https://example.org/path/to/objectSets</objectSetsUri>
  <objectStoresUri>https://example.org/path/to/objectStores</objectStoresUri>
  <providerAccountsUri>https://example.org/path/to/providerAccounts</providerAccountsUri>
  <spacesUri>https://example.org/path/to/spaces</spacesUri>
  <taskLogsUri>https://example.org/path/to/taskLogs</taskLogsUri>
  <tasksUri>https://example.org/path/to/tasks</tasksUri>
  <usersUri>https://example.org/path/to/users</usersUri>
  <version>1.0.0</version>
</serviceInfo>

application/vnd.fcrepo-cloudsync.serviceinit+json

A JSON object with a serviceInit field whose value is an associative array of the following fields:

Field Description Required?
initialAdminUsername The username of the initial admin user. Yes
initialAdminPassword The password of the initial admin user. Yes

Example:

{
  serviceInit: {
    initialAdminUsername: "fwilson",
    initialAdminPassword: "PuppiesRgr8!"
  }
}

application/vnd.fcrepo-cloudsync.serviceinit+xml

An XML encoding of the above.

Example:

<serviceInit>
  <initialAdminUsername>fwilson</initialAdminUsername>
  <initialAdminPassword>PuppiesRgr8!</initialAdminPassword>
</serviceInit>
  • No labels