Skip to content

Plans one atomic Access Policy change without mutating live configuration.

POST
/api/workspace/admin/entity-definitions/{entityDefinitionId}/security/access-policies/plan
curl --request POST \
--url https://example.com/api/workspace/admin/entity-definitions/example/security/access-policies/plan \
--header 'Content-Type: application/json' \
--data '{ "OperationKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "ExpectedRowVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "ChangeKind": 0, "OriginalPolicyKey": "example", "Draft": { "Key": "example", "Source": "example", "Enabled": true, "PermissionIds": [ "example" ] } }'
  • None
entityDefinitionId
required
string
access_token
string

Optional access token for clients that cannot set Authorization headers. Prefer Authorization: Bearer <token> when possible.

Plans one atomic Access Policy create, update, rename, or delete.

object
OperationKey
required
string format: uuid
ExpectedRowVersion
required
string format: uuid
ChangeKind
required

Identifies one policy-first administration change.

string
Allowed values: 0 1 2
OriginalPolicyKey
string
nullable
Draft

Describes the desired policy state compiled into canonical Security artifacts.

object
Key
required
string
Source
required
string
Enabled
required
boolean
PermissionIds
required
Array<string>

OK

Media typeapplication/json
object
Data

Returns a deterministic policy-first administration plan.

object
Kind
required
string
OperationKey
required
string format: uuid
PlanToken
required
string
RowVersion
required
string format: uuid
Changes
required
Array<object>

Describes one exact canonical Statement or Permission Assignment change.

object
Family
required
string
Key
required
string
Action
required
string
PermissionId
string
nullable
StatementKey
string
nullable
AddedPermissionIds
required
Array<string>
RetainedPermissionIds
required
Array<string>
RemovedPermissionIds
required
Array<string>
PermissionGroupDeltas
required
Array<object>

Summarizes exact Permission changes inside one stable capability group.

object
GroupKey
required
string
AddedPermissionIds
required
Array<string>
RetainedPermissionIds
required
Array<string>
RemovedPermissionIds
required
Array<string>
Normalizations
required
Array<object>

Describes one field refinement proven redundant by exact Statement-key-set equality.

object
PermissionId
required
string
InheritedFromPermissionId
required
string
RemovedAssignmentKeys
required
Array<string>
Coverage
required

Summarizes configuration coverage after a proposed policy administration change.

object
RootViewCovered
required
boolean
UncoveredExactPermissionIds
required
Array<string>
Warnings
required
Array<object>

Describes one stable plan diagnostic.

object
Code
required
string
Field
required
string
Severity
required

Classifies one policy administration diagnostic.

string
Allowed values: 0 1 2
RequiresAcknowledgement
required
boolean
Arguments
required
Array<string>
Blockers
required
Array<object>

Describes one stable plan diagnostic.

object
Code
required
string
Field
required
string
Severity
required

Classifies one policy administration diagnostic.

string
Allowed values: 0 1 2
RequiresAcknowledgement
required
boolean
Arguments
required
Array<string>
CanApply
required
boolean
Errors
Array<object>
nullable
object
Code
required
string
nullable
Message
required
string
nullable
Target
string
nullable
Field
string
nullable
Metadata
object
key
additional properties
string
nullable
Type
integer format: int32
Allowed values: 0 1 2
Severity
integer format: int32
Allowed values: 0 1 2
Warnings
Array<object>
nullable
object
Code
required
string
nullable
Message
required
string
nullable
Target
string
nullable
Field
string
nullable
Metadata
object
key
additional properties
string
nullable
Type
integer format: int32
Allowed values: 0 1 2
Severity
integer format: int32
Allowed values: 0 1 2
Success
boolean
Example
{
"Data": {
"Warnings": [
{
"Severity": 0
}
],
"Blockers": [
{
"Severity": 0
}
]
},
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"Warnings": [
{
"Type": 0,
"Severity": 0
}
]
}

Bad Request

Media typeapplication/json
object
Data

Returns a deterministic policy-first administration plan.

object
Kind
required
string
OperationKey
required
string format: uuid
PlanToken
required
string
RowVersion
required
string format: uuid
Changes
required
Array<object>

Describes one exact canonical Statement or Permission Assignment change.

object
Family
required
string
Key
required
string
Action
required
string
PermissionId
string
nullable
StatementKey
string
nullable
AddedPermissionIds
required
Array<string>
RetainedPermissionIds
required
Array<string>
RemovedPermissionIds
required
Array<string>
PermissionGroupDeltas
required
Array<object>

Summarizes exact Permission changes inside one stable capability group.

object
GroupKey
required
string
AddedPermissionIds
required
Array<string>
RetainedPermissionIds
required
Array<string>
RemovedPermissionIds
required
Array<string>
Normalizations
required
Array<object>

