0% found this document useful (0 votes)
2 views24 pages

Alfresco REST API

The Alfresco REST API allows management of content features in both on-premise and cloud Alfresco repositories through JSON-based requests and responses. It provides access to various entities such as sites, containers, and comments, and includes functionalities for creating, retrieving, updating, and deleting entities via standard HTTP methods. The API also supports filtering, pagination, and sorting of results through optional parameters.

Uploaded by

kkosikov01
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views24 pages

Alfresco REST API

The Alfresco REST API allows management of content features in both on-premise and cloud Alfresco repositories through JSON-based requests and responses. It provides access to various entities such as sites, containers, and comments, and includes functionalities for creating, retrieving, updating, and deleting entities via standard HTTP methods. The API also supports filtering, pagination, and sorting of results through optional parameters.

Uploaded by

kkosikov01
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Published on Alfresco Documentation ([Link]

com)
Home > Alfresco Community Edition 5.1 > Developer guide > API guide > Reference > REST API > Alfresco REST API

Alfresco REST API


The Alfresco REST API lets you manage alfresco­specific features of content in an on­premise Alfresco repository, and in Alfresco cloud from your own
applications.

The API gives your application access to Alfresco Networks, Sites, Containers, Comments, Ratings, tags, and workflow objects. Response and request
bodies are all specified with simple JSON.

The REST API Explorer [1] The REST API Explorer documents all the API methods available to you, and lets you try those methods out.
What is an entity? [2] The generic term used in the API for any object in an Alfresco repository is entity. An entity is of a specific entity type, and
has a unique entity id.
What does a request look like? [3] You call a method on the API by issuing an authenticated HTTP request with a URL.
What does a response look like? [4] All responses are JSON objects. The format of the response object depends on the request. The object can
contain an entry object, an entry and a relations object, a list object, or an error object. Note that if a property or an entire object has no value, then
it is not returned in the parent object.
Using HTTP OPTIONS to get entity metadata [5] The Alfresco REST API supports the use of the HTTP OPTIONS method to retrieve structured
information on the methods available on an entity and its relations.
Items and packages [6] When a process is created, a list of items can be given as an input parameter. The items are a list of nodeids. A nodeId is a
nodeRef with the workspace://SpacesStore prefix removed. During creation of the process, a new package node is created in the repository. All
provided items are associated with that package node.
Entity reference [7] This contains a description of each of the Alfresco entities operated on by the REST API, and a pointer to the REST API
explorer section that describes the methods available on that entity.

Parent topic: REST API [8]

The REST API Explorer


The REST API Explorer documents all the API methods available to you, and lets you try those methods out.

The REST API Explorer, based on the OpenAPI initiative [9], gives you interactive documentation for the Alfresco REST API [10]. You can access our
online REST API Explorer at [Link] [11], and if you have the Alfresco SDK you can also run the Explorer on your
local machine [12].

This screenshot shows what the REST API Explorer looks like:

Use the userid admin and password admin if your are using the online REST API explorer.

To explore the operations on a specific entity, for example favorites, just click on it:
Now you can click on each of the available operations and test them on Alfresco.

You can use the API with another user than admin by changing the username and password in the upper right corner of the screen

The REST API consists of two parts the Core API, and the Workflow API. You can switch between the two by clicking on the drop down box, and
selecting Core API or Workflow API

Parent topic: Alfresco REST API [13]

What is an entity?
The generic term used in the API for any object in an Alfresco repository is entity. An entity is of a specific entity type, and has a unique entity id.

The Alfresco REST API operates on the following entity types:

sites
An Alfresco site is a project area where you can share content and collaborate with other site members.
containers
A container is a folder or space in a site.
members
Members are the people who collaborate on a site.
people
People are the users of Alfresco. A person entity describes the user as they are known to Alfresco.
favoriteSites
The sites that a person has marked as favorite in Alfresco (Deprecated). Use the favorites entity and methods.
preferences
A person's preferences in Alfresco.
networks
A network is the group of users and sites that belong to an organization. You can find out specific network information or how it relates to a person.
activities
Activities describe any past activity in a site, for example creating an item of content, commenting on a node, liking an item of content.
nodes
A node is an overall term for an item of content or a folder.
comments
A person can comment on folders and individual items to give other users information or notes specific to that content.
tags
Any item of Alfresco content can be tagged.
ratings
A person can rate an item of content by liking it. They can also remove their like of an item of content.
favorites
A favorite describes an Alfresco entity that a person has marked as a favorite.
site membership requests
A site membership request describes a request for a person to join a site in Alfresco.
deployments
A deployment resource represents one file inside a deployment.
process definitions
A process definition is a description of an execution flow in terms of activities. New processes are created and started for a process definition.
processes
A process describes a running instance of a process definition.
tasks
A task describes one task for a human user.

A logical group of entities is termed a collection.

Parent topic: Alfresco REST API [13]

What does a request look like?


You call a method on the API by issuing an authenticated HTTP request with a URL.

The four HTTP methods are used in the following ways:

POST
is used to create a new entity in a collection of entities
GET
is used to retrieve information on a single entity or to retrieve a list of entities
PUT
is used to update a single entity
DELETE
is used to delete a single entity

Request URL format [14] Each request is a URL with a specific format. The format is dependent on the type of target repository.
API method format [15] The method itself consists of at least one entity type, or an entity type and an entity id, or concatenations of entity type and
id pairs, optionally followed by HTTP parameters that filter the results.
Specifying the current user [16] When making an Alfresco REST API call, your application might not know the user ID of the currently
authenticated user. You can use the string ‐me‐ to represent that user in request URLs, and PUT and POST request bodies.
HTTP Parameters [17] The API provides several HTTP parameters that you can append to any API method URL to filter the returned results. The
parameters are optional and can be use in combination with each other. There are also parameters that are used in a specific API method. You
will find those documented in the API reference. Parameters listed here are applicable to any API method.

Parent topic: Alfresco REST API [13]

Request URL format


Each request is a URL with a specific format. The format is dependent on the type of target repository.

Request URL format for Alfresco Cloud [18] Each request to Alfresco cloud is a URL with a specific format.
Request URL format for on­premise Alfresco [19] Each request to an Alfresco on­premise repository is a URL with a specific format.

Parent topic: What does a request look like? [3]

Request URL format for Alfresco Cloud


Each request to Alfresco cloud is a URL with a specific format.

This is an example of a request URL

[Link]

Each request URL is made up of the following elements:

1. The protocol, which will always be https


2. The hostname which will always be [Link]
3. Your network ID, which in this case is [Link]
4. The fixed path element /public/
5. The API you want to call. You call the workflow API for methods acting on workflow entities such as Deployments, Process Definitions, Processes,
and Tasks. You call the alfresco API for methods acting on all other entities. In this case it is the Alfresco REST API identified as /public/alfresco.
6. /versions/n. This specifies the version of the API you are using. n will always be 1.
7. The API method itself. In this case the request is for all instances of the entity type sites.

