The Pincette JSON-RPC API

Top
addGroupMember
addLabel
checkin
checkout
create
createGroup
createUser
delete
deleteGroup
deleteUser
exists
getAcl
getUser
listGroupMembers
listGroups
listUsers
lock
mkcol
mkcols
move
propfind
proppatch
removeGroupMember
removeLabel
search
setAcl
setLabel
uncheckout
unlock
versions
multistatus
properties

This is the JSON-RPC 2.0 API for Pincette. The methods can be called with named or positional parameters. In the latter case the order should be the order in which the parameters of a method are defined below. The status fields in the responses are HTTP and WebDAV status codes. You can execute the methods with a POST to the URL https://<hostname>/web/jsonrpc.xml.

Optional parameters have with a question mark after their name. They may be omitted or set to null. When positional parameters are used only trailing optional parameters may be omitted.

JSON-RPC lets you issue requests in batches. It is important to know that Pincette will execute a batch in one transaction, so if anything fails the entire batch will have no lasting effect.

addGroupMember

Adds another groups or a user to a group.

Parameters

group
The name of the group to which the member should be added.
member
The name of the new member.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "addGroupMember",
  "params": {"group": "g1", "member": "g2"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 201}, "id": 0}

addLabel

Adds a label to the selected version of a resource. If the label is already on another version it will be on both.

Parameters

url
The URL of the resource that is to be labelled.
label
The label that has to be set. It can be any string.
selectionLabel?
A label that overrides the normal version selection rules. When given the version marked with this label will be selected.
depth?
The following values are allowed:
"0"
Apply only to the resource itself. This is the default.
"1"
Apply to the resource and its direct descendants.
"infinity"
Apply to the resource and all of its descendants.
lockToken?
A token obtained with the lock method.

Result

status
The status code.
multistatus
This field will only be present when the status code is 207.

Example

->
{"jsonrpc": "2.0", "method": "addLabel",
  "params": {"url": "/test/", "label": "TEST"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 200}, "id": 0}

checkin

Checks in a document or folder.

Parameters

url
The URL of the resource that is to be checked in.
lockToken?
A token obtained with the lock method.

Result

status
The status code.
value
The URL of the created version.

Example

->
{"jsonrpc": "2.0", "method": "checkin", "params": {"url": "/index.xhtml"}, "id": 0}

<-
{"jsonrpc": "2.0", "result":
  {"status": 201, "value": "/version/3081ae60-98e6-fe1b-28ca-dc41fb7d980d/act/main/128"},
  "id": 0}

checkout

Checks out a document or folder.

Parameters

url
The URL of the resource that is to be checked out.
lockToken?
A token obtained with the lock method.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "checkout", "params": {"url": "/index.xhtml"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 200}, "id": 0}

create

Creates a new document.

Parameters

url
The URL of the document that is to be created.
mimeType?
The MIME type for the new document. If this parameter is omitted the type will be derived from the name of the document and if this fails the type will be application/octet-stream.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "create", "params": {"url": "/test/text.xhtml"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 201}, "id": 0}

createGroup

Creates a new group.

Parameters

name
The name of the group that is to be created.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "createGroup", "params": {"name": "thebest"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 201}, "id": 0}

createUser

Creates a new user.

Parameters

name
The name of the user that is to be created.
displayname?
The display name.
email?
The e-mail address.
language?
The user's language preference.
password?
The password.
backup?
The username that receives notifications instead of the user.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "createUser", "params": {"name": "memyselfandi"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 201}, "id": 0}

delete

Deletes a resource.

Parameters

url
The URL of the resource that is to be deleted.
lockToken?
A token obtained with the lock method.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "delete", "params": {"url": "/test/"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 204}, "id": 0}

deleteGroup

Deletes a group.

Parameters

name
The name of the group that is to be deleted.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "deleteGroup", "params": {"name": "thebest"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 204}, "id": 0}

deleteUser

Deletes a user.

Parameters

name
The name of the user that is to be deleted.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "deleteUser", "params": {"name": "memyselfandi"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 204}, "id": 0}

exists

Checks if a URL exists.

Parameters

url
The URL that has to be checked.

Result

The values true or false.

Example

