dev.knotless.defineLabel

Adds the label to the repository's dev.knotless.repo record, in place of any of its name, as `knotless label define` does. 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

Showing version bafyreicbuwrqs6kq6fkgpmzrgogz2x22hxmtmi44fvppvpvmumzwp5njku. Show the latest

cid bafyreicbuwrqs6kq6fkgpmzrgogz2x22hxmtmi44fvppvpvmumzwp5njku

Checks

Valid Lint pass
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Adds the label to the repository's dev.knotless.repo record, in place of any of its name, as `knotless label define` does. 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": "The name is empty or too long, or the color is no hex color.",
          "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": {
            "color": {
              "description": "A hex color, as #d73a4a.",
              "maxLength": 7,
              "type": "string"
            },
            "description": {
              "description": "What the label means, for those who put it on.",
              "maxGraphemes": 200,
              "maxLength": 1000,
              "type": "string"
            },
            "exclusive": {
              "description": "Whether, of its scope's exclusive labels, it stands alone: setting one takes the others off.",
              "type": "boolean"
            },
            "name": {
              "description": "Up to its last `/`, if it has one, its scope, as kind/bug's is kind.",
              "maxGraphemes": 50,
              "maxLength": 100,
              "type": "string"
            },
            "repo": {
              "description": "The repository's dev.knotless.repo record, as dev.knotless.getRepo takes it.",
              "format": "at-uri",
              "type": "string"
            }
          },
          "required": [
            "repo",
            "name"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "labels": {
              "description": "The labels it defines now.",
              "items": {
                "ref": "dev.knotless.repo#label",
                "type": "ref"
              },
              "type": "array"
            }
          },
          "required": [
            "labels"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "description": "Defines a label pulls and issues of a repository may carry.",
  "id": "dev.knotless.defineLabel",
  "lexicon": 1
}