Parent topic: Request URL format [14]

Request URL format for on­premise Alfresco


Each request to an Alfresco on­premise repository is a URL with a specific format.

This is an example of a request URL

[Link]

Each request URL is made up of the following elements:

1. The protocol, which will always be https


2. The hostname. This will be the host and port number of your alfresco instance. So if your Alfresco instance is running on the local machine on port
8080 this will be localhost:8080.
3. The fixed string ‐default‐.
4. The fixed path element /public/
5. The API you want to call. You call the workflow API for methods acting on workflow entities such as Deployments, Process Definitions, Processes,
and Tasks. You call the alfresco API for methods acting on all other entities. In this case it is the Alfresco REST API identified as /public/alfresco.
6. /versions/n. This specifies the version of the API you are using. n will always be 1.
7. The API method itself. In this case the request is for all instances of the entity type sites.

Parent topic: Request URL format [14]

API method format


The method itself consists of at least one entity type, or an entity type and an entity id, or concatenations of entity type and id pairs, optionally followed
by HTTP parameters that filter the results.

For example the following API method will return a list of all site entities:

sites

The entity type can be followed by an entity id, so for example the following API method will return on the site entity with the id fred‐bloggs‐yourcompany‐
com.

sites/fred‐bloggs‐yourcompany‐com

Entity types and ids can be concatenated, so for example the following API method will get site membership information for a specific person from a
specific site

sites/fred‐bloggs‐yourcompany‐com/members/[Link]@[Link]

Parent topic: What does a request look like? [3]

Specifying the current user


When making an Alfresco REST API call, your application might not know the user ID of the currently authenticated user. You can use the string ‐me‐ to
represent that user in request URLs, and PUT and POST request bodies.

For example, assuming the currently authenticated user is [Link]@[Link] the following URL will return a list of site memberships for the
currently authenticated user:

[Link]

Using the current user ‐me‐, the following URL will return the same list of site memberships:

[Link]

Parent topic: What does a request look like? [3]

HTTP Parameters
The API provides several HTTP parameters that you can append to any API method URL to filter the returned results. The parameters are optional and
can be use in combination with each other. There are also parameters that are used in a specific API method. You will find those documented in the API
reference. Parameters listed here are applicable to any API method.

Pagination [20] As a developer, the REST API gives you control on how much of a returned collection you want to receive.
Sorting your returned objects [21] For some collections, you can control the order of the entities returned using the orderBy parameter.
Using SELECT to filter output [22] You might only be interested in a subset of properties in a returned entity or list of entities. You can use the
SELECT parameter to restrict the returned properties.
Using SELECT to set properties [23] You can use the SELECT parameter to request a partial update of an object.
Using WHERE to restrict output [24] You can use the WHERE parameter to restrict the returned objects by a predicate. As in SQL, WHERE
defines a boolean expression that all results must meet. It is made up of one or more conditions on properties, composed together using the
logical connectors; AND, OR, and NOT. You can group expressions using parentheses.
Filtering properties [25] You might only be interested in a subset of properties in a returned entity. You can use the properties parameter to restrict
the returned properties.
Including relations [26] Use the relations parameter to include one or more related entities in a single response.

Parent topic: What does a request look like? [3]

Pagination
As a developer, the REST API gives you control on how much of a returned collection you want to receive.

The collection returned by a simple request can contain a large number of entities. You can control the size of the list using pagination. So for example if
a node with an id of e8680e58‐0701‐4b64‐950d‐66cce277fbc7 has 100 comments the following request will return a list of 100 entities:

nodes/e8680e58‐0701‐4b64‐950d‐66cce277fbc7/comments

You can get just the first 10 items using the maxItems parameter:

nodes/e8680e58‐0701‐4b64‐950d‐66cce277fbc7/comments?maxItems=10

You can then get the second page of 10 items using the skipCount parameter:

nodes/e8680e58‐0701‐4b64‐950d‐66cce277fbc7/comments?maxItems=10&skipCount=10

A returned list object will always contain a pagination object which has the following properties:

skipCount
An integer describing how many entities exist in the collection before those included in this list.
maxItems
The maxItems parameter used to generate this list, or if there was no maxItems parameter the default value, 10.
count
The number of objects in the entries array.
hasMoreItems
A boolean value which is true if there are more entities in the collection beyond those in this response. A true value means request with a larger
value for the skipCount or the maxItems parameter will return more entities.
totalItems
An integer describing the total number of entities in the collection. The API might not be able to determine this value, in which case this property
will not be present.

Parent topic: HTTP Parameters [17]

Sorting your returned objects


For some collections, you can control the order of the entities returned using the orderBy parameter.

orderBy specifies the name of one or more comma separated properties. For each property you can optionally specify the order direction. Both of the
following requests retrieve all site entities ordered by ascending name:

GET ...alfresco/versions/1/sites?orderBy=name
GET ...alfresco/versions/1/sites?orderBy=name%20ASC

The following request will return all site entities ordered by their createdAt property in descending order and then by their name property in ascending
order:
GET ...alfresco/versions/1/sites?orderBy=createdAt%20DESC,name

If the entity type does not support ordering or if any of the specified properties do not exist or cannot be used for sorting purposes then a 400 HTTP
status code is returned. An error object is returned that states why the requested sort cannot be performed.

Parent topic: HTTP Parameters [17]

Using SELECT to filter output


You might only be interested in a subset of properties in a returned entity or list of entities. You can use the SELECT parameter to restrict the returned
properties.

For example, the following API method would return all people, but only include the properties id, firstName, and lastName

GET .../versions/1/people?select=id,firstName,lastName

Parent topic: HTTP Parameters [17]

Using SELECT to set properties


You can use the SELECT parameter to request a partial update of an object.

For example, you might want to update just the state property of a task workflow object.

PUT .../tasks/02754d‐32e0‐4809‐a722‐8266e66e7b26?select=state

In the PUT request body you would write the following JSON to set the state to completed:
{
"state" : "completed"
}

Parent topic: HTTP Parameters [17]

Using WHERE to restrict output


You can use the WHERE parameter to restrict the returned objects by a predicate. As in SQL, WHERE defines a boolean expression that all results
must meet. It is made up of one or more conditions on properties, composed together using the logical connectors; AND, OR, and NOT. You can group
expressions using parentheses.

Each condition contains one property name, comparison operator (=, >, <, >=, <=, BETWEEN, MATCHES, EXISTS), and depending on the specific
comparison operator, the condition can include a value, a range of values, or a set of values. Ranges and sets of values are expressed using square
brackets (‘[’ and ‘]’) and use the comma character (‘,’) as a delimiter. The following are practical examples:

