Loading TOC...

MarkLogic 9 Product Documentation
POST /manage/v2/protected-paths

Summary

This resource endpoint creates a new protected path using a name or id passed in a payload.

Request Headers
Accept The expected MIME type of the request body. If the format parameter is present, it takes precedence over the Accept header.
Content-type The MIME type of the data in the request body. Depending upon the value of the format parameter or Accept header, one of application/xml, application/json, or text/html.
Response Headers
Content-type The MIME type of the data in the response body. Depending upon the value of the format parameter or Accept header, one of application/xml, application/json, or text/html.

Response

A successful call to the endpoint will return the HTTP code 201 (Created). The request has been fulfilled, resulting in the creation of a new resource. A status code of 400 (Bad Request) indicates that a protected path already exists, or that the payload is malformed. A status code of 401 (Unauthorized) is returned if the user does not have the necessary privileges for this action.

Consumes
application/xml XML Content
application/json JSON Content
Produces
application/json JSON Content
application/xml XML Content

Required Privileges

This operation requires the manage-admin role, or the following privilege:

http://marklogic.com/xdmp/privileges/manage

Usage Notes

This resource endpoint creates a new protected path using a name or id passed in a payload.

A "path-expression" is required.

Payload must be valid according to the schema type protected-path-properties in the manage-protected-path-properties.xsd schema. JSON payloads are internally converted to XML before validation.

The structure of the output returned from this REST API is as follows:

path-id

Identifier for a protected-path definition

path-expression

The XPath that specifies the XML element or JSON property in a protected-path definition

path-namespaces

Namespace bindings

This is a complex structure with the following children:

path-namespace

A namespace binding specification.

This is a complex structure with the following children:

prefix

A QName prefix.

namespace-uri

A namespace URI.

permissions

The default set of permissions used in document creation.

This is a complex structure with the following children:

permission

Permission representation.

This is a complex structure with the following children:

role-id

A role identifier (unique key).

role-name

The Role name (unique)

capability

The action/task permitted by a permission

path-set

Path Set

Example

> curl -X POST --anyauth -u admin:admin 
-d @file.xml -H "Content-Type:application/xml"  
http://localhost:8002/manage/v2/protected-paths

Payload (as file.xml):

<protected-path-properties xmlns="http://marklogic.com/manage/protected-path/properties">
 <path-expression>//d</path-expression>
  <path-namespaces/>
   <permissions>
	<permission>
	 <role-name>manage-user</role-name>
	 <capability>read</capability>
	</permission>
  </permissions>
</protected-path-properties>

This is the payload for POST as XML. The call does not return any content, beyond headers.

Example

> curl -X POST --anyauth -u admin:admin \
-d @file.json -H "Content-Type:application/json" \
http://localhost:8002/manage/v2/protected-paths

Payload (as file.json):

{
	"path-expression": "//e",
	"path-namespace": [],
	"permission": [{
		"role-name": ["manage-user"],
		"capability": "read"
	}]
}
   

This is the payload for POST as JSON. The call does not return any content, beyond headers

Stack Overflow iconStack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.