-
Notifications
You must be signed in to change notification settings - Fork 1
/
openapi.yaml
147 lines (147 loc) · 3.64 KB
/
openapi.yaml
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
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
openapi: 3.0.3
info:
title: Jarvis API
version: 1.0.0
servers:
- url: https://api.domain.com
paths:
/events:
get:
summary: Read majorThing events from dateTime. MinorThing can also be specified.
tags:
- events
parameters:
- name: majorThing
description: Alphanumeric only.
example: home
in: query
required: true
schema:
type: string
- name: dateTime
description: Events from ISO 8601 UTC. If not specified or invalid defaults to midnight UTC.
example: '2021-11-26T00:00:00.000Z'
in: query
required: false
schema:
type: string
format: date-time
- name: minorThing
description: Alphanumeric only.
example: driveway
in: query
required: false
schema:
type: string
responses:
'200':
description: Event read.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/EventResponse'
'400':
description: Bad request.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized.
content:
application/json:
schema:
type: object
items:
$ref: '#/components/schemas/ErrorResponse'
security:
- basic_auth: []
- api_key: []
post:
summary: Create event.
tags:
- events
requestBody:
content:
application/json:
schema:
$ref: '#/components/schemas/EventRequest'
required: true
responses:
'200':
description: Event created.
content:
application/json: {}
'400':
description: Bad request.
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ErrorResponse'
'401':
description: Unauthorized.
content:
application/json:
schema:
type: object
items:
$ref: '#/components/schemas/ErrorResponse'
security:
- basic_auth: []
- api_key: []
components:
schemas:
ErrorResponse:
type: object
properties:
message:
description: Alphanumeric only.
example: majorThing must be alphanumeric.
type: string
EventRequest:
type: object
properties:
majorThing:
description: Alphanumeric only.
example: home
type: string
minorThing:
description: Alphanumeric only.
example: driveway
type: string
event:
description: Alphanumeric only.
example: motion
type: string
EventResponse:
type: object
properties:
dateTime:
type: string
format: date-time
majorThing:
description: Alphanumeric only.
example: home
type: string
minorThing:
description: Alphanumeric only.
example: driveway
type: string
event:
description: Alphanumeric only.
example: motion
type: string
securitySchemes:
basic_auth:
type: http
scheme: basic
api_key:
type: apiKey
name: x-api-key
in: header