Create a Policy
Create a Policy with the ID specified by the <namespace>/<policyName> pair in the topic and the
JSON representation provided in the value.
Command
| Field | Value |
|---|---|
| topic | <namespace>/<policyName>/policies/commands/create |
| path | / |
| value | The complete Policy as JSON object, see Policy representation (JSON). |
Response
| Field | Value | |
|---|---|---|
| topic | <namespace>/<policyName>/policies/commands/create |
|
| path | / |
|
| value | The created Policy as JSON object, see Policy representation (JSON). | |
| status | code | |
201 |
Success - The Policy was successfully created. |
Example: Create a Policy.
Create or modify a Policy
This command modifies the Policy with the ID specified by the <namespace>/<policyName> pair in the topic and with the
JSON provided in the value, if it already exists. Otherwise, the Policy is created.
Command
| Field | Value |
|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
| path | / |
| value | The complete Policy as JSON. see Policy representation (JSON) |
For modifying an existing policy, the authorized subject needs WRITE permission on the policy:/. resource.
If the Policy does not yet exist, the same rules apply as described for the create command.
Response
| Field | Value | |
|---|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
|
| path | / |
|
| value | The created Policy as JSON object, see Policy representation (JSON). This field is not available, if the Policy entry already existed. | |
| status | code | |
201 |
Success - The Policy was successfully created. | |
204 |
Success - The Policy was successfully updated. |
Example: Modify a Policy
Modify Policy entries
Modify the Policy entries of the Policy identified by the <namespace>/<policyName> pair in the topic field.
Command
| Field | Value |
|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
| path | /entries |
| value | The Policy entries as JSON. see Policy representation (JSON) |
Response
| Field | Value | |
|---|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
|
| path | /entries |
|
| status | code | |
204 |
Success - The Policy entries were successfully updated. |
Example: Modify all Policy entries
Create or modify a Policy entry
Create or modify the Policy entry identified by the <namespace>/<policyName> pair in the topic field and the <label> in
the path field.
If you specify a new label, the respective Policy entry will be created.
If you specify an existing label, the respective Policy entry will be updated.
Command
| Field | Value |
|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
| path | /entries/<label> |
| value | The Policy entry as JSON. see Policy representation (JSON) |
Response
| Field | Value | |
|---|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
|
| path | /entries/<label> |
|
| value | The created Policy entry as JSON object, see Policy representation (JSON). This field is not available, if the Policy entry already existed. | |
| status | code | |
201 |
Success - The Policy entry was successfully created. | |
204 |
Success - The Policy entry was successfully updated. |
Example: Modify a single Policy entry
Modify all subjects
Modify at once all subjects of the Policy entry identified by the <namespace>/<policyName> pair in the topic
field and by the <label> in the path topic.
Command
| Field | Value |
|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
| path | /entries/<label>/subjects |
| value | The subjects of the policy as JSON. see Policy representation (JSON) |
Response
| Field | Value | |
|---|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
|
| path | /entries/<label>/subjects |
|
| status | code | |
204 |
Success - The subjects of the policy were successfully updated. |
Example: Modify all subjects
Create or modify a single subject
Create or modify the subject with ID subjectId of the Policy identified by the <namespace>/<policyName> pair in the
topic field and by the <label> and the <subjectId> in the path field.
Command
| Field | Value |
|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
| path | /entries/<label>/subjects/<subjectId> |
| value | The subject of the policy as JSON. see Policy representation (JSON) |
Response
| Field | Value | |
|---|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
|
| path | /entries/<label>/subjects/<subjectId> |
|
| value | The created subject as JSON object, see Policy representation (JSON). This field is not available, if the subject already existed. | |
| status | code | |
201 |
Success - The subject was successfully created. | |
204 |
Success - The subject was successfully updated. |
Example: Modify a single subject
Modify all resources
Modify all resources of the Policy identified by the <namespace>/<policyName> pair in the topic field and by the <label> in the path field.
Command
| Field | Value |
|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
| path | /entries/<label>/resources |
| value | The resources of the policy as JSON. see Policy representation (JSON) |
Response
| Field | Value | |
|---|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
|
| path | /entries/<label>/resources |
|
| status | code | |
204 |
Success - The Policy resources were successfully updated. |
Example: Modify all resources
Create or modify a single resource
Create or modify the resource identified by the path field of the Policy entry identified the
<namespace>/<policyName> pair in the topic field and the <resource> in the path field.
Command
| Field | Value |
|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
| path | /entries/<label>/resources/<resource> |
| value | The Policy resource as JSON. see Policy representation (JSON) |
Response
| Field | Value | |
|---|---|---|
| topic | <namespace>/<policyName>/policies/commands/modify |
|
| path | /entries/<label>/resources/<resource> |
|
| value | The created Policy resource as JSON object, see Policy representation (JSON). This field is not available, if the resource already existed. | |
| status | code | |
201 |
Success - The resource was successfully created. | |
204 |
Success - The resource was successfully updated. |
Example: Modify a single resource
Common errors
| status | Value |
|---|---|
400 |
Bad Format - The request could not be completed due to malformed request syntax. |
401 |
Unauthorized - The request could not be completed due to missing authentication. |
403 |
Forbidden - The Policy could not be modified as the requester had insufficient permissions (‘WRITE’ is required). |
404 |
Not Found - The request could not be completed. The Policy with the given ID was not found in the context of the authenticated user. |
412 |
Precondition Failed - A precondition for reading or writing the (sub-)resource failed. This will happen for write requests, if you specified an If-Match or If-None-Match header, which fails the precondition check against the current ETag of the (sub-)resource. |
413 |
Request Entity Too Large - The created or modified entity is larger than the accepted limit of 100 kB. |
| See Policy Error Responses for examples of other error responses. |