dev.knotless.updateRepo

Rewrites the repository's dev.knotless.repo record with a new description, new links, new topics or a new default branch, any of them, as `knotless repo edit` does. The default branch must be one of its branches, once it has any. Its owner can, logged in to this appview's web pages: the appview writes with the session it keeps for that account, which the pages' session cookie names. For an organization's repository, so can an admin who joined it, logged in to the pages or with a service token from their own PDS for this method: the appview's gateway, which the organization delegated its writes to, writes as the organization.

Details · procedure
Kindprocedure
Authorityknotless.dev
Indexed
cid bafyreigvdloynmdn2qevnk3oju76i6bzcws4ueq7flimakinijpqht3dpm

Checks

Valid
  • unlimited-string defs.main.output.schema.properties.defaultBranchNo maxLength, maxGraphemes or format limits this string.
  • unlimited-string defs.main.output.schema.properties.descriptionNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Rewrites the repository's dev.knotless.repo record with a new description, new links, new topics or a new default branch, any of them, as `knotless repo edit` does. The default branch must be one of its branches, once it has any. Its owner can, logged in to this appview's web pages: the appview writes with the session it keeps for that account, which the pages' session cookie names. For an organization's repository, so can an admin who joined it, logged in to the pages or with a service token from their own PDS for this method: the appview's gateway, which the organization delegated its writes to, writes as the organization.",
      "errors": [
        {
          "description": "No such repository.",
          "name": "NotFound"
        },
        {
          "description": "None was given, the description is too long, a link is not an http or https address or there are too many, a topic is not lowercase letters, digits and dashes or there are too many, or the repository has no such branch.",
          "name": "InvalidRequest"
        },
        {
          "description": "No account is logged in to the pages, or its session has ended.",
          "name": "AuthenticationRequired"
        },
        {
          "description": "The account logged in is not the repository's owner.",
          "name": "Forbidden"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "defaultBranch": {
              "description": "The branch its HEAD names, without refs/heads/. Left as it is when absent.",
              "maxLength": 255,
              "type": "string"
            },
            "description": {
              "description": "What the repository is; empty drops it. Left as it is when absent.",
              "maxGraphemes": 300,
              "maxLength": 3000,
              "type": "string"
            },
            "links": {
              "description": "The links its pages show, in order, each an http or https address: its website first. Replaces those it had; empty drops them. Left as they are when absent.",
              "items": {
                "ref": "dev.knotless.defs#link",
                "type": "ref"
              },
              "maxLength": 5,
              "type": "array"
            },
            "repo": {
              "description": "The repository's dev.knotless.repo record, as dev.knotless.getRepo takes it.",
              "format": "at-uri",
              "type": "string"
            },
            "topics": {
              "description": "What it is about, in order, each of lowercase letters, digits and dashes. Replaces those it had; empty drops them. Left as they are when absent.",
              "items": {
                "ref": "dev.knotless.repo#topic",
                "type": "ref"
              },
              "maxLength": 20,
              "type": "array"
            }
          },
          "required": [
            "repo"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "defaultBranch": {
              "description": "The branch its HEAD names now.",
              "type": "string"
            },
            "description": {
              "description": "What it says it is now; absent when it says nothing.",
              "type": "string"
            },
            "links": {
              "description": "The links its pages show now; absent when there are none.",
              "items": {
                "ref": "dev.knotless.defs#link",
                "type": "ref"
              },
              "type": "array"
            },
            "topics": {
              "description": "What it is about now; absent when it names nothing.",
              "items": {
                "ref": "dev.knotless.repo#topic",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "description": "Changes what a repository says it is, the links its pages show, what it is about and the branch its HEAD names.",
  "id": "dev.knotless.updateRepo",
  "lexicon": 1
}