dev.knotless.revertPull

lexicons.knotless.dev

{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Reverts a merged pull as `knotless revert` does, as the account logged in to this appview's web pages, with the session the appview keeps for it: one commit undoing what its merge brought in, on a new branch revert/<the pull's record key> cut from its target branch as it is now, and a pull of that branch into the target branch, which this answers. Nothing merges: the revert is a pull like any other. Refused on a pull that is not merged, when undoing it conflicts with what the branch took since, and to anyone but the repository's owner and collaborators. Requires the session cookie the pages' login sets.",
      "errors": [
        {
          "description": "No such repository.",
          "name": "NotFound"
        },
        {
          "description": "No account is logged in to the pages, or its session has ended.",
          "name": "AuthenticationRequired"
        },
        {
          "description": "It did not revert, as the reason says: the pull is not merged, undoing it conflicts, or the account may not revert it.",
          "name": "UpstreamFailure"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "pull": {
              "description": "The merged dev.knotless.pull record.",
              "format": "at-uri",
              "type": "string"
            },
            "reason": {
              "description": "Why, said in the revert's body.",
              "maxGraphemes": 1000,
              "maxLength": 10000,
              "type": "string"
            },
            "repo": {
              "description": "The repository's dev.knotless.repo record, as dev.knotless.getRepo takes it.",
              "format": "at-uri",
              "type": "string"
            }
          },
          "required": [
            "repo",
            "pull"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "branch": {
              "description": "The branch holding the revert, without refs/heads/.",
              "type": "string"
            },
            "commit": {
              "description": "The revert's commit, in hex.",
              "type": "string"
            },
            "uri": {
              "description": "The new dev.knotless.pull record, which brings the revert in.",
              "format": "at-uri",
              "type": "string"
            }
          },
          "required": [
            "uri",
            "branch",
            "commit"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "description": "Reverts a merged pull as the account logged in to this appview's pages.",
  "id": "dev.knotless.revertPull",
  "lexicon": 1
}

Validate Record

Validate a record against dev.knotless.revertPull

Validation Options
Treat any remaining unresolved references as valid

Metadata

DID
did:plc:yqsg7znbbhfmj3a2nrpnaerk
CID
bafyreibbatrh257kywpk7pk42ttqg5x3vzudcb5avjh5es6oxewr2xmi54
Indexed At
2026-10-29 05:46 UTC
AT-URI
at://did:plc:yqsg7znbbhfmj3a2nrpnaerk/com.atproto.lexicon.schema/dev.knotless.revertPull

Similar Lexicons

Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.

  • Merges a pull as the account logged in to this appview's pages.

  • Points a pull at other branches as the account logged in to this appview's pages.

  • Takes a pull out of its branch's merge queue as the account logged in to this appview's pages.

  • Opens a pull on a repository, as the account logged in to this appview's pages.

  • Puts a pull in its branch's merge queue as the account logged in to this appview's pages.

Lexicon Garden

@