PUT http://localhost:8080/midpoint/ws/rest/{endpoint}/{oid}
Create Operation
Create With Rest
Request to create a midPoint object based on data provided in the body of the request.
Request
Use either the HTTP POST or PUT method with your request. Based on the method used there are different requirements on the resulting URI:
Using the PUT method, the client has to provide a complete object, including the identifier (OID).
If you use the POST method to create new web resources, you can do this without the need to know the complete URI (i.e. without the oid identifier).
POST http://localhost:8080/midpoint/ws/rest/{endpoint}/
Headers
Regarding authorization type, the "Basic" Authorization header should be used.
Authorization: Basic {Base64EncodedCredentials}
In case of the create operation you need to specify the provided content type of the payload in the body:
"Content-Type: application/json"
Body
Options
Example of usage of options:
?options=raw
In case of create with the use of the PUT method please have a look at the folowing links were you can find the options described:
If you want to use the POST method please have a look at the following links were you can find the options described:
Response
Error code | Meaning |
---|---|
1xx |
Information. Stay tuned, operation is in progress. |
2xx |
Success. Operation finished successfully. There are two custom codes:
In this two cases, midPoint returns the OperationResult where there details of executed operations can be found. |
3xx |
Redirection or "in progress". This is returned mostly to indicate two cases:
|
4xx |
Client errors. The client has sent request that cannot be processed. This indicates usual situation that are well handled by the midPoint code. Maybe the client request to create conflicting object, delete non-existent object, modification that violates the schema and so on. The OperationResult structure is usually provided in the response to provide more details about the situation. |
5xx |
Server errors. Situations that the server cannot handle and where the cause is unknown. This usually means bugs in the code, insufficient resources such as RAM or disk space, unforeseen failures in the infrastructure and so on. The OperationResult structure might or might not be provided in this case. Some errors are so severe that the structured error information might not be available. |
Status codes and the indication of errors and asynchronous processing applies uniformly to all midPoint web resources (both RESTful and RPC).
Access Authorization
The interface authorization needed for executing this type of request. The authorization is needed to access the specific part of the interface. For more information please see this page.
-
http://midpoint.evolveum.com/xml/ns/public/security/authorization-rest-3#addObject
Model Authorizations
The model authorization for the specific action. This authorization is needed to request/execute the concrete action. The examples are usually quite broad, and the actions can be additionally specified for a more fine-grained authorization. For more information please see this page.
-
http://midpoint.evolveum.com/xml/ns/public/security/authorization-model-3#add
Examples
In our examples we are authenticating with the credentials, name "administrator" and password "y0uR_P455woR*d" on a localhost instance running on port 8080. |
For some help regarding the REST examples please see this link:
curl --user administrator:y0uR_P455woR*d \
-H "Content-Type: application/json" \
-X POST http://localhost:8080/midpoint/ws/rest/users \
-v \
--data-binary @./samples/rest/user-jack.json
Show data source example for "Create a new User object in MidPoint" | GitHub
{
"user": {
"name": "jack",
"fullName": "Jack Sparrow",
"givenName": "Jack",
"familyName": "Sparrow"
}
}
The response is an HTTP 201 code in case of success without a response body. Also, the response contains a Location Header pointing to the location of the created user.
# Location: http://localhost:8080/midpoint/ws/rest/users/e4b0c81e-7fc7-462d-a92c-b3e0b10b8b49