Skip to content
Connect an agent

Organisations

Ask for a revision to be merged, as an agent

The revision waits for a person who manages the board, who merges or declines it in the portal.

POST/v1/boards/{board}/tabs/{tab}/revisions/{revision}/merge-request

TL;DR

QuestionAnswer
What does it do?Ask for a revision to be merged, as an agent.
What does it take?A JSON body of type BoardMergeRequestBody.
What does it return?Status 200 with a body of type AgentBoardMergeRequest.
What can go wrong?400 the body is not valid; 401 the API key is missing or not valid; 403 the account's plan does not include the REST API (plan.rest_not_included), the key is a person's own (boards.org_key_required), a trusted publisher (boards.publisher_not_allowed), an organisation key without the boards scope (key.scope_missing), boards are not on (boards.not_enabled), or the caller may look but not change the board (boards.forbidden); 404 no such board, tab or revision, or one not open to the caller (boards.revision_not_found): the cases look alike; 409 the revision is merged or discarded (boards.revision_closed); 413 the body is larger than the API takes; 429 too many requests, or a daily limit is spent; 503 live whiteboards are not set up on this server. Every failure uses the one error envelope.

What it does

The revision waits for a person who manages the board, who merges or declines it in the portal. An agent never merges. The REST twin of request_merge.

Path parameters

FieldTypeRequiredDescription
boardstringyesThe board's id: 22 letters and digits.
tabstringyesThe tab's id: 12 letters and digits.
revisionstringyesThe revision's id.

Request body

The body has the type BoardMergeRequestBody.

FieldTypeRequiredDescription
notestringnoat least 1 character; at most 500 characters.

Responses

StatusMeaningBody
200The request.AgentBoardMergeRequest
400The body is not valid.ErrorResponse
401The API key is missing or not valid.ErrorResponse
403The account's plan does not include the REST API (plan.rest_not_included), the key is a person's own (boards.org_key_required), a trusted publisher (boards.publisher_not_allowed), an organisation key without the boards scope (key.scope_missing), boards are not on (boards.not_enabled), or the caller may look but not change the board (boards.forbidden).ErrorResponse
404No such board, tab or revision, or one not open to the caller (boards.revision_not_found): the cases look alike.ErrorResponse
409The revision is merged or discarded (boards.revision_closed).ErrorResponse
413The body is larger than the API takes.ErrorResponse
429Too many requests, or a daily limit is spent.ErrorResponse
503Live whiteboards are not set up on this server.ErrorResponse

Response body

A 200 answer has the type AgentBoardMergeRequest.

FieldTypeRequiredDescription
revisionanyyes
revision.idstringyesat least 12 characters; at most 12 characters; pattern ^[0-9A-Za-z]+$.
revision.tabstringyes
revision.namestringyes
revision.authorRevisionPersonyes
revision.author.kind"person" | "agent" | "key"yes
revision.author.labelstringyes
revision.visibility"private" | "board" | "people"yesprivate: the author only; board: everyone the board is open to; people: the author and the people named.
revision.status"open" | "pending" | "merged" | "discarded"yesopen, pending (a merge waits for approval), merged, or discarded.
revision.baseVersionintegeryesThe main version it forked from, or was last updated from.
revision.versionintegeryes
revision.behindintegeryesMain versions made since baseVersion.
revision.createdAtintegeryes
revision.updatedAtintegeryes
revision.updatedByRevisionPersonyes
revision.updatedBy.kind"person" | "agent" | "key"yes
revision.updatedBy.labelstringyes
revision.readablebooleanyesFalse for a private revision shown by its name only, to the people who manage the board.
revision.minebooleanyes
revision.requestobject | nullyes
revision.request.byRevisionPersonyes
revision.request.atintegeryes
revision.request.notestring | nullyes
revision.reviewobject | nullyes
revision.review.byRevisionPersonyes
revision.review.atintegeryes
revision.review.commentstring | nullyes
revision.mergedVersioninteger | nullyes
revision.mergedByanyyes
revision.mergedBy.kind"person" | "agent" | "key"yes
revision.mergedBy.labelstringyes
revision.closedAtinteger | nullyes
revision.sharedintegeryesPeople it is shared with by name.
status"pending"yes
mergeablebooleanyes
conflictsBoardMergeConflict[]yes
conflicts[].keystringyesThe statement: its id, its label in quotes, or an edge by its ends. A resolution names it.
conflicts[].subjectstringyes
conflicts[].basestring | nullyes
conflicts[].mainstring | nullyes
conflicts[].revisionstring | nullyes

See also

DocWhy
API referenceEvery endpoint, and the error envelope
SchemasEvery request and response type
Tool referenceThe operations as callable tools