-
Notifications
You must be signed in to change notification settings - Fork 0
/
swagger.yml
186 lines (186 loc) · 5.17 KB
/
swagger.yml
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
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
openapi: 3.0.1
info:
title: Terrarium Registry
description: An open source Terraform Registry for everyone!
contact:
email: [email protected]
license:
name: Apache 2.0
url: http://www.apache.org/licenses/LICENSE-2.0.html
version: 0.0.1
externalDocs:
description: Find out more about Swagger
url: http://swagger.io
tags:
- name: organizations
description: API for managing organizations within the registry
paths:
/organizations:
post:
tags:
- organizations
summary: Add a new organization to the registry
description: Adds a new organization to the registry that modules can be parented
to for friendly registry paths for Terraform modules
operationId: addOrg
requestBody:
description: Organization definition
content:
application/json:
schema:
$ref: '#/components/schemas/Org'
required: true
responses:
201:
description: Organization created
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
example: 201
data:
$ref: '#/components/schemas/Org'
422:
$ref: '#/components/responses/UnprocessableEntity'
500:
$ref: '#/components/responses/InternalServerError'
x-codegen-request-body-name: organization
get:
parameters:
- in: query
name: limit
required: false
schema:
type: integer
minimum: 1
description: Limits the number of organizations returned
- in: query
name: offset
required: false
schema:
type: integer
minimum: 1
description: Offsets where to start when returning organizations
tags:
- organizations
summary: List all organizations
description: Lists all organizations currently in the registry
operationId: listOrgs
responses:
200:
description: List of organizations
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
example: 200
data:
type: array
items:
$ref: '#/components/schemas/Org'
500:
$ref: '#/components/responses/InternalServerError'
/organizations/{orgID}:
get:
summary: Returns a single organization
description: Returns a single organization in the registry
tags:
- organizations
parameters:
- in: path
name: orgID
required: true
schema:
type: string
example: "6175c716642c08c2a5c33d5b"
description: The organization ID
responses:
200:
description: An organization
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
example: 200
data:
$ref: '#/components/schemas/Org'
500:
$ref: '#/components/responses/InternalServerError'
404:
$ref: '#/components/responses/NotFound'
components:
responses:
InternalServerError:
description: Internal Server Error - Check server logs
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
example: 500
message:
type: string
example: Internal Server Error - Some Error
NotFound:
description: 404 Not Found
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
example: 404
message:
type: string
example: 404 Not Found
UnprocessableEntity:
description: Unprocessable Organization - Check request body
content:
application/json:
schema:
type: object
properties:
code:
type: integer
format: int64
example: 422
message:
type: string
example: Unprocessable Entity - Some Validation Error
schemas:
Org:
required:
- email
- name
type: object
properties:
_id:
type: integer
format: int64
example: "6175c716642c08c2a5c33d5b"
name:
type: string
example: Terrarium
email:
type: string
example: hello@terrarium
created_on:
type: string
example: 2021-10-24 20:50:30.103537 +0000 UTC