summary refs log tree commit diff
path: root/docs/client-server/swagger_matrix/api-docs-registration
blob: 11c170c3ecbd269694716c5943dfaa61d1053ace (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
{
  "apiVersion": "1.0.0", 
  "apis": [
    {
      "operations": [
        {
          "method": "GET", 
          "nickname": "get_registration_info", 
          "notes": "All login stages MUST be mentioned if there is >1 login type.", 
          "summary": "Get the login mechanism to use when registering.", 
          "type": "RegistrationFlows"
        }, 
        {
          "method": "POST", 
          "nickname": "submit_registration", 
          "notes": "If this is part of a multi-stage registration, there MUST be a 'session' key.", 
          "parameters": [
            {
              "description": "A registration submission", 
              "name": "body", 
              "paramType": "body", 
              "required": true, 
              "type": "RegistrationSubmission"
            }
          ], 
          "responseMessages": [
            {
              "code": 400, 
              "message": "Bad login type"
            }, 
            {
              "code": 400, 
              "message": "Missing JSON keys"
            }
          ], 
          "summary": "Submit a registration action.", 
          "type": "RegistrationResult"
        }
      ], 
      "path": "/register"
    }
  ], 
  "basePath": "http://localhost:8008/_matrix/client/api/v1", 
  "consumes": [
    "application/json"
  ], 
  "models": {
    "RegistrationFlows": {
      "id": "RegistrationFlows",
      "properties": {
        "flows": {
          "description": "A list of valid registration flows.",
          "type": "array",
          "items": {
            "$ref": "RegistrationInfo"
          }
        }
      }
    },
    "RegistrationInfo": {
      "id": "RegistrationInfo", 
      "properties": {
        "stages": {
          "description": "Multi-stage registration only: An array of all the login types required to registration.", 
          "items": {
            "$ref": "string"
          }, 
          "type": "array"
        }, 
        "type": {
          "description": "The first login type that must be used when logging in.", 
          "type": "string"
        }
      }
    }, 
    "RegistrationResult": {
      "id": "RegistrationResult", 
      "properties": {
        "access_token": {
          "description": "The access token for this user's registration if this is the final stage of the registration process.", 
          "type": "string"
        },
        "user_id": {
          "description": "The user's fully-qualified user ID.",
          "type": "string"
        }, 
        "next": {
          "description": "Multi-stage registration only: The next registration type to submit.", 
          "type": "string"
        },
        "session": {
          "description": "Multi-stage registration only: The session token to send when submitting the next registration type.",
          "type": "string"
        }
      }
    }, 
    "RegistrationSubmission": {
      "id": "RegistrationSubmission", 
      "properties": {
        "type": {
          "description": "The type of registration being submitted.", 
          "type": "string"
        },
        "session": {
          "description": "Multi-stage registration only: The session token from an earlier registration stage.",
          "type": "string"
        },
        "_registration_type_defined_keys_": {
          "description": "Keys as defined by the specified registration type, e.g. \"user\", \"password\""
        }
      }
    }
  }, 
  "produces": [
    "application/json"
  ], 
  "resourcePath": "/register", 
  "swaggerVersion": "1.2"
}