Developer Documentation Center

REST API

Updated: September 21, 2017 Page Information Edit on GitHub

Nuxeo REST API is available on a Nuxeo Platform server at the following URL: http://NUXEO_SERVER/nuxeo/api/v1/*. We made available an API playground to help you understand the endpoints and have a try:

This page explains the high level organisation and scope of the existing endpoints and the various additional mechanisms that are offered to extend the behaviour of the API.

Scope and Concepts

Nuxeo provides a complete API accessible via HTTP/HTTPS. This API is the best way to integrate remotely with the Nuxeo Platform repository: portals, workflow engines, ESBs, custom application written in JavaScript, Ruby, etc. This API has the following endpoints:

  • Resources endpoints, for doing CRUD on resources in a 100% REST style. Multiple resources are exposed:
    • Documents (/nuxeo/api/v1/id/{docId} or /nuxeo/api/v1/path/{path} ): CRUD on documents (including paginated search);
    • Users (/nuxeo/api/v1/user/{userId}): CRUD on users;
    • Groups (/nuxeo/api/v1/group/{groupId}): CRUD on groups of users;
    • Directories (/nuxeo/api/v1/directory/{directoryId}):  CRUD on directories;
    • Document Types, Schemas and Facets definitions (/nuxeo/api/v1/config/types|schemas|facets/{type|schema|facet}): This is useful when doing remote introspection of the repository structure, for form automated generation, etc. More Information about this endpoint.
    • Queries (nuxeo/site/api/v1/query?query={query}  or /nuxeo/site/api/v1/query/{page_provider_name}?queryParams={params_values} You can search by query, or by referencing a page provider contributed serverside. See more information about this endpoint.
  • A commands endpoint, (/nuxeo/api/v1/automation/{Operation id}): To call a "command", i.e. an operation or chain of operations deployed on the server. This is the main way of exposing the platform services remotely. It exposes all the operations of the Automation module offering more than 100 commands for processing remotely the resources. The framework makes it very easy to add a new Java custom operation for completing the API if you miss a web-service, and to chain operations server-side using Nuxeo Studio, so as to expose a coarse-grained API that fits your business logic, without any development.
  • A batch upload endpoint, (/nuxeo/api/v1/automation/batch/upload}), for being able to upload a set of files before using them in a transactional operation, such as updating a list of documents content, etc ...

The Nuxeo REST API offers several nice additional features compared to a standard REST API:

  • Possibility to pipe a command call on a resource
  • REST Contributors that allow to ask for more information when receiving the resources via some request headers, in order to lower the number of requests you have to do (Ex: Receiving all the children of a document at the same time you receive a document, or receiving all the parents, or all the tasks, ...);
  • Web Adapters that can "transform" the resources that are returned, for example, getting the tasks of a document, or its related documents.

Quick Examples

Available Client SDKs 

We provide several client SDKs for making it even easier to use the API integrate with the Nuxeo Platform.

4 days ago Solen Guitter NXDOC-1322: Use only one list of default templates
2 years ago Solen Guitter 84
3 years ago Solen Guitter 82 | Fix link to blog post
3 years ago Anonymous 83
3 years ago Solen Guitter 80
3 years ago Solen Guitter 81
3 years ago Alain Escaffre 79
3 years ago Alain Escaffre 78
3 years ago Alain Escaffre 77
3 years ago Alain Escaffre 76
3 years ago Alain Escaffre 75
3 years ago Alain Escaffre 74
3 years ago Alain Escaffre 73
3 years ago Alain Escaffre 72
3 years ago Alain Escaffre 71
3 years ago Alain Escaffre 70
3 years ago Alain Escaffre 69
3 years ago Alain Escaffre 68
3 years ago Solen Guitter 67
3 years ago Alain Escaffre 66
3 years ago Alain Escaffre 65
3 years ago Alain Escaffre 64
3 years ago Alain Escaffre 63
3 years ago Alain Escaffre 62
3 years ago Thibaud Arguillere 61
3 years ago Solen Guitter 60
3 years ago Manon Lumeau 59
3 years ago Alain Escaffre 57
3 years ago Alain Escaffre 58
3 years ago Thibaud Arguillere 56
3 years ago Solen Guitter 55
4 years ago Solen Guitter 54
4 years ago Laurent Doguin 53
4 years ago Solen Guitter 52 | Formatted steps
4 years ago Damien Metzler 51
4 years ago Solen Guitter 50
4 years ago Solen Guitter 49
4 years ago Solen Guitter 48
4 years ago Solen Guitter 47
4 years ago Alain Escaffre 46
4 years ago Alain Escaffre 45
4 years ago Alain Escaffre 44
4 years ago Solen Guitter 43 | Formatting
4 years ago Alain Escaffre 42
4 years ago Alain Escaffre 41
4 years ago Alain Escaffre 40
4 years ago Solen Guitter 39
4 years ago Solen Guitter 38 | Added children pages
4 years ago Solen Guitter 37
4 years ago Solen Guitter 36
4 years ago Alain Escaffre 35
4 years ago Solen Guitter 34
4 years ago Solen Guitter 33
4 years ago Alain Escaffre 32
4 years ago Alain Escaffre 31
4 years ago Alain Escaffre 30
4 years ago Alain Escaffre 29
4 years ago Alain Escaffre 28
4 years ago Alain Escaffre 27
4 years ago Alain Escaffre 26
4 years ago Thomas Roger 25
4 years ago Solen Guitter 24
4 years ago Alain Escaffre 23
4 years ago Alain Escaffre 22
4 years ago Alain Escaffre 21
4 years ago Alain Escaffre 20
4 years ago Alain Escaffre 19
4 years ago Alain Escaffre 18
4 years ago Alain Escaffre 17
4 years ago Alain Escaffre 16
4 years ago Alain Escaffre 15
4 years ago Alain Escaffre 14
4 years ago Alain Escaffre 13
4 years ago Alain Escaffre 12
4 years ago Alain Escaffre 11
4 years ago Alain Escaffre 10
4 years ago Alain Escaffre 9
4 years ago Alain Escaffre 8
4 years ago Alain Escaffre 7
4 years ago Solen Guitter 6 | Formatting
4 years ago Thierry Delprat 5
4 years ago Solen Guitter 4
4 years ago Thibaud Arguillere 3
4 years ago Thierry Delprat 2
4 years ago Thierry Delprat 1
History: Created by Thierry Delprat