->
{"jsonrpc": "2.0", "method": "exists", "params": {"url": "/test/"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": true, "id": 0}

getAcl

Returns the access control list for a folder or document.

Parameters

url
The URL for which the ACL should be returned.

Result

status
207
value
This is an array of access control entry objects with the following fields:
grant
A boolean indicating if the privilege is granted or denied.
protected
A boolean indicating if the privilege is protected or not. Protected privileges can't be removed from the list.
principal
The following values are allowed:
all
A virtual group for all users.
authenticated
A virtual group for all authenticated users.
name
The name of a user or a group.
owner
The owner of a resource.
unauthenticated
A virtual group for all anomymous users.
privilege
The following values are allowed:
all
All operations are allowed.
audit
The audit trail may be consulted. This privilege can only be set on the root folder.
bind
Something may be added to a folder. This privilege is implied by the write privilege.
checkin
The resource may be checked in. This privilege is implied by the version privilege.
checkout
The resource may be checked out. This privilege is implied by the version privilege.
delete-version
A version of the resource may be deleted. Note that nor a labelled version, nor a branch or merge point may be deleted. This privilege is implied by the version privilege.
label
Labels may be added from and removed to the resource. This privilege is implied by the version privilege.
read
The resource and its properties may be consulted.
read-acl
The access control list of the resource may be consulted.
read-current-user-privilege-set
The authenticated user may consult her privileges for the resource.
unbind
Something may be removed from a folder. This privilege is implied by the write privilege.
uncheckout
The check-out of the resource may be reverted. This privilege is implied by the version privilege.
unlock
A document may be unlocked.
version
All version operations are allowed. This privilege is implied by the write privilege.
write
The content and the properties of a resource may be updated.
write-content
The content of the resource may be updated. For a document this means its content may be updated. For a folder this means something may be added, removed or renamed in it. This privilege is implied by the write privilege.
write-properties
The properties of a resource may be updated. This privilege is implied by the write privilege.

Example

->
{"jsonrpc": "2.0", "method": "getAcl", "params": {"url": "/index.xhtml"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": 
{
  "status": 207,
  "value":
  [
    {
      "grant": true,
      "protected": true,
      "principal": "owner",
      "privilege": "all"
    },
    {
      "grant": false,
      "protected": true,
      "principal": "unauthenticated",
      "privilege": "write"
    },
    {
      "grant": false,
      "protected": true,
      "principal": "unauthenticated",
      "privilege": "write-acl"
    },
    {
      "grant": true,
      "protected": false,
      "principal": "authenticated",
      "privilege": "read-current-user-privilege-set"
    },
    {
      "grant": true,
      "protected": false,
      "principal": "all",
      "privilege": "read"
    },
    {
      "grant": true,
      "protected": false,
      "principal": "tracy",
      "privilege": "write"
    }
  ]
}, "id": 0}

getUser

Returns the properties of a user.

Parameters

name
The username.

Result

status
The status code.
multistatus
This field will only be present when the status code is 207.

Example

->
{"jsonrpc": "2.0", "method": "getUser", "params": {"name": "test2"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": 
{
  "status": 207,
  "multistatus":
[
  {
    "href": "/users/test2",
    "email": 
    {
      "value": "werner.donne@pincette.biz",
      "status": 200
    },
    "displayname": 
    {
      "value": "Me Myself And I",
      "status": 200
    },
    "backup": 
    {
      "value": "meta",
      "status": 200
    },
    "language": 
    {
      "status": 404
    }
  }
]
}, "id": 0}

listGroupMembers

Returns the properties of the members of a group.

Parameters

name
The name of the group for which the members should be listed.
properties?
The following values are allowed:
"all"
Return all supported properties.
"name"
Return the names of all supported properties.
array
An array of property names that should be returned.

If the parameter is not provided the displayname property will be returned.

depth?
The following values are allowed:
"1"
Apply only to the group and its direct members.
"infinity"
Apply to the entire group membership tree starting from the given group.

Result

status
The status code.
multistatus
This field will only be present when the status code is 207.

Example

->
{"jsonrpc": "2.0", "method": "listGroupMembers", "params": {"name": "g1"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": 
{
  "status": 207,
  "multistatus":
[
  {
    "href": "/groups/g1/",
    "displayname": 
    {
      "value": "g1",
      "status": 200
    }
  },
  {
    "href": "/groups/g1/memyselfandi",
    "displayname": 
    {
      "value": "memyselfandi",
      "status": 200
    }
  },
  {
    "href": "/groups/g1/g2/",
    "displayname": 
    {
      "value": "g2",
      "status": 200
    }
  }
]
}, "id": 0}

listGroups

Returns the properties of all groups.

Parameters

properties?
The following values are allowed:
"all"
Return all supported properties.
"name"
Return the names of all supported properties.
array
An array of property names that should be returned.

If the parameter is not provided the displayname property will be returned.

depth?
The following values are allowed:
"1"
Apply only to the groups.
"infinity"
Apply to the entire group membership tree.

Result

status
The status code.
multistatus
This field will only be present when the status code is 207.

Example

->
{"jsonrpc": "2.0", "method": "listGroups", "params": {}, "id": 0}

<-
{"jsonrpc": "2.0", "result": 
{
  "status": 207,
  "multistatus":
[
  {
    "href": "/groups/",
    "displayname": 
    {
      "value": "groups",
      "status": 200
    }
  },
  {
    "href": "/groups/g1/",
    "displayname": 
    {
      "value": "g1",
      "status": 200
    }
  },
  {
    "href": "/groups/g2/",
    "displayname": 
    {
      "value": "g2",
      "status": 200
    }
  }
]
}, "id": 0}

listUsers

Returns the properties of all users.

Parameters

properties?
The following values are allowed:
"all"
Return all supported properties.
"name"
Return the names of all supported properties.
array
An array of property names that should be returned.

If the parameter is not provided the displayname property will be returned.

Result

status
The status code.
multistatus
This field will only be present when the status code is 207.

Example

->
{"jsonrpc": "2.0", "method": "listUsers", "params": {"properties": ["email"]},
  "id": 0}

<-
{"jsonrpc": "2.0", "result": 
{
  "status": 207,
  "multistatus":
[
  {
    "href": "/users/",
    "email": 
    {
      "status": 404
    }
  },
  {
    "href": "/users/meta",
    "email": 
    {
      "status": 404
    }
  },
  {
    "href": "/users/memyselfandi",
    "email": 
    {
      "value": "memyselfandi@pincette.biz",
      "status": 200
    }
  }
]
}, "id": 0}

lock

Locks a resource.

Parameters

url
The URL of the resource that is to be locked.
timeoutSeconds?
The number of seconds after which the lock is released automatically. When this parameter is not given the server may use its own default value.
lockToken?
A token obtained with the lock method. You need this parameter when you want to refresh an existing lock.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "lock", "params": {"url": "/test/ttt"}, "id": 0}

<-
{"jsonrpc": "2.0", "result":
  {"status": 200, "value": "e2620250-cf98-fe1f-93b6-9b37aafb27e4"},
  "id": 0}

->
{"jsonrpc": "2.0", "method": "lock",
  "params": {"url": "/test/ttt",
    "lockToken": "e2620250-cf98-fe1f-93b6-9b37aafb27e4"},
  "id": 0}

<-
{"jsonrpc": "2.0", "result":
  {"status": 200, "value": "e2620250-cf98-fe1f-93b6-9b37aafb27e4"},
  "id": 0}

mkcol

Creates a new folder.

Parameters

url
The URL of the folder that is to be made.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "mkcol", "params": {"url": "/test/"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 201}, "id": 0}

mkcols

Creates a new folder if it doesn't already exists, as well as all the imtermediate folders.

Parameters

url
The URL of the folder that is to be made.

Result

status
201

Example

->
{"jsonrpc": "2.0", "method": "mkcols", "params": {"url": "/test/test1/test2/"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 201}, "id": 0}

move

Moves a resource from one URL to another.

Parameters

fromUrl
The URL of the resource that is to be moved.
toUrl
The new URL for the resource.
overwrite?
When set to true and if the new URL refers to an already existing resource, the latter will be removed first.
lockToken?
A token obtained with the lock method.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "move",
  "params": {"fromUrl": "/test/test1/", "toUrl": "/test/test2/"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 204}, "id": 0}

propfind

Returns the properties of a resource.

Parameters

url
The URL of the resource for which the properties should be returned.
properties
The following values are allowed:
"all"
Return all supported properties.
"name"
Return the names of all supported properties.
array
An array of property names that should be returned.
depth?
The following values are allowed:
"0"
Apply only to the resource itself. This is the default.
"1"
Apply to the resource and its direct descendants.
"infinity"
Apply to the resource and all of its descendants.

Result

status
The status code.
multistatus
This field will only be present when the status code is 207.

Example

->
{"jsonrpc": "2.0", "method": "propfind",
  "params": {"url": "/test/",
    "properties": ["displayname", "getlastmodified"], "depth": "infinity"},
"id": 0}

<-
{"jsonrpc": "2.0", "result": 
{
  "status": 207,
  "multistatus":
[
  {
    "href": "/test/",
    "displayname": 
    {
      "value": "test",
      "status": 200
    },
    "getlastmodified": 
    {
      "value": "2014-07-15T14:02:35+02:00",
      "status": 200
    }
  },

  {
    "href": "/test/test1/",
    "displayname": 
    {
      "value": "test1",
      "status": 200
    },
    "getlastmodified": 
    {
      "value": "2014-07-11T19:21:00+02:00",
      "status": 200
    }
  },

  {
    "href": "/test/test2",
    "displayname": 
    {
      "value": "test2",
      "status": 200
    },
    "getlastmodified": 
    {
      "value": "2014-07-14T11:55:50+02:00",
      "status": 200
    }
  }
]
}, "id": 0}

proppatch

Sets the properties of a resource.

Parameters

url
The URL of the resource for which the properties should be returned.
properties
An object where the keys are the property names and the values the property values in the same form as they are returned by the propfind method.

Result

status
The status code.
multistatus
This field will only be present when the status code is 207.

Example

->
{"jsonrpc": "2.0", "method": "proppatch",
  "params": {"url": "/index.xhtml", "properties":
  {
    "meta":
    {
      "dc_creator": ["Me myself and I"],
      "dcterms_abstract": ["Some text."]
    },
    "referring-to":
    [
      {
        "name": "annex",
        "href": "/About%20Stacks.pdf"
      },
      {
        "name": "annex",
        "href": "/mac.txt"
      }
    ]
  }
}, "id": 0}

<-
{"jsonrpc": "2.0", "result": 
{
  "status": 207,
  "multistatus":
[
  {
    "href": "/index.xhtml",
    "referring-to": 
    {
      "status": 200
    },
    "meta": 
    {
      "status": 200
    }
  }
]
}, "id": 0}

removeGroupMember

Removes a group or a user from another group.

Parameters

group
The name of the group from which the member should be removed.
member
The name of the member.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "removeGroupMember",
  "params": {"group": "g1", "member": "g2"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 204}, "id": 0}

removeLabel

Removes a label from the selected version of a resource.

Parameters

url
The URL of the resource that is to loose its label.
label
The label that has to be removed. It should exist.
selectionLabel?
A label that overrides the normal version selection rules. When given the version marked with this label will be selected.
depth?
The following values are allowed:
"0"
Apply only to the resource itself. This is the default.
"1"
Apply to the resource and its direct descendants.
"infinity"
Apply to the resource and all of its descendants.
lockToken?
A token obtained with the lock method.

Result

status
The status code.
multistatus
This field will only be present when the status code is 207.

Example

->
{"jsonrpc": "2.0", "method": "removeLabel",
  "params": {"url": "/test/", "label": "TEST"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 200}, "id": 0}

Returns the properties of all search results.

Parameters

url
The URL of the folder from which the search is performed.
expression

This is an object with the field op. If its value is either and, or or not, then there should be a second field expressions, which contains an array of expressions. If its value is a relational operator or contains, then there should be two other fields. The first one is field and second one value. The possibilities are described in the following table:

FieldOperatorsValues
activity-setcontainsactivity URL
auto-merged=true or false
contains = Full-text query
displayname =, != string (wildcard "*")
checked-out=true or false
creation-date =, !=, <, >, <=, >= ISO 8601 timestamp
creator-displayname =, != string (wildcard "*")
getcontentlanguage =, != string (wildcard "*")
getcontentlength =, !=, <, >, <=, >= natural number
getcontenttype =, != string (wildcard "*")
getlastmodified =, !=, <, >, <=, >= ISO 8601 timestamp
label-name-setcontainsstring
not-label=string
merge-incomplete=true or false
<metadata property name> =, !=, <, >, <=, >= string (wildcard "*") or other type depending on the kind of property
owner=, !=string (wildcard "*")
properties?
This should be an array of property names. If the parameter is not provided the properties score, fragments and title will be returned.

Result

status
The status code.
multistatus
This field will only be present when the status code is 207.

Example

->
{"jsonrpc": "2.0", "method": "search",
  "params":
  {
    "url": "/",
    "expression":
    {
      "op": "and",
      "expressions":
      [
        {
          "field": "contains",
          "op": "=",
          "value": "java"
        },
        {
          "field": "dc_creator",
          "op": "=",
          "value": "Me Myself And I"
        }
      ]
    }
  },
  "id": 0}

<-
{"jsonrpc": "2.0", "result": 
{
  "status": 207,
  "multistatus":
[
  {
    "href": "/odftoepub/user_guide.pdf",
    "score": 
    {
      "value": 0.16666667,
      "status": 200
    },
    "fragments": 
    {
      "value": 
      [
        {
          "fragment": 
          [
            {
              "term": "Java"
            },
            "-archive. On most systems you can double-click on it to launch it.
Otherwise you have to open a terminal window and type \u201c",

            {
              "term": "java"
            },
            " -jar odf_to_epub.jar\u201d. Te program "
          ]
        },

        {
          "fragment": 
          [
            {
              "term": "Java"
            },
            "-archive. On most systems you can double-click on it to launch it.
Other- wise you have to open a terminal window and type \u201c",

            {
              "term": "java"
            },
            " -jar embed_fonts.jar\u201d. Te program "
          ]
        }
      ],
      "status": 200
    },
    "title": 
    {
      "value": "The ODFToEPub User Guide",
      "status": 200
    }
  }
]
}, "id": 0}

setAcl

Sets the access control list of a resource. Any protected privileges the resource has must be in this list.

Parameters

url
The URL of the resource for which the ACL is to be set.
acl
An array of access control entry objects as described in the getAcl method.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "setAcl",
  "params": {"url": "/index.xhtml", "acl":
  [
    {
      "grant": true,
      "protected": true,
      "principal": "owner",
      "privilege": "all"
    },
    {
      "grant": false,
      "protected": true,
      "principal": "unauthenticated",
      "privilege": "write"
    },
    {
      "grant": false,
      "protected": true,
      "principal": "unauthenticated",
      "privilege": "write-acl"
    },
    {
      "grant": true,
      "protected": false,
      "principal": "authenticated",
      "privilege": "read-current-user-privilege-set"
    },
    {
      "grant": true,
      "protected": false,
      "principal": "all",
      "privilege": "read"
    },
    {
      "grant": true,
      "protected": false,
      "principal": "tracy",
      "privilege": "write"
    }
  ]
}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 200}, "id": 0}