GET .../public/alfresco/versions/1/sites?where=(type='public')
GET .../public/alfresco/versions/1/people?where=(age%20>=%2018)
GET .../public/alfresco/versions/1/sites?where=(creationDate%20BETWEEN%20['2012‐01‐01','2012‐12‐31'])
GET .../public/alfresco/versions/1/sites?where=(creationDate%20IN%20['2012‐01‐01','2012‐01‐03','2012‐01‐05','2012‐01‐07'])
GET .../public/alfresco/versions/1/sites?where=(name%20MATCHES%20'internal*')
GET .../public/alfresco/versions/1/people?where=(age%20>=%2018)%20AND%20(emailAddress%20MATCHES%20'*@[Link]')
GET .../public/alfresco/versions/1/people?where=(age%20<%2018)%20OR%20(age%20>%2065)
GET .../public/alfresco/versions/1/people/[Link]@[Link]/favorites?where=(EXISTS(target/file))

Whitespace is allowed a WHERE clause. The operators BETWEEN, IN, MATCHES must have whitespace between the operand and the operator.

A 400 HTTP status code is returned when a restriction cannot be applied as requested. The "error" object returned states why the requested restriction
could not be performed as requested.

Parent topic: HTTP Parameters [17]


Filtering properties
You might only be interested in a subset of properties in a returned entity. You can use the properties parameter to restrict the returned properties.

The properties parameter is a comma­separated list of property names:­

properties=property1,property2...

For example if you invoked the following API method using the HTTP GET method:
sites

Alfresco would return a list of site objects each with four properties; id, title, visibility, description. Your application might only interested in say two
properties, title and description. You can filter the returned site objects like this:
sites?properties=title,description

The collection returned will look like this:


{
"list" : {
"pagination" : {
"count" : 2,
"hasMoreItems" : false,
"totalItems" : 2,
"skipCount" : 0,
"maxItems" : 100
},
"entries" : [ {
"entry" : {
"title" : "Test Site",
"description" : "A site for testing"
}
}, {
"entry" : {
"title" : "Fred Bloggs's Home",
"description" : "Fred Blogs's private home site."
}
} ]
}
}

Each entry in the list is a site object filtered to include just the title and description properties.

Parent topic: HTTP Parameters [17]

Including relations
Use the relations parameter to include one or more related entities in a single response.
The entity types in Alfresco are organized in a tree structure. So for example, the sites entity has two children, containers and members. You can reduce
network traffic by using the relations parameter to include one or more child entities in a single response. The parameter is a comma separated list of
entity types
relations=entity1,entity2,...

If you you invoked the following API method using the HTTP GET method:
sites?relations=containers,members

Alfresco returns a list of site objects, and retrieves the child container and member objects for each site in the returned collection, and returns them in a
peer object of the entry object containing the site. Here is an example of the returned JSON:
{
"list" : {
"pagination" : {
"count" : 2,
"hasMoreItems" : false,
"totalItems" : 2,
"skipCount" : 0,
"maxItems" : 100
},
"entries" : [ {
"entry" : {
"id" : "test",
"title" : "test",
"visibility" : "PUBLIC"
},
"relations" : {
"containers" : {
"list" : {
"pagination" : {
"count" : 1,
"hasMoreItems" : false,
"totalItems" : 1,
"skipCount" : 0,
"maxItems" : 100
},
"entries" : [ {
"entry" : {
"id" : "5b0d84c8‐0749‐4fee‐bd4f‐9134d6990e5b",
"folderId" : "documentLibrary"
}
} ]
}
},
"members" : {
"list" : {
"pagination" : {
"count" : 2,
"hasMoreItems" : false,
"skipCount" : 0,
"maxItems" : 100
},
"entries" : [ {
"entry" : {
"id" : "fred‐bloggs@[Link]",
"person" : {
"enabled" : true,
"lastName" : Bloggs",
"id" : "[Link]@[Link]",
"email" : "[Link]@[Link]",
"company" : {
},
"firstName" : "Fred"
},
"role" : "SiteManager"
}
}, {
"entry" : {
"id" : "joe‐bloggs@[Link]",
"person" : {
"enabled" : true,
"lastName" : "Bloggs",
"id" : "[Link]@[Link]",
"email" : "[Link]@[Link]",
"company" : {
},
"firstName" : "Joe"
},
"role" : "SiteConsumer"
}
} ]
}
}
}
}, {
"entry" : {
"id" : "fred‐bloggs‐yourcompany‐com",
"title" : "Fred Bloggs's Home",
"visibility" : "PRIVATE",
"description" : "Fred Bloggs's private home site."
},
"relations" : {
"containers" : {
"list" : {
"pagination" : {
"count" : 1,
"hasMoreItems" : false,
"totalItems" : 1,
"skipCount" : 0,
"maxItems" : 100
},
"entries" : [ {
"entry" : {
"id" : "289f9030‐eef6‐421f‐bdb6‐1e6d2da165b6",
"folderId" : "documentLibrary"
}
} ]
}
},
"members" : {
"list" : {
"pagination" : {
"count" : 1,
"hasMoreItems" : false,
"skipCount" : 0,
"maxItems" : 100
},
"entries" : [ {
"entry" : {
"id" : "[Link]@[Link]",
"person" : {
"enabled" : true,
"lastName" : "Bloggs",
"location" : "Somewhere",
"avatarId" : "85d45e64‐eb02‐44e1‐b989‐dbf571ab0704",
"instantMessageId" : "fredb",
"googleId" : "fredb@[Link]",
"id" : "[Link]@[Link]",
"skypeId" : "fredb",
"email" : "[Link]@[Link]",
"description" : "Been with company for n years",
"company" : {
"organization" : "Your Company",
"address1" : "Some place",
"address2" : "Somewhere",
"postcode" : "Z99 9Z9",
"telephone" : "01234 123456",
"fax" : "01234 123457",
"email" : "info@[Link]"
},
"firstName" : "Fred",
"telephone" : "01234 567890",
"jobTitle" : "VP of something",
"mobile" : "07777 567890"
},
"role" : "SiteManager"
}
} ]
}
}
}
} ]
}
}

Parent topic: HTTP Parameters [17]

API method format


The method itself consists of at least one entity type, or an entity type and an entity id, or concatenations of entity type and id pairs, optionally followed
by HTTP parameters that filter the results.

For example the following API method will return a list of all site entities:

sites

The entity type can be followed by an entity id, so for example the following API method will return on the site entity with the id fred‐bloggs‐yourcompany‐
com.

sites/fred‐bloggs‐yourcompany‐com

Entity types and ids can be concatenated, so for example the following API method will get site membership information for a specific person from a
specific site

sites/fred‐bloggs‐yourcompany‐com/members/[Link]@[Link]

