{ "id": "com.atproto.server.createSession", "defs": { "main": { "type": "procedure", "input": { "schema": { "type": "object", "required": [ "identifier", "password" ], "properties": { "password": { "type": "string" }, "identifier": { "type": "string", "description": "Handle or other identifier supported by the server for the authenticating user." }, "allowTakendown": { "type": "boolean", "description": "When true, instead of throwing error for takendown accounts, a valid response with a narrow scoped token will be returned" }, "authFactorToken": { "type": "string" } } }, "encoding": "application/json" }, "errors": [ { "name": "AccountTakedown" }, { "name": "AuthFactorTokenRequired" } ], "output": { "schema": { "type": "object", "required": [ "accessJwt", "refreshJwt", "handle", "did" ], "properties": { "did": { "type": "string", "format": "did" }, "email": { "type": "string" }, "active": { "type": "boolean" }, "didDoc": { "type": "unknown" }, "handle": { "type": "string", "format": "handle" }, "status": { "type": "string", "description": "If active=false, this optional field indicates a possible reason for why the account is not active. If active=false and no status is supplied, then the host makes no claim for why the repository is no longer being hosted.", "knownValues": [ "takendown", "suspended", "deactivated" ] }, "accessJwt": { "type": "string" }, "refreshJwt": { "type": "string" }, "emailConfirmed": { "type": "boolean" }, "emailAuthFactor": { "type": "boolean" } } }, "encoding": "application/json" }, "description": "Create an authentication session." } }, "$type": "com.atproto.lexicon.schema", "lexicon": 1 }