Skip to content

Validate a board item move without mutating runtime state.

POST
/api/workspace/boards/{boardIdOrKey}/items/{boardItemId}/move/validate
curl --request POST \
--url https://example.com/api/workspace/boards/example/items/example/move/validate \
--header 'Content-Type: application/json' \
--data '{ "ToBoardStatusId": "example", "Position": { "PreviousBoardItemId": "example", "NextBoardItemId": "example" }, "RowVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "LinkPrerequisiteSelections": [ { "BoardTransitionLinkPrerequisiteId": "example", "OtherBoardItemId": "example", "CreateItem": { "BoardTargetDefinitionId": "example", "TargetCreate": { "Fields": { "additionalProperty": {} }, "MarkdownAttachmentDraftSessionId": "example", "MutationIdempotencyKey": "example", "MarkdownAttachmentDestinationCreateNonce": "example" }, "BoardData": { "Subject": "example", "Description": "example", "TargetBoardStatusId": "example", "Position": { "PreviousBoardItemId": "example", "NextBoardItemId": "example" }, "Fields": { "additionalProperty": {} }, "DueDate": "2026-04-15", "DueTime": "example", "BoardCycleId": "example", "MarkdownAttachmentDraftSessionId": "example", "MarkdownAttachmentDestinationCreateNonce": "example", "MutationIdempotencyKey": "example" } } } ] }'
  • None
boardIdOrKey
required
string
boardItemId
required
string
access_token
string

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

Request to move an open board item.

object
ToBoardStatusId
string
nullable
Position

Position for a board item inside its destination status. With both boundaries omitted, the item is appended. A previous-only boundary must be the current last item, a next-only boundary must be the current first item, and two boundaries must be current adjacent items. Stale, foreign, or non-adjacent boundaries return HTTP 400 with moltaroBoards.runtime.validation.positionInvalid.

object
PreviousBoardItemId

Current item immediately before the requested position, or the current last item when no next boundary is supplied.

string
nullable
NextBoardItemId

Current item immediately after the requested position, or the current first item when no previous boundary is supplied.

string
nullable
RowVersion
string format: uuid
nullable
LinkPrerequisiteSelections
Array<object>
nullable

Select an existing item or atomically create one to satisfy a transition link prerequisite.

object
BoardTransitionLinkPrerequisiteId

Configured transition prerequisite id.

string
nullable
OtherBoardItemId

Existing board item at the other end of the link.

string
nullable
CreateItem

Request to create a target and board item atomically from the runtime board screen.

object
BoardTargetDefinitionId
string
nullable
TargetCreate

Entity target creation payload for runtime board item creation.

object
Fields
object
key
additional properties
object
MarkdownAttachmentDraftSessionId
string
nullable
MutationIdempotencyKey
string
nullable
MarkdownAttachmentDestinationCreateNonce
string
nullable
BoardData

Board-owned data captured by the runtime board item creation wizard.

object
Subject

Optional board item subject.

string
nullable
Description

Optional board item description.

string
nullable
TargetBoardStatusId

Optional initial board status identifier.

string
nullable
Position

Position for a board item inside its destination status. With both boundaries omitted, the item is appended. A previous-only boundary must be the current last item, a next-only boundary must be the current first item, and two boundaries must be current adjacent items. Stale, foreign, or non-adjacent boundaries return HTTP 400 with moltaroBoards.runtime.validation.positionInvalid.

object
PreviousBoardItemId

Current item immediately before the requested position, or the current last item when no next boundary is supplied.

string
nullable
NextBoardItemId

Current item immediately after the requested position, or the current first item when no previous boundary is supplied.

string
nullable
Fields

Optional values for additional board data fields.

object
key
additional properties
object
DueDate

Optional due date.

string format: date
nullable
DueTime

Optional due time.

string format: time
nullable
BoardCycleId

Optional board cycle identifier.

string
nullable
MarkdownAttachmentDraftSessionId

Optional Board Data Markdown attachment draft adopted by the new item.

string
nullable
MarkdownAttachmentDestinationCreateNonce

Destination nonce binding the Markdown draft to this board item create.

string
nullable
MutationIdempotencyKey

Stable client-generated key for replay-safe Board Data submission.