Parent topic: What does a request look like? [3]

What does a response look like?


All responses are JSON objects. The format of the response object depends on the request. The object can contain an entry object, an entry and a
relations object, a list object, or an error object. Note that if a property or an entire object has no value, then it is not returned in the parent object.

Entry object
An API call which returns information about a single entity will return in an entry object. Here is an example response from a request for information on a
site with a specific site­id:
{
"entry":{
"title":"Fred Blogg's Home",
"description":"Fred Blogg's private home site.",
"visibility":"PRIVATE",
"id":"fred‐bloggs‐yourcompany‐com"
}
}

Note that the entry object's properties are variable and depend on the API call made.

Relations object
If an API method specifies the relations [27] parameter, then any included children will be returned in a relations object. Here is an example of a relations
object:

"relations" : {
"containers" : {
"list" : {
"pagination" : {
"count" : 1,
"hasMoreItems" : false,
"totalItems" : 1,
"skipCount" : 0,
"maxItems" : 100
},
"entries" : [ {
"entry" : {
"id" : "b9f8c112‐66b9‐4733‐a77d‐46e61c395706",
"folderId" : "documentLibrary"
}
} ]
}
}
}

List object
An API call which returns information about a several entities will return in a list object. A list will always have two properties, pagination and entries. The
pagination object is described in Pagination [28]. The entries object is an array of entry objects. Here is an example response from a request for
information on all sites:
{
"list":{
"pagination":{
"count":1,
"hasMoreItems":false,
"totalItems":1,
"skipCount":0,
"maxItems":10
},
"entries":[
{
"entry":{
"title":"Fred Blogg's Home",
"description":"Fred Blogg's private home site.",
"visibility":"PRIVATE",
"id":"fred‐bloggs‐yourcompany‐com"
}
}
]
}
}

Error object
An API call which fails for some reason will return an error object containing these properties:­

errorKey
A unique string identifier
statusCode
The HTTP status code for the type of error. The same code is returned in the HTTP response.
briefSummary
description of the cause of the error
descriptionUrl
A URL to a detailed description of the error
stackTrace
If an exception was thrown, this contains the Java stack trace as a string
additionalState
This optional property if it is present contains a free­form JSON object with additional information on the state of the server and/or the request

Here is an example of an error object from a request for a specific site­id that does not exist on the server:
{
"error" : {
"statusCode" : 404,
"briefSummary" : "07220488 The entity with id: frank‐bloggs‐yourcompany‐com was not found",
"stackTrace" : "[[Link]([Link]), [Link]([Link]), ...
"descriptionURL" : "[Link]
}
}

Note that the stack trace has been truncated for this example.

Date and time format [29] Dates in the JSON response object are encoded as character strings using the extended format defined by ISO
standard 8601:2004. They are always in UTC.

Parent topic: Alfresco REST API [13]

Date and time format


Dates in the JSON response object are encoded as character strings using the extended format defined by ISO standard 8601:2004. They are always
in UTC.

You can find the ISO standard 8601:2004 here [30]. Here is an example of what to expect in a date/time string in a JSON response:

"createdAt" : "2012‐07‐20T21:46:09.659+0000"

Parent topic: What does a response look like? [4]

Using HTTP OPTIONS to get entity metadata


The Alfresco REST API supports the use of the HTTP OPTIONS method to retrieve structured information on the methods available on an entity and its
relations.

Method
For example, to get information on the nodes entity, the methods you can use on it, its children (or relations), and the methods you can use on those, you
can invoke the following API method using the HTTP OPTIONS method:­
nodes

Example request URL


A request to an on­premise Alfresco repository:
[Link]

A request to Alfresco in the Cloud:


[Link]

To make the request your application will need to have a valid access token. See Authentication for Alfresco Cloud [31] for more information.

A cURL command line:


curl ‐u admin:admin [Link]

Response
If the request is successful an HTTP OK is returned (status 200).

Example response body


{
"list" : {
"pagination" : {
"count" : 4,
"hasMoreItems" : false,
"totalItems" : 4,
"skipCount" : 0,
"maxItems" : 100
},
"entries" : [ {
"entry" : {
"metaData" : {
"uniqueId" : "/nodes",
"type" : "ENTITY"
}
}
}, {
"entry" : {
"metaData" : {
"uniqueId" : "/nodes/{entityId}/tags",
"type" : "RELATIONSHIP",
"operations" : [ {
"httpMethod" : "POST",
"title" : "Add the tag to the node with id 'nodeId'.",
"parameters" : [ {
"name" : "entityId",
"required" : true,
"title" : "The unique id of the entity being addressed",
"description" : "The unique id must be a String. It is returned as an 'id' from the entity",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "TEMPLATE"
}, {
"name" : "TAG",
"required" : true,
"title" : "The entity",
"description" : "What shall we say?",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "OBJECT"
} ]
}, {
"httpMethod" : "GET",
"title" : "A paged list of tags on the node 'nodeId'.",
"parameters" : [ {
"name" : "entityId",
"required" : true,
"title" : "The unique id of the entity being addressed",
"description" : "The unique id must be a String. It is returned as an 'id' from the entity",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "TEMPLATE"
} ]
}, {
"httpMethod" : "DELETE",
"title" : "Remove the tag from the node with id 'nodeId'.",
"parameters" : [ {
"name" : "entityId",
"required" : true,
"title" : "The unique id of the entity being addressed",
"description" : "The unique id must be a String. It is returned as an 'id' from the entity",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "TEMPLATE"
} ]
} ],
"parentResource" : "/nodes"
}
}
}, {
"entry" : {
"metaData" : {
"uniqueId" : "/nodes/{entityId}/ratings",
"type" : "RELATIONSHIP",
"operations" : [ {
"httpMethod" : "POST",
"title" : "Apply a rating for node 'nodeId'.",
"parameters" : [ {
"name" : "entityId",
"required" : true,
"title" : "The unique id of the entity being addressed",
"description" : "The unique id must be a String. It is returned as an 'id' from the entity",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "TEMPLATE"
}, {
"name" : "NODERATING",
"required" : true,
"title" : "The entity",
"description" : "What shall we say?",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "OBJECT"
} ]
}, {
"httpMethod" : "GET",
"title" : "A paged list of ratings for node 'nodeId'.",
"parameters" : [ {
"name" : "entityId",
"required" : true,
"title" : "The unique id of the entity being addressed",
"description" : "The unique id must be a String. It is returned as an 'id' from the entity",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "TEMPLATE"
} ]
}, {
"httpMethod" : "GET",
"title" : "Get the rating with id 'ratingSchemeId' for node 'nodeId'.",
"parameters" : [ {
"name" : "entityId",
"required" : true,
"title" : "The unique id of the entity being addressed",
"description" : "The unique id must be a String. It is returned as an 'id' from the entity",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "TEMPLATE"
}, {
"name" : "relationshipId",
"required" : true,
"title" : "The unique id of the entity relationship being addressed",
"description" : "The unique id must be a String. It is only valid in the scope of the relationship",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "TEMPLATE"
} ]
}, {
"httpMethod" : "DELETE",
"title" : "Missing @WebApiDescription annotation",
"description" : "This method should be annotated with @WebApiDescription",
"parameters" : [ {
"name" : "entityId",
"required" : true,
"title" : "The unique id of the entity being addressed",
"description" : "The unique id must be a String. It is returned as an 'id' from the entity",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "TEMPLATE"
} ]
} ],
"parentResource" : "/nodes"
}
}
}, {
"entry" : {
"metaData" : {
"uniqueId" : "/nodes/{entityId}/comments",
"type" : "RELATIONSHIP",
"operations" : [ {
"httpMethod" : "POST",
"title" : "Create a comment for the node 'nodeId'.",
"parameters" : [ {
"name" : "entityId",
"required" : true,
"title" : "The unique id of the entity being addressed",
"description" : "The unique id must be a String. It is returned as an 'id' from the entity",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "TEMPLATE"
}, {
"name" : "COMMENT",
"required" : true,
"title" : "The entity",
"description" : "What shall we say?",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "OBJECT"
} ]
}, {
"httpMethod" : "GET",
"title" : "Returns a paged list of comments for the document/folder identified by nodeId, sorted chronologically with the newest first.",
"parameters" : [ {
"name" : "entityId",
"required" : true,
"title" : "The unique id of the entity being addressed",
"description" : "The unique id must be a String. It is returned as an 'id' from the entity",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "TEMPLATE"
} ]
}, {
"httpMethod" : "PUT",
"title" : "Updates the comment with the given id.",
"parameters" : [ {
"name" : "entityId",
"required" : true,
"title" : "The unique id of the entity being addressed",
"description" : "The unique id must be a String. It is returned as an 'id' from the entity",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "TEMPLATE"
}, {
"name" : "relationshipId",
"required" : true,
"title" : "The unique id of the entity relationship being addressed",
"description" : "The unique id must be a String. It is only valid in the scope of the relationship",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "TEMPLATE"
}, {
"name" : "COMMENT",
"required" : true,
"title" : "The entity",
"description" : "What shall we say?",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "OBJECT"
} ]
}, {
"httpMethod" : "DELETE",
"title" : "Delete the comment with the given commentNodeId.",
"parameters" : [ {
"name" : "entityId",
"required" : true,
"title" : "The unique id of the entity being addressed",
"description" : "The unique id must be a String. It is returned as an 'id' from the entity",
"dataType" : "[Link]",
"allowMultiple" : false,
"paramType" : "TEMPLATE"
} ]
} ],
"parentResource" : "/nodes"
}
}
} ]
}
}