Describes one field refinement proven redundant by exact Statement-key-set equality.

object
PermissionId
required
string
InheritedFromPermissionId
required
string
RemovedAssignmentKeys
required
Array<string>
Coverage
required

Summarizes configuration coverage after a proposed policy administration change.

object
RootViewCovered
required
boolean
UncoveredExactPermissionIds
required
Array<string>
Warnings
required
Array<object>

Describes one stable plan diagnostic.

object
Code
required
string
Field
required
string
Severity
required

Classifies one policy administration diagnostic.

string
Allowed values: 0 1 2
RequiresAcknowledgement
required
boolean
Arguments
required
Array<string>
Blockers
required
Array<object>

Describes one stable plan diagnostic.

object
Code
required
string
Field
required
string
Severity
required

Classifies one policy administration diagnostic.

string
Allowed values: 0 1 2
RequiresAcknowledgement
required
boolean
Arguments
required
Array<string>
CanApply
required
boolean
Errors
Array<object>
nullable
object
Code
required
string
nullable
Message
required
string
nullable
Target
string
nullable
Field
string
nullable
Metadata
object
key
additional properties
string
nullable
Type
integer format: int32
Allowed values: 0 1 2
Severity
integer format: int32
Allowed values: 0 1 2
Warnings
Array<object>
nullable
object
Code
required
string
nullable
Message
required
string
nullable
Target
string
nullable
Field
string
nullable
Metadata
object
key
additional properties
string
nullable
Type
integer format: int32
Allowed values: 0 1 2
Severity
integer format: int32
Allowed values: 0 1 2
Success
boolean
Example
{
"Data": {
"Warnings": [
{
"Severity": 0
}
],
"Blockers": [
{
"Severity": 0
}
]
},
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"Warnings": [
{
"Type": 0,
"Severity": 0
}
]
}

Unauthorized

Media typeapplication/json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
key
additional properties
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Forbidden

Media typeapplication/json
object
type
string
nullable
title
string
nullable
status
integer format: int32
nullable
detail
string
nullable
instance
string
nullable
key
additional properties
Examplegenerated
{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"instance": "example"
}

Not Found

Media typeapplication/json
object
Data

Returns a deterministic policy-first administration plan.

object
Kind
required
string
OperationKey
required
string format: uuid
PlanToken
required
string
RowVersion
required
string format: uuid
Changes
required
Array<object>

Describes one exact canonical Statement or Permission Assignment change.

object
Family
required
string
Key
required
string
Action
required
string
PermissionId
string
nullable
StatementKey
string
nullable
AddedPermissionIds
required
Array<string>
RetainedPermissionIds
required
Array<string>
RemovedPermissionIds
required
Array<string>
PermissionGroupDeltas
required
Array<object>

Summarizes exact Permission changes inside one stable capability group.

object
GroupKey
required
string
AddedPermissionIds
required
Array<string>
RetainedPermissionIds
required
Array<string>
RemovedPermissionIds
required
Array<string>
Normalizations
required
Array<object>

Describes one field refinement proven redundant by exact Statement-key-set equality.

object
PermissionId
required
string
InheritedFromPermissionId
required
string
RemovedAssignmentKeys
required
Array<string>
Coverage
required

Summarizes configuration coverage after a proposed policy administration change.

object
RootViewCovered
required
boolean
UncoveredExactPermissionIds
required
Array<string>
Warnings
required
Array<object>

Describes one stable plan diagnostic.

object
Code
required
string
Field
required
string
Severity
required

Classifies one policy administration diagnostic.

string
Allowed values: 0 1 2
RequiresAcknowledgement
required
boolean
Arguments
required
Array<string>
Blockers
required
Array<object>

Describes one stable plan diagnostic.

object
Code
required
string
Field
required
string
Severity
required

Classifies one policy administration diagnostic.

string
Allowed values: 0 1 2
RequiresAcknowledgement
required
boolean
Arguments
required
Array<string>
CanApply
required
boolean
Errors
Array<object>
nullable
object
Code
required
string
nullable
Message
required
string
nullable
Target
string
nullable
Field
string
nullable
Metadata
object
key
additional properties
string
nullable
Type
integer format: int32
Allowed values: 0 1 2
Severity
integer format: int32
Allowed values: 0 1 2
Warnings
Array<object>
nullable
object
Code
required
string
nullable
Message
required
string
nullable
Target
string
nullable
Field
string
nullable
Metadata
object
key
additional properties
string
nullable
Type
integer format: int32
Allowed values: 0 1 2
Severity
integer format: int32
Allowed values: 0 1 2
Success
boolean
Example
{
"Data": {
"Warnings": [
{
"Severity": 0
}
],
"Blockers": [
{
"Severity": 0
}
]
},
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"Warnings": [
{
"Type": 0,
"Severity": 0
}
]
}