fyi.opensocial.importAccount

Start moving an account that already exists on the network, on any server, here to become a group: check the account's proof that it hands its DID to this host, make it here switched off with new keys, and copy its whole repo and its files from its server. Answers with the credentials the account's PLC operation should name; once its server has signed one, completeImport finishes the move. The caller becomes the group's admin. Only a did:plc account, and never the caller's own. Starting again for an account the caller started on discards what the first start copied.

Details · procedure
Kindprocedure
Authorityopensocial.fyi
Indexed

Showing version bafyreigtmc5mitg3es2r2xg2dhutxvtuur3v3tocdaaxlabnn6nfgexjpe. Show the latest

cid bafyreigtmc5mitg3es2r2xg2dhutxvtuur3v3tocdaaxlabnn6nfgexjpe

Checks

Valid
  • unlimited-string defs.main.input.schema.properties.addressNo maxLength, maxGraphemes or format limits this string.
  • unlimited-string defs.main.input.schema.properties.serviceJwtNo maxLength, maxGraphemes or format limits this string.
  • unlimited-string defs.main.output.schema.properties.displayNameNo maxLength, maxGraphemes or format limits this string.
JSONDownload
{
  "$type": "com.atproto.lexicon.schema",
  "defs": {
    "main": {
      "description": "Start moving an account that already exists on the network, on any server, here to become a group: check the account's proof that it hands its DID to this host, make it here switched off with new keys, and copy its whole repo and its files from its server. Answers with the credentials the account's PLC operation should name; once its server has signed one, completeImport finishes the move. The caller becomes the group's admin. Only a did:plc account, and never the caller's own. Starting again for an account the caller started on discards what the first start copied.",
      "errors": [
        {
          "name": "NotAllowed"
        },
        {
          "name": "InvalidToken"
        },
        {
          "name": "NotPlc"
        },
        {
          "name": "SameAccount"
        },
        {
          "name": "AlreadyHere"
        },
        {
          "name": "InvalidHandle"
        },
        {
          "name": "HandleNotAvailable"
        },
        {
          "name": "InvalidRepo"
        },
        {
          "name": "UpstreamFailure"
        }
      ],
      "input": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "address": {
              "description": "The label of its address on this host; by default its handle's first label.",
              "type": "string"
            },
            "serviceJwt": {
              "description": "A service token from the account's own server (com.atproto.server.getServiceAuth), with this host's DID as aud and com.atproto.server.createAccount as lxm.",
              "type": "string"
            }
          },
          "required": [
            "serviceJwt"
          ],
          "type": "object"
        }
      },
      "output": {
        "encoding": "application/json",
        "schema": {
          "properties": {
            "address": {
              "format": "handle",
              "type": "string"
            },
            "blobs": {
              "description": "Files copied.",
              "type": "integer"
            },
            "did": {
              "format": "did",
              "type": "string"
            },
            "displayName": {
              "type": "string"
            },
            "handle": {
              "description": "Its handle once moved: its own domain if it has one that still names it, otherwise its address.",
              "format": "handle",
              "type": "string"
            },
            "recommendedCreds": {
              "description": "rotationKeys, alsoKnownAs, verificationMethods and services, as com.atproto.identity.getRecommendedDidCredentials answers: what the account's server signs into its PLC operation (com.atproto.identity.signPlcOperation).",
              "type": "unknown"
            },
            "records": {
              "description": "Records copied.",
              "type": "integer"
            }
          },
          "required": [
            "did",
            "handle",
            "address",
            "displayName",
            "records",
            "blobs",
            "recommendedCreds"
          ],
          "type": "object"
        }
      },
      "type": "procedure"
    }
  },
  "id": "fyi.opensocial.importAccount",
  "lexicon": 1
}