Parent topic: Alfresco REST API [13]

Items and packages


When a process is created, a list of items can be given as an input parameter. The items are a list of nodeids. A nodeId is a nodeRef with the
workspace://SpacesStore prefix removed. During creation of the process, a new package node is created in the repository. All provided items are
associated with that package node.

The package nodeid is stored as a variable in the process with variable name 'package' as a String. When retrieving the process details, the list of
'items' is generated by collecting all the items that are associated with the package node.

Parent topic: Alfresco REST API [13]

Entity reference
This contains a description of each of the Alfresco entities operated on by the REST API, and a pointer to the REST API explorer section that describes
the methods available on that entity.

Networks [32]A network is the group of users and sites that belong to an organization. Networks are organized by email domain. When a user
signs up for an Alfresco account, their email domain becomes their "Home Network".
Sites [33]An Alfresco site is a project area where you can share content and collaborate with other site members. There are API calls for getting a
list of sites, and for getting information on a single site.
Site membership requests [34]A site membership request describes a request for a person to join a site in Alfresco. There are API calls for getting
a list of a user's site membership requests, for joining a site, for modifying a request to join a site, and for deleting a site membership request.
People [35]People are the users of Alfresco. A person entity describes the user as they are known to Alfresco. There are API methods to get the
sites a person is a member of, to get the details of a person, their favorite sites, preferences, and networks they are a member of. Methods are
also available to process activities related to a person.
Tags [36]Any item of Alfresco content can be tagged. API methods exist to return a list of tags currently being used in a network.
Nodes [37]A node is an overall term for an item of content or a folder. API methods are available to work with a node's comments, tags, and ratings.
Favorites [38]A favorite describes an Alfresco entity that a person has marked as a favorite. There are API calls for getting a list of a user's
favorites, for getting a specific favorite, for adding a favorite, and for deleting a favorite.
Deployments [39]A deployment resource represents one file inside a deployment.
Process definitions [40]A process definition is a description of an execution flow in terms of activities. New processes are created and started for a
process definition.
Processes [41]A process describes a running instance of a process definition.
Tasks [42]A task describes one task for a human user.

Parent topic: Alfresco REST API [13]

Networks
A network is the group of users and sites that belong to an organization. Networks are organized by email domain. When a user signs up for an Alfresco
account, their email domain becomes their "Home Network".

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/networks [43]. If you have the REST API explorer running locally, then go to [Link] [44].

Network object
Property Type JSON Type Description
id id string This network's unique id
homeNetwork boolean boolean Is this the home network?
isEnabled boolean boolean Is this network active?
createdAt Date Time String The date time this network was created
quotas array array Limits and usage of each quota. A network will
have quotas for File space, the number of sites
in the network, the number of people in the
network, and the number of network
administrators.
paidNetwork boolean boolean Is this a paid network?
subscriptionLevel enumerated string string The type of subscription for this network.
Possible values are Free, Standard, and
Enterprise

Example of a network object


"entry" : {
"id" : "[Link]",
"createdAt" : "2012‐06‐07T10:22:28.000+0000",
"quotas" : [ {
"limit" : 52428800,
"id" : "fileUploadQuota"
}, {
"limit" : 5368709120,
"usage" : 149102356,
"id" : "fileQuota"
}, {
"limit" : ‐1,
"usage" : 29,
"id" : "siteCountQuota"
}, {
"limit" : ‐1,
"usage" : 33,
"id" : "personCountQuota"
}, {
"limit" : ‐1,
"usage" : 15,
"id" : "personInternalOnlyCountQuota"
}, {
"limit" : 0,
"usage" : 0,
"id" : "personNetworkAdminCountQuota"
} ],
"paidNetwork" : false,
"isEnabled" : true,
"subscriptionLevel" : "Free"
}

List order
Lists of these entities are returned ordered by ascending id.
Parent topic: Entity reference [7]

