atproto blogging
1{
2 "lexicon": 1,
3 "id": "com.atproto.server.createSession",
4 "defs": {
5 "main": {
6 "type": "procedure",
7 "description": "Create an authentication session.",
8 "input": {
9 "encoding": "application/json",
10 "schema": {
11 "type": "object",
12 "required": [
13 "identifier",
14 "password"
15 ],
16 "properties": {
17 "allowTakendown": {
18 "type": "boolean",
19 "description": "When true, instead of throwing error for takendown accounts, a valid response with a narrow scoped token will be returned"
20 },
21 "authFactorToken": {
22 "type": "string"
23 },
24 "identifier": {
25 "type": "string",
26 "description": "Handle or other identifier supported by the server for the authenticating user."
27 },
28 "password": {
29 "type": "string"
30 }
31 }
32 }
33 },
34 "output": {
35 "encoding": "application/json",
36 "schema": {
37 "type": "object",
38 "required": [
39 "accessJwt",
40 "refreshJwt",
41 "handle",
42 "did"
43 ],
44 "properties": {
45 "accessJwt": {
46 "type": "string"
47 },
48 "active": {
49 "type": "boolean"
50 },
51 "did": {
52 "type": "string",
53 "format": "did"
54 },
55 "didDoc": {
56 "type": "unknown"
57 },
58 "email": {
59 "type": "string"
60 },
61 "emailAuthFactor": {
62 "type": "boolean"
63 },
64 "emailConfirmed": {
65 "type": "boolean"
66 },
67 "handle": {
68 "type": "string",
69 "format": "handle"
70 },
71 "refreshJwt": {
72 "type": "string"
73 },
74 "status": {
75 "type": "string",
76 "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.",
77 "knownValues": [
78 "takendown",
79 "suspended",
80 "deactivated"
81 ]
82 }
83 }
84 }
85 },
86 "errors": [
87 {
88 "name": "AccountTakedown"
89 },
90 {
91 "name": "AuthFactorTokenRequired"
92 }
93 ]
94 }
95 }
96}