string
nullable
Examplegenerated
{
"ToBoardStatusId": "example",
"Position": {
"PreviousBoardItemId": "example",
"NextBoardItemId": "example"
},
"RowVersion": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"LinkPrerequisiteSelections": [
{
"BoardTransitionLinkPrerequisiteId": "example",
"OtherBoardItemId": "example",
"CreateItem": {
"BoardTargetDefinitionId": "example",
"TargetCreate": {
"Fields": {
"additionalProperty": {}
},
"MarkdownAttachmentDraftSessionId": "example",
"MutationIdempotencyKey": "example",
"MarkdownAttachmentDestinationCreateNonce": "example"
},
"BoardData": {
"Subject": "example",
"Description": "example",
"TargetBoardStatusId": "example",
"Position": {
"PreviousBoardItemId": "example",
"NextBoardItemId": "example"
},
"Fields": {
"additionalProperty": {}
},
"DueDate": "2026-04-15",
"DueTime": "example",
"BoardCycleId": "example",
"MarkdownAttachmentDraftSessionId": "example",
"MarkdownAttachmentDestinationCreateNonce": "example",
"MutationIdempotencyKey": "example"
}
}
}
]
}

OK

Media typeapplication/json
object
Data

Dry-run result for one board item move request.

object
Allowed
boolean
BoardItemId
string
nullable
FromBoardStatusId
string
nullable
ToBoardStatusId
string
nullable
BoardTransitionId
string
nullable
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
CloseBlockers

Open child items blocking a terminal move.

object
TotalCount
integer format: int32
HiddenCount
integer format: int32
ReadableChildren
Array<object>
nullable

Compact board item summary used by item-link surfaces.

object
Id
string
nullable
BoardId
string
nullable
BoardKey
string
nullable
BoardDisplayName
string
nullable
RunNumber
integer format: int32
DisplayName
string
nullable
Subtitle
string
nullable
BoardStatusId
string
nullable
BoardStatusDisplayName
string
nullable
BoardStatusColor
string
nullable
BoardTargetDefinitionId
string
nullable
BoardTargetDefinitionDisplayName
string
nullable
IsOpen
boolean
IsRestricted
boolean
HiddenChildren
Array<object>
nullable

Safe summary for a hidden child blocker.

object
BoardDisplayName
string
nullable
RunNumber
integer format: int32
CapturedAtUtc
string format: date-time
nullable
ConstraintDecisions
Array<object>
nullable

One ordered Board Constraint decision produced by a move dry run.

object
BoardConstraintId
string
nullable
BoardConstraintBindingId
string
nullable
Passed
boolean
FailureCode
string
nullable
LinkPrerequisites
Array<object>
nullable

Current satisfaction state of one transition link prerequisite.

object
BoardTransitionLinkPrerequisiteId
string
nullable
LinkType
integer format: int32
Allowed values: 0 1
Direction
integer format: int32
Allowed values: 0 1
TargetBoardId
string
nullable
TargetBoardTargetDefinitionId
string
nullable
MinimumCount
integer format: int32
MaximumCount
integer format: int32
nullable
CurrentCount
integer format: int32
MissingCount
integer format: int32
Satisfied
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": {
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"LinkPrerequisites": [
{
"LinkType": 0,
"Direction": 0
}
]
},
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"Warnings": [
{
"Type": 0,
"Severity": 0
}
]
}

Bad Request

Media typeapplication/json
object
Data

Dry-run result for one board item move request.

object
Allowed
boolean
BoardItemId
string
nullable
FromBoardStatusId
string
nullable
ToBoardStatusId
string
nullable
BoardTransitionId
string
nullable
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
CloseBlockers

Open child items blocking a terminal move.

object
TotalCount
integer format: int32
HiddenCount
integer format: int32
ReadableChildren
Array<object>
nullable

Compact board item summary used by item-link surfaces.

object
Id
string
nullable
BoardId
string
nullable
BoardKey
string
nullable
BoardDisplayName
string
nullable
RunNumber
integer format: int32
DisplayName
string
nullable
Subtitle
string
nullable
BoardStatusId
string
nullable
BoardStatusDisplayName
string
nullable
BoardStatusColor
string
nullable
BoardTargetDefinitionId
string
nullable
BoardTargetDefinitionDisplayName
string
nullable
IsOpen
boolean
IsRestricted
boolean
HiddenChildren
Array<object>
nullable

Safe summary for a hidden child blocker.

object
BoardDisplayName
string
nullable
RunNumber
integer format: int32
CapturedAtUtc
string format: date-time
nullable
ConstraintDecisions
Array<object>
nullable

One ordered Board Constraint decision produced by a move dry run.

object
BoardConstraintId
string
nullable
BoardConstraintBindingId
string
nullable
Passed
boolean
FailureCode
string
nullable
LinkPrerequisites
Array<object>
nullable

Current satisfaction state of one transition link prerequisite.