Sites
An Alfresco site is a project area where you can share content and collaborate with other site members. There are API calls for getting a list of sites,
and for getting information on a single site.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/networks [45]. If you have the REST API explorer running locally, then go to [Link] [46].

Site object
Property Type JSON Type Description
title string string The site's name (used in the site's list and on the sites dashboard).
description string string The description of the site
visibility string string The visibility of the site, PRIVATE, PUBLIC, or MODERATED.
id id string The site identifier. An opaque string which uniquely identifies this site.

Example of a site object


{
"title":"Fred Bloggs's Home",
"description":"Fred Bloggs's private home site.",
"visibility":"PRIVATE",
"id":"fred‐bloggs‐yourcompany‐com"
}

Containers [47]A container is a folder or space in a site. There are API calls for getting a list of top­level containers in a site, and for getting a
container by its containerId.
Members [48]Members are the people who collaborate on a site. There are API calls for getting a list of the members of the site, getting the site
membership information for a person, adding a person to a site, and updating a person's site membership information.

Parent topic: Entity reference [7]

Containers
A container is a folder or space in a site. There are API calls for getting a list of top­level containers in a site, and for getting a container by its
containerId.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/sites [45]. If you have the REST API explorer running locally, then go to [Link] [46].

Container object
Property Type JSON Type Description
folderId string string The container's descriptive name.
id id string The container identifier. An opaque string which uniquely identifies this
container.

Example of a container object


{
"folderId":"documentLibrary",
"id":"7fb6c69b‐f462‐429a‐a168‐87762f660c65"
}

List order
Lists of these entities are returned ordered by ascending folderId.

Parent topic: Sites [33]

Members
Members are the people who collaborate on a site. There are API calls for getting a list of the members of the site, getting the site membership
information for a person, adding a person to a site, and updating a person's site membership information.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/sites [45]. If you have the REST API explorer running locally, then go to [Link] [46].
Member object
Property Type JSON Type Description
role enumerated string string The member's role. Possible values are SiteManager, SiteContributor, and
SiteCollaborator.

id email id string The person's personId ­ the email address with which the person
registered
person [49] person object object An embedded person object describing this member.

Example of a member object


{
"role":"SiteManager",
"id":"[Link]@[Link]",
"person":{
"enabled":true,
"lastName":"Bloggs",
"location":"Somewhere",
"avatarId":"6be34757‐5764‐4a4b‐a86c‐f5f0878b9700",
"instantMessageId":"fred",
"googleId":"fred@[Link]",
"id":"[Link]@[Link]",
"skypeId":"fredbloggs",
"email":"[Link]@[Link]",
"description":"a person",
"company":{
"organization":"alfresco",
"address1":"somewhere",
"postcode":"fff fff",
"telephone":"01234 456789",
"fax":"01234 456789",
"email":"info@[Link]"
},
"firstName":"Fred",
"telephone":"01234 99229922",
"jobTitle":"Chief Bottle Washer",
"mobile":"07777 012345"
}
}

List order
Lists of these entities are returned ordered by ascending ( lastName, firstName, role ).

Parent topic: Sites [33]

Site membership requests


A site membership request describes a request for a person to join a site in Alfresco. There are API calls for getting a list of a user's site membership
requests, for joining a site, for modifying a request to join a site, and for deleting a site membership request.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/sites [45]. If you have the REST API explorer running locally, then go to [Link] [46].

Site membership request object


Property Type JSON Type Description
id string string The site id.
site object object The target site.
message string string An optional message from the requester explaining why access is being
requested.
createdAt date time string The time this site membership request was made.
modifiedAt date time string The time this site membership request was modified.

Example of a site membership request object

{
"entry": {
"id" : "the‐secret‐site",
"createdAt" : "2012‐07‐20T21:46:09.659+0000",
"modifiedAt" : "2012‐07‐20T21:46:09.659+0000",
"message" : "I need this access for national security reasons!",
"site": {
"id" : "the‐secret‐site",
"guid" : "8ac18731‐601b‐4bb4‐be1a‐cd5d252cce3f",
"title" : "The Company’s Secret Site",
"visibility" : "MODERATED",
"description" : "The Company’s Secret Site"
}
}
}

List order
Lists of these entities are returned ordered by ascending site title.

Parent topic: Entity reference [7]

People
People are the users of Alfresco. A person entity describes the user as they are known to Alfresco. There are API methods to get the sites a person is a
member of, to get the details of a person, their favorite sites, preferences, and networks they are a member of. Methods are also available to process
activities related to a person.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/people [50]. If you have the REST API explorer running locally, then go to [Link] [51].

Person object
Property Type JSON Type Description
enabled boolean boolean Is this person currently enabled?
lastName string string the person's last name
location string string The person's location or address
avatarId id string The id of the person's avatar
instantMessageId string string The person's instant message Id
googleId string string The person's Google Id
id email id string The person's personId ­ the email address with which the person
registered
skypeId string string The person's Skype Id
description string string The person's description
company company object An embedded company object describing the person's company
firstName string string The person's first name
telephone string string The person's telephone number
jobTitle string string The person's job title
mobile string string The person's mobile number

Example of a person object


{
"entry" : {
"enabled" : true,
"lastName" : "Bloggs",
"location" : "Somewhere",
"avatarId" : "85d45e64‐eb02‐44e1‐b989‐dbf571ab0704",
"instantMessageId" : "fredb",
"googleId" : "fredb@[Link]",
"id" : "[Link]@[Link]",
"skypeId" : "fredb",
"email" : "[Link]@[Link]",
"description" : "Been with company for n years",
"company" : {
"organization" : "Your Company",
"address1" : "Some place",
"address2" : "Somewhere",
"postcode" : "Z99 9Z9",
"telephone" : "01234 123456",
"fax" : "01234 123457",
"email" : "info@[Link]"
},
"firstName" : "Fred",
"telephone" : "01234 567890",
"jobTitle" : "VP of something",
"mobile" : "07777 567890"
}
}

Sites [52] An Alfresco site is a project area where you can share content and collaborate with other site members. There are API calls for getting a
list of sites that a person is a member of, and for getting information about a person's membership of a single site.
Favorite sites [53]The sites that a person has marked as favorite in Alfresco (Deprecated). Use the favorites entity and methods.
Preferences [54]A person's preferences in Alfresco.
Networks [55]A network is the group of users and sites that belong to an organization. You can find out specific network information or how it
relates to a person.
Activities [56]Activities describe any past activity in a site, for example creating an item of content, commenting on a node, liking an item of
content.

Parent topic: Entity reference [7]

Sites
An Alfresco site is a project area where you can share content and collaborate with other site members. There are API calls for getting a list of sites that
a person is a member of, and for getting information about a person's membership of a single site.

For more information on the site object, see Sites [57].

Parent topic: People [35]

