Validate a board item move without mutating runtime state.
using System.Net.Http.Headers;var client = new HttpClient();var request = new HttpRequestMessage{ Method = HttpMethod.Post, RequestUri = new Uri("https://example.com/api/workspace/boards/example/items/example/move/validate"), Content = new StringContent("{ \"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\" } } } ] }") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } }};using (var response = await client.SendAsync(request)){ response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body);}const url = 'https://example.com/api/workspace/boards/example/items/example/move/validate';const options = { method: 'POST', headers: {'Content-Type': 'application/json'}, body: '{"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"}}}]}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}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" } } } ] }'Authorizations
Section titled “Authorizations”- None
Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Query Parameters
Section titled “Query Parameters”Optional access token for clients that cannot set Authorization headers. Prefer Authorization: Bearer <token> when possible.
Request Body
Section titled “Request Body”Request to move an open board item.
object
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
Current item immediately before the requested position, or the current last item when no next boundary is supplied.
Current item immediately after the requested position, or the current first item when no previous boundary is supplied.
Select an existing item or atomically create one to satisfy a transition link prerequisite.
object
Configured transition prerequisite id.
Existing board item at the other end of the link.
Request to create a target and board item atomically from the runtime board screen.
object
Entity target creation payload for runtime board item creation.
object
object
object
Board-owned data captured by the runtime board item creation wizard.
object
Optional board item subject.
Optional board item description.
Optional initial board status identifier.
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
Current item immediately before the requested position, or the current last item when no next boundary is supplied.
Current item immediately after the requested position, or the current first item when no previous boundary is supplied.
Optional values for additional board data fields.
object
object
Optional due date.
Optional due time.
Optional board cycle identifier.
Optional Board Data Markdown attachment draft adopted by the new item.
Destination nonce binding the Markdown draft to this board item create.
Stable client-generated key for replay-safe Board Data submission.
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" } } } ]}Request to move an open board item.
object
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
Current item immediately before the requested position, or the current last item when no next boundary is supplied.
Current item immediately after the requested position, or the current first item when no previous boundary is supplied.
Select an existing item or atomically create one to satisfy a transition link prerequisite.
object
Configured transition prerequisite id.
Existing board item at the other end of the link.
Request to create a target and board item atomically from the runtime board screen.
object
Entity target creation payload for runtime board item creation.
object
object
object
Board-owned data captured by the runtime board item creation wizard.
object
Optional board item subject.
Optional board item description.
Optional initial board status identifier.
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
Current item immediately before the requested position, or the current last item when no next boundary is supplied.
Current item immediately after the requested position, or the current first item when no previous boundary is supplied.
Optional values for additional board data fields.
object
object
Optional due date.
Optional due time.
Optional board cycle identifier.
Optional Board Data Markdown attachment draft adopted by the new item.
Destination nonce binding the Markdown draft to this board item create.
Stable client-generated key for replay-safe Board Data submission.
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" } } } ]}Request to move an open board item.
object
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
Current item immediately before the requested position, or the current last item when no next boundary is supplied.
Current item immediately after the requested position, or the current first item when no previous boundary is supplied.
Select an existing item or atomically create one to satisfy a transition link prerequisite.
object
Configured transition prerequisite id.
Existing board item at the other end of the link.
Request to create a target and board item atomically from the runtime board screen.
object
Entity target creation payload for runtime board item creation.
object
object
object
Board-owned data captured by the runtime board item creation wizard.
object
Optional board item subject.
Optional board item description.
Optional initial board status identifier.
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
Current item immediately before the requested position, or the current last item when no next boundary is supplied.
Current item immediately after the requested position, or the current first item when no previous boundary is supplied.
Optional values for additional board data fields.
object
object
Optional due date.
Optional due time.
Optional board cycle identifier.
Optional Board Data Markdown attachment draft adopted by the new item.
Destination nonce binding the Markdown draft to this board item create.
Stable client-generated key for replay-safe Board Data submission.
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" } } } ]}Responses
Section titled “Responses”OK
object
Dry-run result for one board item move request.
object
object
object
Open child items blocking a terminal move.
object
Compact board item summary used by item-link surfaces.
object
Safe summary for a hidden child blocker.
object
One ordered Board Constraint decision produced by a move dry run.
object
Current satisfaction state of one transition link prerequisite.
object
object
object
object
object
Example
{ "Data": { "Errors": [ { "Type": 0, "Severity": 0 } ], "LinkPrerequisites": [ { "LinkType": 0, "Direction": 0 } ] }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}Bad Request
object
Dry-run result for one board item move request.
object
object
object
Open child items blocking a terminal move.
object
Compact board item summary used by item-link surfaces.
object
Safe summary for a hidden child blocker.
object
One ordered Board Constraint decision produced by a move dry run.
object
Current satisfaction state of one transition link prerequisite.
object
object
object
object
object
Example
{ "Data": { "Errors": [ { "Type": 0, "Severity": 0 } ], "LinkPrerequisites": [ { "LinkType": 0, "Direction": 0 } ] }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}Forbidden
object
Examplegenerated
{ "type": "example", "title": "example", "status": 1, "detail": "example", "instance": "example"}Not Found
object
Dry-run result for one board item move request.
object
object
object
Open child items blocking a terminal move.
object
Compact board item summary used by item-link surfaces.
object
Safe summary for a hidden child blocker.
object
One ordered Board Constraint decision produced by a move dry run.
object
Current satisfaction state of one transition link prerequisite.
object
object
object
object
object
Example
{ "Data": { "Errors": [ { "Type": 0, "Severity": 0 } ], "LinkPrerequisites": [ { "LinkType": 0, "Direction": 0 } ] }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}Conflict
object
Dry-run result for one board item move request.
object
object
object
Open child items blocking a terminal move.
object
Compact board item summary used by item-link surfaces.
object
Safe summary for a hidden child blocker.
object
One ordered Board Constraint decision produced by a move dry run.
object
Current satisfaction state of one transition link prerequisite.
object
object
object
object
object
Example
{ "Data": { "Errors": [ { "Type": 0, "Severity": 0 } ], "LinkPrerequisites": [ { "LinkType": 0, "Direction": 0 } ] }, "Errors": [ { "Type": 0, "Severity": 0 } ], "Warnings": [ { "Type": 0, "Severity": 0 } ]}