
This resource address creates a new user in the security database.
| URL Parameters | |
|---|---|
| format | The format of the posted data. Can be either
html, json, or xml (default). This value overrides
the Accept header if both are present. |
Upon success, MarkLogic Server returns status code 201 (Created). If the user already exists or if the payload is malformed, a status code of 400 (Bad Request) is returned. A status code of 401 (Unauthorized) is returned if the user does not have the necessary privileges.
manage-admin and security rolehttp://marklogic.com/xdmp/privileges/manage
http://marklogic.com/xdmp/privileges/manage-admin
http://marklogic.com/xdmp/privileges/create-user
manage role, http://marklogic.com/xdmp/privileges/manage plus the following granular privileges:
http://marklogic.com/xdmp/privileges/create-data-user and http://marklogic.com/xdmp/privileges/user-set-queries to create users with queries.http://marklogic.com/xdmp/privileges/user/inherit/user-IDThe structure of the data in the request body is shown below. The user-name
property is required. In MarkLogic Server 9.0-8 and earlier, the password property
is also required. Starting in MarkLogic Server 9.0-9, if the password property
is not provided, a strong, random password will be generated. In 10.0-7, the property
queries was added.
Note: The properties described here are for XML payloads. In general they are the same for
JSON, with the exception that, in JSON, roles, external-names,
permissions, collections and queriesare expressed in
singular form. For example, in JSON, permissions is instead permission
and the format is: "permission":[{"role-name":"name", "capability":"cap"}]. Please
pay special attention that the singular form of queries is capability-query.
user-namedescriptionpasswordexternal-namesThis is a complex structure with the following children:
external-namerolesThis is a complex structure with the following children:
rolepermissionsThis is a complex structure with the following children:
permissionThis is a complex structure with the following children:
role-namecapabilitycollectionsThis is a complex structure with the following children:
collectionqueriesThis is a complex structure with the following children:
capability-queryThis is a complex structure with the following children:
capabilityqueryThis is a complex structure with the following children:
cts:query
curl -X POST --anyauth -u admin:admin --header "Content-Type:application/json" \
-d '{"user-name":"joe",
"password": "cool",
"role": [ "rest-reader", "rest-writer" ]
}' \
http://localhost:8002/manage/v2/users
==> Creates a user, named '"joe" with the "rest-reader" and "rest-writer"
roles, in the Security database.
// JSON payload example for creating a user with queries.
$ cat payload.json
{
"user-name": "Vanessa",
"password": "strongpassword",
"description": "Software development engineer",
"capability-query": [{
"capability":"read",
"query": {
"elementQuery": {
"element": ["metadata"],
"query": {
"elementWordQuery": {
"element": ["region"],
"text": ["NA"],
"options": ["lang=en"]
}
}
}
}
}]
}
curl -X POST -i --digest -u admin:admin -H "Content-Type:application/json" \
-d @payload.json http://localhost:8002/manage/v2/users
==> Creates a user, named "Vanessa", with user queries for "read", in the Security Database.
(: XML payload for creating a user with queries :)
$ cat payload.xml
<user-properties xmlns="http://marklogic.com/manage/user/properties">
<user-name>Vanessa</user-name>
<password>strongpassword</password>
<description>Software development engineer</description>
<queries>
<capability-query>
<capability>read</capability>
<query>
<cts:element-query xmlns:cts="http://marklogic.com/cts">
<cts:element>metadata</cts:element>
<cts:element-word-query>
<cts:element>region</cts:element>
<cts:text xml:lang="en">NA</cts:text>
</cts:element-word-query>
</cts:element-query>
</query>
</capability-query>
</queries>
</user-properties>
curl -X POST -i --digest -u admin:admin -H "Content-Type:application/xml" \
-d @payload.xml http://localhost:8002/manage/v2/users
==> Creates a user, named "Vanessa", with user queries for "read", in the Security Database.
Stack Overflow: Get the most useful answers to questions from the MarkLogic community, or ask your own question.