Favorite sites
The sites that a person has marked as favorite in Alfresco (Deprecated). Use the favorites entity and methods.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/people [50]. If you have the REST API explorer running locally, then go to [Link] [51].

Favorite­sites object
Property Type JSON Type Description
id email id string The person's personId. The email address the person registered with.
site site [57] object An embedded site object.

Example of a favorite­sites object


{
"list" : {
"pagination" : {
"count" : 1,
"hasMoreItems" : false,
"totalItems" : 1,
"skipCount" : 0,
"maxItems" : 100
},
"entries" : [ {
"entry" : {
"id" : "fred‐bloggs‐yourcompany‐com",
"title" : "Fred Bloggs's Home",
"visibility" : "PRIVATE",
"description" : "Fred Bloggs's private home site."
}
} ]
}
}

List order
Lists of these entities are returned ordered by ascending title.

Parent topic: People [35]

Preferences
A person's preferences in Alfresco.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/people [50]. If you have the REST API explorer running locally, then go to [Link] [51].

Preferences object
Property Type JSON Type Description
id id string The unique preference id.
value Any JSON primitive Any JSON primitive The value of the preference.
value value

Example of a preferences object


{
"value":true,
"id":"[Link]‐bloggs‐yourcompany‐com"
}

List order
Lists of these entities are returned ordered by ascending id.

Parent topic: People [35]

Networks
A network is the group of users and sites that belong to an organization. You can find out specific network information or how it relates to a person.

Network object
See Networks [58] for information on the network entity.

Parent topic: People [35]

Activities
Activities describe any past activity in a site, for example creating an item of content, commenting on a node, liking an item of content.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/people [50]. If you have the REST API explorer running locally, then go to [Link] [51].

Activity object
Property Type JSON Type Description
postPersonId email id string The id of the person who performed the activity
id id string The unique id of the activity
siteId id string The unique id of the site on which the activity was performed
postedAt Date Time string The date time at which the activity was performed
feedPersonId email id string The feed on which this activity was posted
activitySummary object object An object summarizing the activity
activityType enumerated string string The type of activity. The following are the possible values:­

[Link]­created
[Link]­updated
[Link]­deleted
[Link]­added
[Link]­updated
[Link]­deleted
[Link]­added
[Link]­created
[Link]­deleted
[Link]­downloaded
[Link]­liked
[Link]­previewed
[Link]­edit
[Link]­liked
[Link]­joined
[Link]­left
[Link]­role­changed
[Link]­added
[Link]­removed
[Link]­role­changed
[Link]­created
[Link]
[Link]

Example of a network object


"postPersonId" : "[Link]@[Link]",
"id" : 554,
"siteId" : "fred‐bloggs‐yourcompany‐com",
"networkId" : "[Link]",
"feedPersonId" : "[Link]@[Link]",
"activitySummary" : {
"lastName" : "Bloggs",
"title" : "testing",
"objectId" : "e8680e58‐0701‐4b64‐950d‐66cce277fbc7",
"firstName" : "Fred",
},
"activityType" : "[Link]‐deleted",
"postedAt" : "2012‐08‐22T19:45:00.000+0000"

List order
Lists of these entities are returned ordered by descending postedAt.

Parent topic: People [35]

Tags
Any item of Alfresco content can be tagged. API methods exist to return a list of tags currently being used in a network.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/tags [59]. If you have the REST API explorer running locally, then go to [Link] [60].

Tag object
Property Type JSON Type Description
id string string The unique id of the tag
tag string string The value of the tag

Example of a tag object


{
"id" : "ed2444b5‐d0c1‐440b‐b5b8‐34a53e578091",
"tag" : "test tag 1"
}

Parent topic: Entity reference [7]

Nodes
A node is an overall term for an item of content or a folder. API methods are available to work with a node's comments, tags, and ratings.

Tags [61] Any item of Alfresco content can be tagged. API methods exist to return a list of tags for a specific node and to add a tag to a node.
Ratings [62]A person can rate an item of content by liking it. They can also remove their like of an item of content. API methods exist to get a list of
ratings and to add a new rating.

Parent topic: Entity reference [7]

Tags
Any item of Alfresco content can be tagged. API methods exist to return a list of tags for a specific node and to add a tag to a node.

For more information on the tag entities see Tags [63].

Parent topic: Nodes [37]

Ratings
A person can rate an item of content by liking it. They can also remove their like of an item of content. API methods exist to get a list of ratings and to
add a new rating.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/ratings [64]. If you have the REST API explorer running locally, then go to [Link] [65].

Rating object
Property Type JSON Type Description
id id string The rating scheme id. There are two schemes defined, likes and fiveStar.
Only the likes scheme is used in Alfresco Cloud.
aggregate object object An object with properties specific to the rating scheme. For likes this will
contain a single property numberOfRatings. For fiveStar this will contain
numberOfRatings and average.

ratedAt Date Time string The date time the current authenticated user rated the item of content.
myRating boolean or number boolean or number The value of the rating. For the likes scheme, values are true or true. For
the fiveStar scheme, the value is an integer between one and five
inclusively.

Example of a rating object


"id":"likes",
"aggregate":{
"numberOfRatings":1
},
"ratedAt":"2012‐05‐25T09:08:01.846+0000",
"myRating":true

Parent topic: Nodes [37]

Favorites
A favorite describes an Alfresco entity that a person has marked as a favorite. There are API calls for getting a list of a user's favorites, for getting a
specific favorite, for adding a favorite, and for deleting a favorite.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/favorites [66]. If you have the REST API explorer running locally, then go to [Link] [67].

Favorite object
Property Type JSON Type Description
targetGuid id string The guid of the object that is a favorite.
createdAt date time string The time the object was made a favorite.
target object object The object that is a favorite. This can be a site, a folder, or a file.

Example of a favorite object