setLabel

Adds a label to the selected version of a resource. If the label is already on another version it will be moved to the selected version.

Parameters

url
The URL of the resource that is to be labelled.
label
The label that has to be set. It can be any string.
selectionLabel?
A label that overrides the normal version selection rules. When given the version marked with this label will be selected.
depth?
The following values are allowed:
"0"
Apply only to the resource itself. This is the default.
"1"
Apply to the resource and its direct descendants.
"infinity"
Apply to the resource and all of its descendants.
lockToken?
A token obtained with the lock method.

Result

status
The status code.
multistatus
This field will only be present when the status code is 207.

Example

->
{"jsonrpc": "2.0", "method": "setLabel",
  "params": {"url": "/test/", "label": "TEST"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 200}, "id": 0}

uncheckout

Reverts the check-outof a document or folder.

Parameters

url
The URL of the resource of which the check-out is to be reverted.
lockToken?
A token obtained with the lock method.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "uncheckout", "params": {"url": "/index.xhtml"}, "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 200}, "id": 0}

unlock

Unlocks a resource.

Parameters

url
The URL of the resource that is to be unlocked.
lockToken?
A token obtained with the lock method.

Result

status
The status code.

Example

->
{"jsonrpc": "2.0", "method": "unlock",
  "params": {"url": "/test/ttt", "lockToken": "e2620250-cf98-fe1f-93b6-9b37aafb27e4"},
  "id": 0}

