Server

REST API Endpoints

Updated: November 15, 2024

Nuxeo REST API provides many document-oriented endpoints, but also allows you to customize your own.

Here are the endpoints provided by Nuxeo:

Resources Endpoints

Perform CRUD operations on Nuxeo resources in REST style. The following resources are exposed:

Documents /nuxeo/api/v1/id/{docId} /nuxeo/api/v1/path/{path} CRUD on documents including paginated search (See Document Resources Endpoints)
Users /nuxeo/api/v1/user/{userId} CRUD on users
Groups /nuxeo/api/v1/group/{groupId} CRUD on user groups
Directories /nuxeo/api/v1/directory/{directoryId} CRUD on directories
Document Type, Schema and Facet definitions /nuxeo/api/v1/config/types/{type}
/nuxeo/api/v1/config/schemas/{schema}
/nuxeo/api/v1/config/facets/{facet}
Remote introspection of the repository structure, automated form generation, etc. See ticket NXP-14114 for more information.
Search /nuxeo/api/v1/search/lang
/nuxeo/api/v1/search/pp
/nuxeo/api/v1/search/saved
Perform search by query or page provider, store search and reproduce it later. See Search Resource Endpoint for more information.
OAuth2 /nuxeo/api/v1/oauth2/provider
/nuxeo/api/v1/oauth2/client
/nuxeo/api/v1/oauth2/token
CRUD on OAuth2 providers, clients and tokens. See OAuth2 Resource Endpoint for more information.
Workflows and Tasks /nuxeo/api/v1/workflow/{workflowId}
/nuxeo/api/v1/task/{taskId}
See Workflow and Task Resources Endpoints for more information.
Batch Upload /nuxeo/api/v1/upload/{batchId} Upload a set of files before using them in a transactional operation. See Batch Upload Endpoint for more information.

Command Endpoint

Command Endpoint /nuxeo/api/v1/automation/{operationId} Call an operation or chain of operations deployed on the server. See Command Resource Endpoint for more information.

The Command Resource Endpoint calls a "command" (an operation or chain of operations) deployed on the server. This is the primary way of exposing the platform services remotely. All operations from the Automation module are exposed, offering more than 100 commands to remotely process resources.

The framework makes it easy to add new custom Java operations to complete the API if you're missing a web-service. You can also chain operations server-side using Nuxeo Studio, in order to expose a coarse-grained API that fits your business logic, without any development.

Capability Endpoint

Capability Endpoint /nuxeo/api/v1/capabilities Get the server capabilities.

This endpoints returns the server capabilities.

curl -u Administrator:Administrator \
http://localhost:8080/nuxeo/api/v1/capabilities
{
  "entity-type" : "capabilities",
  "cluster" : {
    "enabled" : false,
    "nodeId" : "347729645706513753"
  },
  "repository" : {
    "default" : {
        "queryBlobKeys" : false
    }
  },
  "server" : {
    "distributionName" : "lts",
    "distributionServer" : "tomcat",
    "distributionVersion" : "2021.39.3"
  }
}

Customizing Nuxeo REST API

Not completely satisfied with what's on offer? See how to contribute a REST API endpoint!