2.1 Overview

The REST administration interface can be used to configure settings defined in the Filr administration console.  To access the admin interface, find the “admin” link in the root REST resource:

[Request]
> curl –k –u admin:novell https://amethyst.wal.novell.com:8443/rest
 
[Response]
{
   "links":[{ 
      "rel":"admin",
      "href":"/admin"
   },{
      ...
   },...]
}

The root “admin” link will only be present in the root resource if the user whose credentials are supplied to the REST API has permission to access the administration console.  Any attempt to make requests to the admin REST resources will result in an HTTP 403 Unauthorized error.

[Request]
> curl –k –u admin:novell <a target="_top" href="https://amethyst.wal.novell.com:8443/rest/admin">
https://amethyst.wal.novell.com:8443/rest/admin
</a>
[Response]
{
   "links":[{
      "rel":"net_folder_servers",
      "href":"/admin/net_folder_servers"
   },{
      "rel":"net_folders",
      "href":"/admin/net_folders"
   },{
      "rel":"personal_storage",
      "href":"/admin/personal_storage"
   },{
      "rel":"shares",
      "href":"/admin/shares"
   },{   
      "rel":"share_settings",
      "href":"/admin/share_settings"
   },{
      "rel":"user_sources",
      "href":"/admin/user_sources"
   },{
      "rel":"user_sources_sync",
      "href":"/admin/user_sources/sync"
   },{
      "rel":"user_sources_sync_config",
      "href":"/admin/user_sources/sync_config"
   },{
      "rel":"web_application",
      "href":"/admin/web_application"
   }]
}

2.1.1 Resource Representations

Access

{
   "role": string ("NONE", "VIEWER", "EDITOR", "CONTRIBUTOR", "ACCESS"],
   "sharing": SharingPermission Resource  
}

AssignedRight

{
   "principal": Recipient Resource,
   "access": Access Resource
}  

KeyValuePair

{
   "key": string,
   "value": string
}  

LongIdLinkPair

{
   "id": string,
   "href": string
}

Schedule

{
   "enabled": boolean,
   "when": string ("daily" or "selected_days"),
   "selected_days": SelectedDays Resource,
   "at": Time,
   "every": Time
}     

SelectedDays

{
   "sun": boolean,
   "mon": boolean,
   "tue": boolean,
   "wed": boolean,
   "thu": boolean,
   "fri": boolean,
   "sat": boolean
}       

SharingPermission

{
   "internal": boolean,
   "external": boolean,
   "all_internal": boolean,
   "all_external": boolean,
   "public": boolean,
   "public_link": boolean,
   "grant_reshare": boolean
}       

Time

{
   "hour": integer,
   "minute" integer (0, 15, 30 or 45)
}