<-
{"jsonrpc": "2.0", "result": {"status": 204"}, "id": 0}

versions

Returns the properties of all versions of a resource.

Parameters

url
The URL of the resource for which the version properties should be returned.
properties?
This should be an array of property names. If the parameter is not provided the property version-name will be returned.

Result

status
The status code.
multistatus
This field will only be present when the status code is 207.

Example

->
{"jsonrpc": "2.0", "method": "versions",
  "params": {"url": "/init.js", "properties": ["version-name"]}, "id": 0}

<-
{"jsonrpc": "2.0", "result": 
{
  "status": 207,
  "multistatus":
[
  {
    "href": "/version/33e1e920-7b79-fe1f-2e47-e45c28178682/act/main/0",
    "version-name": 
    {
      "value": "/act/main/0",
      "status": 200
    }
  },
  {
    "href": "/version/33e1e920-7b79-fe1f-2e47-e45c28178682/act/main/1",
    "version-name": 
    {
      "value": "/act/main/1",
      "status": 200
    }
  }
]
}, "id": 0}

multistatus

A multistatus field always contains an array of response objects. Each response object represents a resource, the URL of which is in its href field. The other fields are properties of the resource.

Example

[
  {
    "href": "/test/",
    "displayname": 
    {
      "value": "test",
      "status": 200
    },
    "getlastmodified": 
    {
      "value": "2014-07-15T14:02:35+02:00",
      "status": 200
    }
  },

  {
    "href": "/test/test1/",
    "displayname": 
    {
      "value": "test1",
      "status": 200
    },
    "getlastmodified": 
    {
      "value": "2014-07-11T19:21:00+02:00",
      "status": 200
    }
  },

  {
    "href": "/test/test2",
    "displayname": 
    {
      "value": "test2",
      "status": 200
    },
    "getlastmodified": 
    {
      "value": "2014-07-14T11:55:50+02:00",
      "status": 200
    }
  }
]

properties

Protected properties can't be modified with the proppatch method. Date properties are always in ISO 8601 format, no matter what the WebDAV-definition says.

Name Protected Extension property Description
acl-restrictions yes no
activity-checkout-set yes no
activity-set yes no
activity-version-set yes no
alternate-URI-set no no
auto-merge-set yes no
auto-version no no
bookmarks no yes An array of bookmark objects with a name and a href field. It applies to users.
checkin-fork no no
checkout-fork no no
checkout-set yes no
checked-in yes no
checked-out yes no
comment no no
count yes yes The number of documents under a folder.
creationdate yes no
creator-displayname yes no
current-user-privilege-set yes no
displayname yes no
eclipsed-set yes no
email no yes The e-mail address of a user.
fragments yes yes The text fragments in a result entry returned by the search report.
getcontentlanguage yes no
getcontentlength yes no
getcontenttype yes no
getetag yes no
getlastmodified yes no
group-membership yes no
group-member-set yes no
home no yes The home folder of a user.
inherited-acl-set yes no
label-name-set yes no
language no yes The language-tag of a user.
lockdiscovery yes no
merge-set yes no
meta no yes The metadata properties of a document. It is an object with property names as the keys. The values are arrays of values. You can introduce your own additional names.
notifications no yes A boolean property indicating whether the user wishes to receive system notifictions or not.
owner no no
parent-set yes no
password no yes The password of a user.
picture no yes The URL of the picture of a user.
predecessor-set yes no
preview-set yes yes The generated previews for a document. It is an array of preview objects with the fields href, mime-type, width and height.
principal-collection-set yes no
principal-URL no no
quota-available-bytes yes no
quota-total-bytes no yes The maximum number of bytes a user or group is allowed to use.
quota-used-bytes yes no
referred-by yes yes The URLs of the resources that refer to this resource. It is an array of relation objects with a name and href field.
referred-by-version yes yes The URLs of the resource versions that refer to this resource. It is an array of relation objects with a name and href field.
referring-to no yes The URLs of the resources this resource refers to. It is an array of relation objects with a name and href field.
resourcetype yes no
resource-id yes no
root-version yes no
rule-set no yes An array of rule objects with the fields url, activity, label, version, time and check-out-activity, all of which drive version selection.
score yes yes The score of a result entry returned by the search report.
successor-set yes no
supportedlock yes no
supported-live-property-set yes no
supported-method-set yes no
supported-privilege-set yes no
supported-report-set yes no
timezone no yes The preferred timezone for a user. This is an offset to UTC.
title yes yes The title of a result entry returned by the search report.
version-controlled-binding-set yes no
version-history yes no
version-name yes no
version-set yes no