{
"targetGuid" : "54a924c0‐d437‐4482‐8cbc‐78c2995c83ae",
"createdAt" : "2012‐07‐20T21:46:09.659+0000",
"target": {
"file" : {
"id" : "54a924c0‐d437‐4482‐8cbc‐78c2995c83ae",
"guid" : "54a924c0‐d437‐4482‐8cbc‐78c2995c83ae",
"name" : "[Link]",
"title" : "Fred Bloggs's Document",
"description" : "This is Fred’s resume",
"createdAt" : "2013‐01‐09T13:23:07.894‐05:00",
"modifiedAt" : "2013‐01‐16T15:41:35.265‐05:00",
"createdBy" : "[Link]@[Link]",
"modifiedBy" : "[Link]@[Link]",
"mimeType" : "text/plain",
"sizeInBytes" : "1024",
"versionLabel" : "1.0"
}
}

List order
Lists of these entities are returned ordered by ascending target/type, and then by descending createdAt date.

Parent topic: Entity reference [7]

Deployments
A deployment resource represents one file inside a deployment.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/deployments [68]. If you have the REST API explorer running locally, then go to [Link] [69].

Process files, forms and perhaps some other files are authored in a separate environment. The act of deployment brings them into the runtime workflow
engine.

A deployment is a collection of files that include all resources to specify one or more process definitions. After deployment, the included process
definitions are known to the workflow runtime engine and new processes can be started.

Users can then continue to edit the process and other files in their authoring environment like e.g. our eclipse based process editor. A redeployment will
result in a complete separate deployment containing new versions of the process definition.

When a process definition inside a new deployment has the same key as an existing process definition, then it is considered a new version of the
existing process definition.
Deployment object
Property Type JSON Type Description
id id String The unique id of this deployment
name String String The name this deployment file
category String String The category URL
category Date Time String The time of this deployment

Example of a deployment object

entry: {
"id": "92837492",
"name": "activiti‐[Link]",
"category": "[Link]
"deployedAt": "2010‐10‐13T14:54:26.750+02:00"
}

Parent topic: Entity reference [7]

Process definitions
A process definition is a description of an execution flow in terms of activities. New processes are created and started for a process definition.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/process­definitions [70]. If you have the REST API explorer running locally, then go to [Link] [71].

Process definition object


Property Type JSON Type Description
id id String The unique id of this process definition
key String String The key of this process definition
Version Number Nunber For process definitions with the same key, this is the version number
name String String The name of this process definition
category String String The category to which this process definition belongs
deploymentId String String The deployment of which this process definition is a part
title String String The title of this process definition
Description String String The description of this process definition
startFormResourceKey String String The start form key
graphicNotationDefined Boolean Boolean

Example of a process definition object


{
"id": "financialReport:1",
"key": "financialReport",
"version": 1,
"name": "April financial report",
"category": "[Link]",
"deploymentId": "123",
"title": "Financial report of the month April",
"description": "Sample description",
"startFormResourceKey": "wf:adhocTask",
"graphicNotationDefined": true
}

Parent topic: Entity reference [7]

Processes
A process describes a running instance of a process definition.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/processes [72]. If you have the REST API explorer running locally, then go to [Link] [73].

When a new deployment includes a process definition that is already deployed with the same key, the newly deployed process definition will be
considered a new version of the same process definition. By default processes will keep running in the process definition they are started in. But new
processes can be started in the latest version of a process definition by using the processDefinitionKey parameter.

In non­network deployments, administrators can see all processes and perform all operations on tasks. In network deployments, network administrators
can see processes in their network and perform all operations on tasks in their network.

Process object
Property Type JSON Type Description
id id string This process's unique id
processDefinitionId id string The unique identity of this process definition
businessKey key string Business key
startedAt Date Time String The date time this process started
endedAt Date Time String If the process is completed, contains the date time this process ended
durationInMs Number Number duration
startActivityDefinitionId id string The id of the first activity in the process
endActivityDefinitionId id string The id of the last activity in the process
startUserId id string The id of the user who started the process
deleteReason string string The reason this process was canceled

Example of a process object


: {
"id": "2",
"processDefinitionId": "financialReport:1",
"businessKey": "55",
"startedAt": "2010‐10‐13T14:54:26.750+02:00",
"endedAt": "2010‐10‐13T14:54:26.750+02:00",
"durationInMs": 9823720, // expressed in milliseconds
"completed": true
"startActivityDefinitionId": "startFinancialAnalysis",
"endActivityDefinitionId": "success",
"startUserId": "kermit",
"deleteReason": "cancelled"
}

Parent topic: Entity reference [7]

Tasks
A task describes one task for a human user.

To see documentation for methods on this entity, and to try them out on our online REST API explorer, go to [Link]
explorer/#/tasks [74]. If you have the REST API explorer running locally, then go to [Link] [75].

Task object
Property Type JSON Type Description
id id string This task's unique id
processId id string The containing process's unique id
processDefinitionId id string The containing process's process definition id
activityDefinitionId id string The activity id of this task
name string string The text name of this task
description string string A description this task
dueAt Date Time String The date time this task is due
startedAt Date Time String The date time this task started
endedAt Date Time String If the task is completed, contains the date time this task ended
durationInMs Number Number The duration of this task
priority Number Number The numeric priority of this task
owner id string The id of the user who owns this task
assignee id string The id of the user who is currently assigned this task
formResourceKey string string The key of the form for this task
state string string The state of this task
variables array of objects array of objects An array of variables for this task

Example of a task object


: entry : {
"id": "127",
"processId": "123",
"processDefinitionId": "financialReport:1",
"activityDefinitionId": "review" // the activity id of the usertask
"name": "Handle vacation request",
"description": "Vacation request by Kermit",
"dueAt": "2010‐10‐13T14:54:26.750+02:00",
"startedAt": "2010‐10‐13T14:54:26.750+02:00",
"endedAt": "2010‐10‐13T14:54:26.750+02:00",
"durationInMs": 982374, // expressed in millis
"priority": 50,
"owner": "Kermit",
"assignee": "johndoe",
"formResourceKey": "wf:submitAdhocTask",
"state": "completed",
"variables": [
{
"scope": "global",
"name": "bpm_priority",
"value": 1,
"type": "d_int"
}
]
}

Parent topic: Entity reference [7]

Source URL: [Link]

Links:
[1] [Link]
[2] [Link]
[3] [Link]
[4] [Link]
[5] [Link]
[6] [Link]
[7] [Link]
[8] [Link]
[9] [Link]
[10] [Link]
[11] [Link]
[12] [Link]
[13] [Link]
[14] [Link]
[15] [Link]
[16] [Link]
[17] [Link]
[18] [Link]
[19] [Link]
[20] [Link]
[21] [Link]
[22] [Link]
[23] [Link]
[24] [Link]
[25] [Link]
[26] [Link]
[27] [Link]
[28] [Link]
[29] [Link]
[30] [Link]
[31] [Link]
[32] [Link]
[33] [Link]
[34] [Link]
[35] [Link]
[36] [Link]
[37] [Link]
[38] [Link]
[39] [Link]
[40] [Link]
[41] [Link]
[42] [Link]
[43] [Link]
[44] [Link]
[45] [Link]
[46] [Link]
[47] [Link]
[48] [Link]
[49] [Link]
[50] [Link]
[51] [Link]
[52] [Link]
[53] [Link]
[54] [Link]
[55] [Link]
[56] [Link]
[57] [Link]
[58] [Link]
[59] [Link]
[60] [Link]
[61] [Link]
[62] [Link]
[63] [Link]
[64] [Link]
[65] [Link]
[66] [Link]
[67] [Link]
[68] [Link]
[69] [Link]
[70] [Link]
[71] [Link]
[72] [Link]
[73] [Link]
[74] [Link]
[75] [Link]

You might also like