Skip to content

com.atproto.server.createAccount

Lexicon Version: 1

Type: procedure

Create an account. Implemented by PDS.

Parameters: (None defined)

Input:

  • Encoding: application/json
  • Schema:

Schema Type: object

NameTypeReq’dDescriptionConstraints
emailstring
handlestringRequested handle for the account.Format: handle
didstringPre-existing atproto DID, being imported to a new account.Format: did
inviteCodestring
verificationCodestring
verificationPhonestring
passwordstringInitial account password. May need to meet instance-specific password strength requirements.
recoveryKeystringDID PLC rotation key (aka, recovery key) to be included in PLC creation operation.
plcOpunknownA signed DID PLC operation to be submitted as part of importing an existing account to this instance. NOTE: this optional field may be updated when full account migration is implemented.
Output:
  • Encoding: application/json
  • Schema:

Schema Type: object

Account login session returned on successful account creation.

NameTypeReq’dDescriptionConstraints
accessJwtstring
refreshJwtstring
handlestringFormat: handle
didstringThe DID of the new account.Format: did
didDocunknownComplete DID document.
Possible Errors:
  • InvalidHandle
  • InvalidPassword
  • InvalidInviteCode
  • HandleNotAvailable
  • UnsupportedDomain
  • UnresolvableDid
  • IncompatibleDidDoc

{
"lexicon": 1,
"id": "com.atproto.server.createAccount",
"defs": {
"main": {
"type": "procedure",
"description": "Create an account. Implemented by PDS.",
"input": {
"encoding": "application/json",
"schema": {
"type": "object",
"required": [
"handle"
],
"properties": {
"email": {
"type": "string"
},
"handle": {
"type": "string",
"format": "handle",
"description": "Requested handle for the account."
},
"did": {
"type": "string",
"format": "did",
"description": "Pre-existing atproto DID, being imported to a new account."
},
"inviteCode": {
"type": "string"
},
"verificationCode": {
"type": "string"
},
"verificationPhone": {
"type": "string"
},
"password": {
"type": "string",
"description": "Initial account password. May need to meet instance-specific password strength requirements."
},
"recoveryKey": {
"type": "string",
"description": "DID PLC rotation key (aka, recovery key) to be included in PLC creation operation."
},
"plcOp": {
"type": "unknown",
"description": "A signed DID PLC operation to be submitted as part of importing an existing account to this instance. NOTE: this optional field may be updated when full account migration is implemented."
}
}
}
},
"output": {
"encoding": "application/json",
"schema": {
"type": "object",
"description": "Account login session returned on successful account creation.",
"required": [
"accessJwt",
"refreshJwt",
"handle",
"did"
],
"properties": {
"accessJwt": {
"type": "string"
},
"refreshJwt": {
"type": "string"
},
"handle": {
"type": "string",
"format": "handle"
},
"did": {
"type": "string",
"format": "did",
"description": "The DID of the new account."
},
"didDoc": {
"type": "unknown",
"description": "Complete DID document."
}
}
}
},
"errors": [
{
"name": "InvalidHandle"
},
{
"name": "InvalidPassword"
},
{
"name": "InvalidInviteCode"
},
{
"name": "HandleNotAvailable"
},
{
"name": "UnsupportedDomain"
},
{
"name": "UnresolvableDid"
},
{
"name": "IncompatibleDidDoc"
}
]
}
}
}