-
Notifications
You must be signed in to change notification settings - Fork 0
/
Spec.apib
115 lines (90 loc) · 2.12 KB
/
Spec.apib
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
# API Spec
# Group Users
## User list [/users]
### Create user [POST]
+ Request
+ Headers
Content-Type: application/json
+ Body
{ "username": "Linus", "password": "test" }
+ Response 201
+ Headers
Content-Type: application/json
Location: /users/{userId}
+ Body
{ "id": "{userId}", "username": "Linus", "password": "test" }
### List users [GET]
+ Response 200
+ Headers
Content-Type: application/json
+ Body
[
{ "id": "{userId}", "username": "Linus" }
]
## User [/users/{userId}]
### Get user [GET]
+ Response 200
+ Headers
Content-Type: application/json
+ Body
{ "id": "{userId}", "username": "Linus" }
# Group Session
## Session list [/sessions]
### Create session [POST]
+ Request
+ Headers
Content-Type: application/json
+ Body
{ "username": "Linus", "password": "this is the wrong password" }
+ Response 403
+ Request
+ Headers
Content-Type: application/json
+ Body
{ "username": "Linus", "password": "test" }
+ Response 201
+ Headers
Content-Type: application/json
Location: /sessions/{sessionId}
+ Body
{ "id": "{sessionId}", "token": "{sessionToken}", "userId": "{userId}" }
## Session [/sessions/{sessionId}]
### Get session [GET]
+ Response 200
+ Headers
Content-Type: application/json
+ Body
{ "id": "{sessionId}", "token": "{sessionToken}", "userId": "{userId}" }
### Delete session [DELETE]
+ Response 204
# Group Messages
## Message List [/messages]
### Post message [POST]
+ Request
+ Headers
Content-Type: application/json
+ Body
{ "text": "Listen to me!" }
+ Response 201
+ Headers
Content-Type: application/json
Location: /messages/{messageId}
+ Body
{ "id": "{messageId}", "text": "Listen to me!" }
### List messages [GET]
+ Response 200
+ Headers
Content-Type: application/json
+ Body
[
{ "id": "{messageId}", "text": "Listen to me!" }
]
## Message [/messages/{messageId}]
### Get message [GET]
+ Response 200
+ Headers
Content-Type: application/json
+ Body
{ "id": "{messageId}", "text": "Listen to me!" }
### Delete message [DELETE]
+ Response 204