com.atproto.server.createAccount
{
"$type": "com.atproto.lexicon.schema",
"defs": {
"main": {
"description": "Create an account. Implemented by PDS.",
"errors": [
{
"name": "InvalidHandle"
},
{
"name": "InvalidPassword"
},
{
"name": "InvalidInviteCode"
},
{
"name": "HandleNotAvailable"
},
{
"name": "UnsupportedDomain"
},
{
"name": "UnresolvableDid"
},
{
"name": "IncompatibleDidDoc"
}
],
"input": {
"encoding": "application/json",
"schema": {
"properties": {
"did": {
"description": "Pre-existing atproto DID, being imported to a new account.",
"format": "did",
"type": "string"
},
"email": {
"type": "string"
},
"handle": {
"description": "Requested handle for the account.",
"format": "handle",
"type": "string"
},
"inviteCode": {
"type": "string"
},
"password": {
"description": "Initial account password. May need to meet instance-specific password strength requirements.",
"type": "string"
},
"plcOp": {
"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.",
"type": "unknown"
},
"recoveryKey": {
"description": "DID PLC rotation key (aka, recovery key) to be included in PLC creation operation.",
"type": "string"
},
"verificationCode": {
"type": "string"
},
"verificationPhone": {
"type": "string"
}
},
"required": [
"handle"
],
"type": "object"
}
},
"output": {
"encoding": "application/json",
"schema": {
"description": "Account login session returned on successful account creation.",
"properties": {
"accessJwt": {
"type": "string"
},
"did": {
"description": "The DID of the new account.",
"format": "did",
"type": "string"
},
"didDoc": {
"description": "Complete DID document.",
"type": "unknown"
},
"handle": {
"format": "handle",
"type": "string"
},
"refreshJwt": {
"type": "string"
}
},
"required": [
"accessJwt",
"refreshJwt",
"handle",
"did"
],
"type": "object"
}
},
"type": "procedure"
}
},
"id": "com.atproto.server.createAccount",
"lexicon": 1
}
Metadata
- DID
-
did:plc:6msi3pj7krzih5qxqtryxlzw - CID
-
bafyreie6o2sq47ukysnnnwxcb7eocpyyazetp5n3m4u3n5f7v5xr7qn62u - Indexed At
- 2026-02-18 18:58 UTC
- AT-URI
-
at://did:plc:6msi3pj7krzih5qxqtryxlzw/com.atproto.lexicon.schema/com.atproto.server.createAccount
Similar Lexicons
Lexicons whose schemas describe something close to this one. Check them before publishing a new one that overlaps.
-
social.coves.actor.signup procedure
Register a new account on the Coves instance. Creates account on PDS and indexes in AppView.
-
rip.pds.admin.createAccount procedure
Issue an account on any configured domain, including operator-only and permanent ones, optionally on somebody else's behalf. Bypasses the quota. Operators only.
-
rip.pds.account.createAccount procedure
Mint an ephemeral account owned by the calling account. The account is deleted and its identity retired when it expires.
-
town.muni.arbiter.createArbiter procedure
Provision a brand-new stewarded PDS account. The caller authenticates via serviceAuth (aud = arbiter-server DID, lxm = town.muni.arbiter.createArbiter). The server creates a new account on the configured default PDS us…
-
com.atproto.server.reserveSigningKey procedure
Reserve a repo signing key, for use with account creation. Necessary so that a DID PLC update operation can be constructed during an account migraiton. Public and does not require auth; implemented by PDS. NOTE: this en…