---
title: "Revert a changeset: its inverse, applied as a new changeset by you. Elements changed since are kept as they are and listed. Possible for 30 days after it landed, by anyone with edit access to the tab."
method: POST
path: "/documents/{id}/changesets/{changesetId}/revert"
tags: ["Changesets"]
---

# Revert a changeset: its inverse, applied as a new changeset by you. Elements changed since are kept as they are and listed. Possible for 30 days after it landed, by anyone with edit access to the tab.

`POST /documents/{id}/changesets/{changesetId}/revert`

## Request

- Base URL: `https://www.livediagram.app/api`
- URL: `https://www.livediagram.app/api/documents/{id}/changesets/{changesetId}/revert`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-Owner-Id`

## Path parameters

- `id` string, required
- `changesetId` string, required

## Response `200`

Success.

- RevertResponse
  - `changeset` ChangesetWritten, required
    - `id` string, required
    - `previousRev` number, required
    - `rebasedOver` number, required
    - `rev` number, required
    - `tabId` string, required
  - `kept` RevertKept[], required
    - `id` string, required
    - `reason` 'changed' | 'gone' | 'present' | 'order', required
  - `lint` LintReport, required
    - `counts` object, required
      - `error` number, required
      - `info` number, required
      - `warning` number, required
    - `findings` LintFinding[], required
      - `code` 'box-overlap' | 'arrow-dangling' | 'arrow-behind-box' | 'edge-crossings' | 'label-collision' | 'label-overflow' | 'node-isolated' | 'group-escape' | 'group-split-edges' | 'duplicate-label' | 'flow-backwards' | 'aspect-extreme' | 'colour-on-themed' | 'text-overflow', required
      - `fix` string, required
      - `message` string, required
      - `refs` string[], required
      - `severity` 'error' | 'warning' | 'info', required
    - `measures` LintMeasures, required
      - `arrows` number, required
      - `behind` number, required
      - `boxes` number, required
      - `crossings` number, nullable, required
      - `extent` object, nullable, required
        - `height` number, required
        - `width` number, required
      - `overlaps` number, required
    - `skipped` object, required
      - `crossings` boolean, required
  - `reverted` number, required

## Other responses

- `401`: Error.
- `403`: Error.
- `404`: Error.
- `409`: Error.
- `410`: Error.
- `413`: Error.
- `429`: Rate limited. Back off and retry.

---

[API](https://skmtc.dev/livediagram/apis/livediagram-api.md) · [All operations](https://skmtc.dev/livediagram/apis/livediagram-api/llms.txt) · [OpenAPI document](https://skmtc.dev/livediagram/apis/livediagram-api/revisions/f286d27acfd2?raw)
