Skip to content

Replace one common responsibility timeline for an Entity instance.

PUT
/api/workspace/entity/{entityIdOrKey}/instances/{instanceId}/assignments/{relationDefinitionId}
curl --request PUT \
--url https://example.com/api/workspace/entity/example/instances/example/assignments/example \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "OperationKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "Resource": { "ResourceModule": "example", "ResourceKind": "example", "ContextResourceId": "example", "ResourceObjectId": "example" }, "ResponsibilityKey": "example", "Subjects": [ { "SubjectType": "example", "SubjectId": "example", "EffectiveFrom": "2026-04-15T12:00:00Z", "EffectiveTo": "2026-04-15T12:00:00Z" } ], "RowVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "Reason": "example" }'
entityIdOrKey
required
string

Entity definition identifier or normalized key.

instanceId
required
string

Entity instance identifier.

relationDefinitionId
required
string

Stable responsibility code. The route parameter name is retained by the frozen Sprint 2 route contract; it no longer identifies an Entity relation definition.

access_token
string

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

Replay-safe complete responsibility timeline replacement.

Replaces the complete assignment timeline of one responsibility on one Entity record.

object
OperationKey

Caller-generated UUID reused only for an exact retry of the same logical replacement.

string format: uuid
Resource
object
ResourceModule
string
nullable
ResourceKind
string
nullable
ContextResourceId
string
nullable
ResourceObjectId
string
nullable
ResponsibilityKey

Stable key of the responsibility configured on the Entity definition.

string
nullable
Subjects

The complete timeline after the replacement; current subjects that are left out are closed. Keep the EffectiveFrom of subjects that stay: a new instant closes and reopens their assignment.

Array<object>
nullable
object
SubjectType
required
string
SubjectId
required
string
EffectiveFrom
required
string format: date-time
EffectiveTo
string format: date-time
nullable
RowVersion

Expected responsibility state version of the record (ResourceRowVersion), which all responsibilities of the record share; it is not the record’s row version. A record without any responsibility state (none of its responsibilities was ever assigned, including at creation) reports System.Guid.Empty; pass that empty value for its first assignment. A value other than the current one, including System.Guid.Empty once the record has responsibility state, fails without changing the assignments.

string format: uuid
Reason

Required audit reason of 1–1000 characters after trimming, stored with the assignment change.

string
nullable
Examplegenerated
{
"OperationKey": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"Resource": {
"ResourceModule": "example",
"ResourceKind": "example",
"ContextResourceId": "example",
"ResourceObjectId": "example"
},
"ResponsibilityKey": "example",
"Subjects": [
{
"SubjectType": "example",
"SubjectId": "example",
"EffectiveFrom": "2026-04-15T12:00:00Z",
"EffectiveTo": "2026-04-15T12:00:00Z"
}
],
"RowVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"Reason": "example"
}

OK

Media typeapplication/json
object
Data
object
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
{
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"Warnings": [
{
"Type": 0,
"Severity": 0
}
]
}

Bad Request

Media typeapplication/json
object
Data
object
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
{
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"Warnings": [
{
"Type": 0,
"Severity": 0
}
]
}

Forbidden

Media typeapplication/json
object
Data
object
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
{
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"Warnings": [
{
"Type": 0,
"Severity": 0
}
]
}

Not Found

Media typeapplication/json
object
Data
object
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
{
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"Warnings": [
{
"Type": 0,
"Severity": 0
}
]
}

Conflict

Media typeapplication/json
object
Data
object
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
{
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"Warnings": [
{
"Type": 0,
"Severity": 0
}
]
}