· 2 years ago · Jul 18, 2023, 03:45 PM
1{
2 "openapi": "3.0.1",
3 "info": {
4 "title": "MMA API",
5 "description": "An API built on top of the MMA API",
6 "contact": {
7 "name": "Wei Pan"
8 },
9 "server": [
10 "http://localhost:4001"
11 ]
12 },
13 "components": {
14 "securitySchemes": {
15 "ApiKeyAuth": {
16 "type": "apiKey",
17 "in": "header",
18 "name": "authorization"
19 }
20 }
21 },
22 "security": [
23 {
24 "ApiKeyAuth": []
25 }
26 ],
27 "paths": {
28 "/all-tab-columns": {
29 "get": {
30 "tags": [
31 "all_tab_columns"
32 ],
33 "description": "Find all the tables created by the MMA_Team",
34 "summary": "Find",
35 "parameters": [
36 {
37 "in": "query",
38 "name": "table_name",
39 "schema": {
40 "type": "strng"
41 },
42 "description": "Filter on table_name"
43 },
44 {
45 "in": "query",
46 "name": "column_name",
47 "default": null,
48 "schema": {
49 "type": "string"
50 },
51 "description": "Filter on column_name"
52 },
53 {
54 "in": "query",
55 "name": "offset",
56 "default": 0,
57 "schema": {
58 "type": "integer"
59 },
60 "description": "Offset the result by this many records."
61 },
62 {
63 "in": "query",
64 "name": "limit",
65 "default": 10,
66 "schema": {
67 "type": "integer"
68 },
69 "description": "Return this [integer] amount of records."
70 }
71 ],
72 "responses": {
73 "200": {
74 "description": "A successful response"
75 }
76 }
77 }
78 },
79 "/api-request-log": {
80 "get": {
81 "tags": [
82 "api_request_log"
83 ],
84 "description": "Finds API_Request information for application",
85 "summary": "Find",
86 "parameters": [
87 {
88 "in": "query",
89 "name": "request_id",
90 "default": 0,
91 "schema": {
92 "type": "integer"
93 },
94 "description": "Filter on request Id"
95 },
96 {
97 "in": "query",
98 "name": "req_method",
99 "default": null,
100 "schema": {
101 "type": "string"
102 }
103 },
104 {
105 "in": "query",
106 "name": "endpoint",
107 "default": null,
108 "schema": {
109 "type": "string"
110 },
111 "description": "Filter on specific endpoint"
112 },
113 {
114 "in": "query",
115 "name": "test_case_flag",
116 "default": null,
117 "schema": {
118 "type": "string"
119 },
120 "description": "Filter on specific test_case_flag [0 or 1]"
121 },
122 {
123 "in": "query",
124 "name": "offset",
125 "default": 0,
126 "schema": {
127 "type": "integer"
128 },
129 "description": "Offset the result by this many records."
130 },
131 {
132 "in": "query",
133 "name": "limit",
134 "default": 10,
135 "schema": {
136 "type": "integer"
137 },
138 "description": "Return this [integer] amount of records."
139 }
140 ],
141 "responses": {
142 "200": {
143 "description": "A successful response"
144 }
145 }
146 },
147 "post": {
148 "tags": [
149 "api_request_log"
150 ],
151 "summary": "Create",
152 "requestBody": {
153 "description": "Create new Error Log entry",
154 "required": true,
155 "content": {
156 "application/json": {
157 "schema": {
158 "type": "object",
159 "properties": {
160 "req_date": {
161 "type": "string"
162 },
163 "req_method": {
164 "type": "string"
165 },
166 "req_body": {
167 "type": "string"
168 },
169 "endpoint": {
170 "type": "string"
171 },
172 "response_status": {
173 "type": "number"
174 },
175 "response_time": {
176 "type": "number"
177 },
178 "test_case_flag": {
179 "type": "number"
180 }
181 }
182 }
183 }
184 }
185 },
186 "responses": {
187 "201": {
188 "description": "Updated"
189 }
190 }
191 },
192 "components": {
193 "responses": null,
194 "UnauthorizedError": {
195 "description": "API key is missing or invalid",
196 "headers": {
197 "WWW_Authenticate": {
198 "schema": {
199 "type": "string"
200 }
201 }
202 }
203 }
204 },
205 "patch": {
206 "tags": [
207 "api_request_log"
208 ],
209 "summary": "Update",
210 "requestBody": {
211 "description": "Update Request data Approval Rule",
212 "required": true,
213 "content": {
214 "application/json": {
215 "schema": {
216 "type": "object",
217 "properties": {
218 "request_id": {
219 "type": "integer"
220 },
221 "test_case_flag": {
222 "type": "number"
223 }
224 }
225 }
226 }
227 }
228 },
229 "responses": {
230 "201": {
231 "description": "Updated"
232 }
233 }
234 }
235 },
236 "/application-logs": {
237 "get": {
238 "tags": [
239 "application_logs"
240 ],
241 "description": "Finds application logs for applications",
242 "summary": "Find",
243 "parameters": [
244 {
245 "in": "query",
246 "name": "app_name",
247 "default": "Name Of Application That You Want to Log",
248 "schema": {
249 "type": "string"
250 },
251 "description": "Filter on application name, depending on what app information you want to get out of this"
252 },
253 {
254 "in": "query",
255 "name": "offset",
256 "default": 2,
257 "schema": {
258 "type": "integer"
259 },
260 "description": "Offset the result by this many records."
261 },
262 {
263 "in": "query",
264 "name": "limit",
265 "default": 10,
266 "schema": {
267 "type": "integer"
268 },
269 "description": "Return this [integer] amount of records."
270 }
271 ],
272 "responses": {
273 "200": {
274 "description": "A successful response"
275 }
276 }
277 },
278 "post": {
279 "tags": [
280 "application_logs"
281 ],
282 "summary": "Create",
283 "requestBody": {
284 "description": "Create application log",
285 "required": true,
286 "content": {
287 "application/json": {
288 "schema": {
289 "type": "object",
290 "properties": {
291 "app_name": {
292 "type": "string"
293 },
294 "note": {
295 "type": "string"
296 }
297 }
298 }
299 }
300 }
301 },
302 "responses": {
303 "201": {
304 "description": "Updated"
305 }
306 }
307 },
308 "components": {
309 "responses": null,
310 "UnauthorizedError": {
311 "description": "API key is missing or invalid",
312 "headers": {
313 "WWW_Authenticate": {
314 "schema": {
315 "type": "string"
316 }
317 }
318 }
319 }
320 }
321 },
322 "/category-exception-rules": {
323 "get": {
324 "tags": [
325 "category_exception_rules"
326 ],
327 "description": "Finds category rules for applications",
328 "summary": "Find",
329 "parameters": [
330 {
331 "in": "query",
332 "name": "category_id",
333 "default": 2,
334 "schema": {
335 "type": "string"
336 },
337 "description": "Filter on category_id"
338 },
339 {
340 "in": "query",
341 "name": "category_name",
342 "default": null,
343 "schema": {
344 "type": "string"
345 },
346 "description": "Filter on category_name"
347 },
348 {
349 "in": "query",
350 "name": "otb_limit",
351 "default": null,
352 "schema": {
353 "type": "string"
354 },
355 "description": "Filter on otb_limit"
356 },
357 {
358 "in": "query",
359 "name": "imu_percentage",
360 "default": null,
361 "schema": {
362 "type": "string"
363 },
364 "description": "Filter on imu_percentage"
365 },
366 {
367 "in": "query",
368 "name": "offset",
369 "default": 2,
370 "schema": {
371 "type": "integer"
372 },
373 "description": "Offset the result by this many records."
374 },
375 {
376 "in": "query",
377 "name": "limit",
378 "default": 10,
379 "schema": {
380 "type": "integer"
381 },
382 "description": "Return this [integer] amount of records."
383 }
384 ],
385 "responses": {
386 "200": {
387 "description": "A successful response"
388 }
389 }
390 },
391 "post": {
392 "tags": [
393 "category_exception_rules"
394 ],
395 "summary": "Create",
396 "requestBody": {
397 "description": "Create new category rule",
398 "required": true,
399 "content": {
400 "application/json": {
401 "schema": {
402 "type": "object",
403 "properties": {
404 "category_name": {
405 "type": "string"
406 },
407 "otb_limit": {
408 "type": "integer"
409 },
410 "imu_percentage": {
411 "type": "integer"
412 }
413 }
414 }
415 }
416 }
417 },
418 "responses": {
419 "201": {
420 "description": "Updated"
421 }
422 }
423 },
424 "patch": {
425 "tags": [
426 "category_exception_rules"
427 ],
428 "summary": "Update",
429 "requestBody": {
430 "description": "Update users",
431 "required": true,
432 "content": {
433 "application/json": {
434 "schema": {
435 "type": "object",
436 "properties": {
437 "category_id": {
438 "type": "integer"
439 },
440 "category_name": {
441 "type": "string"
442 },
443 "otb_limit": {
444 "type": "integer"
445 },
446 "imu_percentage": {
447 "type": "integer"
448 }
449 }
450 }
451 }
452 }
453 },
454 "responses": {
455 "201": {
456 "description": "Updated"
457 }
458 }
459 },
460 "components": {
461 "responses": null,
462 "UnauthorizedError": {
463 "description": "API key is missing or invalid",
464 "headers": {
465 "WWW_Authenticate": {
466 "schema": {
467 "type": "string"
468 }
469 }
470 }
471 }
472 }
473 },
474 "/database-tab-cols-details": {
475 "get": {
476 "tags": [
477 "database_tab_cols_details"
478 ],
479 "description": "Finds database table columns details",
480 "summary": "Find",
481 "parameters": [
482 {
483 "in": "query",
484 "name": "table_name",
485 "schema": {
486 "type": "string"
487 },
488 "description": "Filter on table_name"
489 },
490 {
491 "in": "query",
492 "name": "column_name",
493 "default": null,
494 "schema": {
495 "type": "string"
496 },
497 "description": "Filter on column_name"
498 },
499 {
500 "in": "query",
501 "name": "offset",
502 "default": 2,
503 "schema": {
504 "type": "integer"
505 },
506 "description": "Offset the result by this many records."
507 },
508 {
509 "in": "query",
510 "name": "limit",
511 "default": 10,
512 "schema": {
513 "type": "integer"
514 },
515 "description": "Return this [integer] amount of records."
516 }
517 ],
518 "responses": {
519 "200": {
520 "description": "A successful response"
521 }
522 }
523 },
524 "post": {
525 "tags": [
526 "database_tab_cols_details"
527 ],
528 "summary": "Create",
529 "requestBody": {
530 "description": "Create new database col detail",
531 "required": true,
532 "content": {
533 "application/json": {
534 "schema": {
535 "type": "object",
536 "properties": {
537 "table_name": {
538 "type": "string"
539 },
540 "column_name": {
541 "type": "string"
542 },
543 "column_description": {
544 "type": "string"
545 }
546 }
547 }
548 }
549 }
550 },
551 "responses": {
552 "201": {
553 "description": "Updated"
554 }
555 }
556 },
557 "patch": {
558 "tags": [
559 "database_tab_cols_details"
560 ],
561 "summary": "Update",
562 "requestBody": {
563 "description": "Update database_tab_cols_details",
564 "required": true,
565 "content": {
566 "application/json": {
567 "schema": {
568 "type": "object",
569 "properties": {
570 "table_name": {
571 "type": "string"
572 },
573 "column_name": {
574 "type": "string"
575 },
576 "column_description": {
577 "type": "string"
578 }
579 }
580 }
581 }
582 }
583 },
584 "responses": {
585 "201": {
586 "description": "Updated"
587 }
588 }
589 },
590 "components": {
591 "responses": null,
592 "UnauthorizedError": {
593 "description": "API key is missing or invalid",
594 "headers": {
595 "WWW_Authenticate": {
596 "schema": {
597 "type": "string"
598 }
599 }
600 }
601 }
602 }
603 },
604 "/error-logs": {
605 "get": {
606 "tags": [
607 "error_logs"
608 ],
609 "description": "Finds Error Logs for application",
610 "summary": "Find",
611 "parameters": [
612 {
613 "in": "query",
614 "name": "error_id",
615 "default": 0,
616 "schema": {
617 "type": "integer"
618 },
619 "description": "Filter on Error Id"
620 },
621 {
622 "in": "query",
623 "name": "application_id",
624 "default": null,
625 "schema": {
626 "type": "integer"
627 },
628 "description": "Filter on Application Id"
629 },
630 {
631 "in": "query",
632 "name": "offset",
633 "default": 0,
634 "schema": {
635 "type": "integer"
636 },
637 "description": "Offset the result by this many records."
638 },
639 {
640 "in": "query",
641 "name": "limit",
642 "default": 10,
643 "schema": {
644 "type": "integer"
645 },
646 "description": "Return this [integer] amount of records."
647 }
648 ],
649 "responses": {
650 "200": {
651 "description": "A successful response"
652 }
653 }
654 },
655 "post": {
656 "tags": [
657 "error_logs"
658 ],
659 "summary": "Create",
660 "requestBody": {
661 "description": "Create new Error Log entry",
662 "required": true,
663 "content": {
664 "application/json": {
665 "schema": {
666 "type": "object",
667 "properties": {
668 "application_id": {
669 "type": "integer"
670 },
671 "error_message": {
672 "type": "string"
673 }
674 }
675 }
676 }
677 }
678 },
679 "responses": {
680 "201": {
681 "description": "Updated"
682 }
683 }
684 },
685 "components": {
686 "responses": null,
687 "UnauthorizedError": {
688 "description": "API key is missing or invalid",
689 "headers": {
690 "WWW_Authenticate": {
691 "schema": {
692 "type": "string"
693 }
694 }
695 }
696 }
697 }
698 },
699 "/faq": {
700 "get": {
701 "tags": [
702 "faq"
703 ],
704 "description": "Finds Frequently Asked Questions",
705 "summary": "Find",
706 "parameters": [
707 {
708 "in": "query",
709 "name": "q_id",
710 "default": null,
711 "schema": {
712 "type": "number"
713 },
714 "description": "Filter on Question ID"
715 },
716 {
717 "in": "query",
718 "name": "offset",
719 "default": 0,
720 "schema": {
721 "type": "integer"
722 },
723 "description": "Offset the result by this many records."
724 },
725 {
726 "in": "query",
727 "name": "limit",
728 "default": 10,
729 "schema": {
730 "type": "integer"
731 },
732 "description": "Return this [integer] amount of records."
733 }
734 ],
735 "responses": {
736 "200": {
737 "description": "A successful response"
738 }
739 }
740 },
741 "post": {
742 "tags": [
743 "faq"
744 ],
745 "summary": "Create",
746 "requestBody": {
747 "description": "Create new question