Skip to content
Connect an agent

Organisations

Compare a revision with main as an agent

What merging the revision would change on main, by meaning, with compare_diagrams' summary and the conflicts in the way.

GET/v1/boards/{board}/tabs/{tab}/revisions/{revision}/compare

TL;DR

QuestionAnswer
What does it do?Compare a revision with main as an agent.
What does it take?board, tab, revision in the path.
What does it return?Status 200 with a body of type AgentBoardRevisionCompare.
What can go wrong?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; 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

What merging the revision would change on main, by meaning, with compare_diagrams' summary and the conflicts in the way. The REST twin of compare_revision.

Path parameters

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

Responses

StatusMeaningBody
200The comparison.AgentBoardRevisionCompare
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
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 AgentBoardRevisionCompare.

FieldTypeRequiredDescription
mainVersionintegeryes
versionintegeryes
behindintegeryes
samebooleanyes
countsobjectyes
counts.addedintegeryes
counts.removedintegeryes
counts.renamedintegeryes
counts.movedintegeryes
counts.changedintegeryes
changesobject[]yes
changes[].changestringyes
changes[].subjectstringyes
changes[].namestringyes
changes[].lineinteger | nullyes
changes[].detailstringyes
truncatedbooleanyes
summarystringyes
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
mergeablebooleanyes
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.

See also

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