object
BoardTransitionLinkPrerequisiteId
string
nullable
LinkType
integer format: int32
Allowed values: 0 1
Direction
integer format: int32
Allowed values: 0 1
TargetBoardId
string
nullable
TargetBoardTargetDefinitionId
string
nullable
MinimumCount
integer format: int32
MaximumCount
integer format: int32
nullable
CurrentCount
integer format: int32
MissingCount
integer format: int32
Satisfied
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": {
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"LinkPrerequisites": [
{
"LinkType": 0,
"Direction": 0
}
]
},
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"Warnings": [
{
"Type": 0,
"Severity": 0
}
]
}

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

Dry-run result for one board item move request.

object
Allowed
boolean
BoardItemId
string
nullable
FromBoardStatusId
string
nullable
ToBoardStatusId
string
nullable
BoardTransitionId
string
nullable
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
CloseBlockers

Open child items blocking a terminal move.

object
TotalCount
integer format: int32
HiddenCount
integer format: int32
ReadableChildren
Array<object>
nullable

Compact board item summary used by item-link surfaces.

object
Id
string
nullable
BoardId
string
nullable
BoardKey
string
nullable
BoardDisplayName
string
nullable
RunNumber
integer format: int32
DisplayName
string
nullable
Subtitle
string
nullable
BoardStatusId
string
nullable
BoardStatusDisplayName
string
nullable
BoardStatusColor
string
nullable
BoardTargetDefinitionId
string
nullable
BoardTargetDefinitionDisplayName
string
nullable
IsOpen
boolean
IsRestricted
boolean
HiddenChildren
Array<object>
nullable

Safe summary for a hidden child blocker.

object
BoardDisplayName
string
nullable
RunNumber
integer format: int32
CapturedAtUtc
string format: date-time
nullable
ConstraintDecisions
Array<object>
nullable

One ordered Board Constraint decision produced by a move dry run.

object
BoardConstraintId
string
nullable
BoardConstraintBindingId
string
nullable
Passed
boolean
FailureCode
string
nullable
LinkPrerequisites
Array<object>
nullable

Current satisfaction state of one transition link prerequisite.

object
BoardTransitionLinkPrerequisiteId
string
nullable
LinkType
integer format: int32
Allowed values: 0 1
Direction
integer format: int32
Allowed values: 0 1
TargetBoardId
string
nullable
TargetBoardTargetDefinitionId
string
nullable
MinimumCount
integer format: int32
MaximumCount
integer format: int32
nullable
CurrentCount
integer format: int32
MissingCount
integer format: int32
Satisfied
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": {
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"LinkPrerequisites": [
{
"LinkType": 0,
"Direction": 0
}
]
},
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"Warnings": [
{
"Type": 0,
"Severity": 0
}
]
}

Conflict

Media typeapplication/json
object
Data

Dry-run result for one board item move request.

object
Allowed
boolean
BoardItemId
string
nullable
FromBoardStatusId
string
nullable
ToBoardStatusId
string
nullable
BoardTransitionId
string
nullable
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
CloseBlockers

Open child items blocking a terminal move.

object
TotalCount
integer format: int32
HiddenCount
integer format: int32
ReadableChildren
Array<object>
nullable

Compact board item summary used by item-link surfaces.

object
Id
string
nullable
BoardId
string
nullable
BoardKey
string
nullable
BoardDisplayName
string
nullable
RunNumber
integer format: int32
DisplayName
string
nullable
Subtitle
string
nullable
BoardStatusId
string
nullable
BoardStatusDisplayName
string
nullable
BoardStatusColor
string
nullable
BoardTargetDefinitionId
string
nullable
BoardTargetDefinitionDisplayName
string
nullable
IsOpen
boolean
IsRestricted
boolean
HiddenChildren
Array<object>
nullable

Safe summary for a hidden child blocker.

object
BoardDisplayName
string
nullable
RunNumber
integer format: int32
CapturedAtUtc
string format: date-time
nullable
ConstraintDecisions
Array<object>
nullable

One ordered Board Constraint decision produced by a move dry run.

object
BoardConstraintId
string
nullable
BoardConstraintBindingId
string
nullable
Passed
boolean
FailureCode
string
nullable
LinkPrerequisites
Array<object>
nullable

Current satisfaction state of one transition link prerequisite.

object
BoardTransitionLinkPrerequisiteId
string
nullable
LinkType
integer format: int32
Allowed values: 0 1
Direction
integer format: int32
Allowed values: 0 1
TargetBoardId
string
nullable
TargetBoardTargetDefinitionId
string
nullable
MinimumCount
integer format: int32
MaximumCount
integer format: int32
nullable
CurrentCount
integer format: int32
MissingCount
integer format: int32
Satisfied
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": {
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"LinkPrerequisites": [
{
"LinkType": 0,
"Direction": 0
}
]
},
"Errors": [
{
"Type": 0,
"Severity": 0
}
],
"Warnings": [
{
"Type": 0,
"Severity": 0
}
]
}