UNPKG

134 kBYAMLView Raw
1swagger: "2.0"
2info:
3 description: ""
4 version: "1.0.0"
5 title: "Tubee API"
6 termsOfService: ""
7 contact:
8 email: "opensource@gyselroth.net"
9 license:
10 name: "MIT"
11 url: "https://opensource.org/licenses/MIT"
12basePath: "/api/v1"
13schemes:
14- "https"
15paths:
16 /:
17 get:
18 summary: "Get api entrypoint"
19 operationId: "root"
20 produces:
21 - "application/json"
22 responses:
23 200:
24 description: "List of objects"
25 403:
26 description: "Access denied"
27 /watch/namespaces:
28 get:
29 tags:
30 - "namespaces"
31 summary: "Watch namespaces"
32 description: "Watch namespaces in realtime"
33 operationId: "watchNamespaces"
34 produces:
35 - "application/json;stream=watch"
36 parameters:
37 - in: "query"
38 name: "query"
39 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
40 required: false
41 type: "string"
42 - in: "query"
43 name: "attributes"
44 description: "Filter attributes"
45 required: false
46 type: "array"
47 items:
48 type: "string"
49 - in: "query"
50 name: "offset"
51 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
52 required: false
53 type: "number"
54 - in: "query"
55 name: "limit"
56 description: "Objects limit, per default 20 objects will get returned"
57 required: false
58 type: "number"
59 - in: "query"
60 name: "sort"
61 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
62 required: false
63 type: "string"
64 responses:
65 200:
66 description: "List of objects"
67 403:
68 description: "Access denied"
69 /namespaces:
70 get:
71 tags:
72 - "namespaces"
73 summary: "Get namespaces"
74 description: "A namespace is a logical group of collections"
75 operationId: "getNamespaces"
76 produces:
77 - "application/json"
78 parameters:
79 - in: "query"
80 name: "query"
81 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
82 required: false
83 type: "string"
84 - in: "query"
85 name: "attributes"
86 description: "Filter attributes"
87 required: false
88 type: "array"
89 items:
90 type: "string"
91 - in: "query"
92 name: "offset"
93 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
94 required: false
95 type: "number"
96 - in: "query"
97 name: "limit"
98 description: "Objects limit, per default 20 objects will get returned"
99 required: false
100 type: "number"
101 - in: "query"
102 name: "sort"
103 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
104 required: false
105 type: "string"
106 responses:
107 200:
108 description: "List of namespaces"
109 schema:
110 $ref: "#/definitions/Namespaces"
111 403:
112 description: "Access denied"
113 post:
114 tags:
115 - "namespaces"
116 summary: "Add namespace"
117 operationId: "addNamespace"
118 produces:
119 - "application/json"
120 parameters:
121 - in: body
122 name: data
123 schema:
124 $ref: "#/definitions/Namespace"
125 responses:
126 201:
127 description: "If successful the server will respond with 201 Created"
128 schema:
129 $ref: "#/definitions/Namespace"
130 403:
131 description: "Access denied"
132 /namespaces/{namespace}:
133 get:
134 tags:
135 - "namespaces"
136 summary: "Get specific namespace"
137 description: "A namespace is a logical group of collections"
138 operationId: "getNamespace"
139 produces:
140 - "application/json"
141 parameters:
142 - in: "path"
143 name: "namespace"
144 description: "Namespace name"
145 required: true
146 type: "string"
147 - in: "query"
148 name: "attributes"
149 description: "Filter attributes"
150 required: false
151 type: "array"
152 items:
153 type: "string"
154 responses:
155 200:
156 description: "Namespace"
157 schema:
158 $ref: "#/definitions/Namespace"
159 404:
160 description: "Resource does not exists"
161 403:
162 description: "Access denied"
163 delete:
164 tags:
165 - "namespaces"
166 summary: "Delete specific namespace"
167 operationId: "deleteNamespace"
168 produces:
169 - "application/json"
170 parameters:
171 - in: "path"
172 name: "namespace"
173 description: "Namespace name"
174 required: true
175 type: "string"
176 responses:
177 204:
178 description: "If successful the server will respond with 204 No Content"
179 404:
180 description: "Resource does not exists"
181 403:
182 description: "Access denied"
183 put:
184 tags:
185 - "namespaces"
186 summary: "Create or replace namespace"
187 operationId: "replaceNamespace"
188 produces:
189 - "application/json"
190 parameters:
191 - in: "path"
192 name: "namespace"
193 description: "Namespace name"
194 required: true
195 type: "string"
196 - in: body
197 name: data
198 schema:
199 $ref: "#/definitions/Namespace"
200 responses:
201 200:
202 description: "If successful the server will respond with 200 OK"
203 schema:
204 $ref: "#/definitions/Namespace"
205 201:
206 description: "If successful and the object was newly created the server will respond with 201 Created"
207 schema:
208 $ref: "#/definitions/Namespace"
209 403:
210 description: "Access denied"
211 patch:
212 tags:
213 - "namespaces"
214 summary: "Patch namespace as rfc6902 request"
215 operationId: "updateNamespace"
216 description: "Update specific attributes of a namespace"
217 produces:
218 - "application/json"
219 parameters:
220 - in: "path"
221 name: "namespace"
222 description: "Namespace name"
223 required: true
224 type: "string"
225 - in: body
226 name: data
227 description: "Namespace"
228 schema:
229 type: array
230 items:
231 $ref: "#/definitions/JsonPatch"
232 responses:
233 200:
234 description: "Namespace"
235 schema:
236 $ref: "#/definitions/Namespace"
237 404:
238 description: "Resource does not exists"
239 403:
240 description: "Access denied"
241 /watch/namespaces/{namespace}/collections:
242 get:
243 tags:
244 - "collections"
245 summary: "Watch collections"
246 description: "Watch collections in realtime"
247 operationId: "watchCollections"
248 produces:
249 - "application/json;stream=watch"
250 parameters:
251 - in: "path"
252 name: "namespace"
253 description: "Namespace name"
254 required: true
255 type: "string"
256 - in: "query"
257 name: "query"
258 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
259 required: false
260 type: "string"
261 - in: "query"
262 name: "attributes"
263 description: "Filter attributes"
264 required: false
265 type: "array"
266 items:
267 type: "string"
268 - in: "query"
269 name: "offset"
270 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
271 required: false
272 type: "number"
273 - in: "query"
274 name: "limit"
275 description: "Objects limit, per default 20 objects will get returned"
276 required: false
277 type: "number"
278 - in: "query"
279 name: "sort"
280 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
281 required: false
282 type: "string"
283 responses:
284 200:
285 description: "List of objects"
286 403:
287 description: "Access denied"
288 /namespaces/{namespace}/collections:
289 get:
290 tags:
291 - "collections"
292 summary: "Get collections"
293 description: "A collection is collection of data objects of a specific type"
294 operationId: "getCollections"
295 produces:
296 - "application/json"
297 parameters:
298 - in: "path"
299 name: "namespace"
300 description: "Namespace name"
301 required: true
302 type: "string"
303 - in: "query"
304 name: "query"
305 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
306 required: false
307 type: "string"
308 - in: "query"
309 name: "attributes"
310 description: "Filter attributes"
311 required: false
312 type: "array"
313 items:
314 type: "string"
315 - in: "query"
316 name: "offset"
317 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
318 required: false
319 type: "number"
320 - in: "query"
321 name: "limit"
322 description: "Objects limit, per default 20 objects will get returned"
323 required: false
324 type: "number"
325 - in: "query"
326 name: "sort"
327 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
328 required: false
329 type: "string"
330 responses:
331 200:
332 description: "List of collections"
333 schema:
334 $ref: "#/definitions/Collections"
335 404:
336 description: "Resource does not exists"
337 403:
338 description: "Access denied"
339 post:
340 tags:
341 - "collections"
342 summary: "Add collection"
343 operationId: "addCollection"
344 produces:
345 - "application/json"
346 parameters:
347 - in: "path"
348 name: "namespace"
349 description: "Namespace name"
350 required: true
351 type: "string"
352 - in: body
353 name: data
354 schema:
355 $ref: "#/definitions/Collection"
356 responses:
357 201:
358 description: "If successful the server will respond with 201 Created"
359 schema:
360 $ref: "#/definitions/Collection"
361 403:
362 description: "Access denied"
363 404:
364 description: "Resource does not exists"
365 /namespaces/{namespace}/collections/{collection}:
366 get:
367 tags:
368 - "collections"
369 summary: "Get specific collection"
370 description: "A collection is collection of dataobjects of a specific type"
371 operationId: "getCollection"
372 produces:
373 - "application/json"
374 parameters:
375 - in: "path"
376 name: "namespace"
377 description: "Namespace name"
378 required: true
379 type: "string"
380 - in: "path"
381 name: "collection"
382 description: "Collection"
383 required: true
384 type: "string"
385 - in: "query"
386 name: "attributes"
387 description: "Filter attributes"
388 required: false
389 type: "array"
390 items:
391 type: "string"
392 responses:
393 200:
394 description: "Collection"
395 schema:
396 $ref: "#/definitions/Collection"
397 404:
398 description: "Resource does not exists"
399 403:
400 description: "Access denied"
401 delete:
402 tags:
403 - "collections"
404 summary: "Delete specific collection"
405 operationId: "deleteCollection"
406 produces:
407 - "application/json"
408 parameters:
409 - in: "path"
410 name: "namespace"
411 description: "Namespace name"
412 required: true
413 type: "string"
414 - in: "path"
415 name: "collection"
416 description: "Collection"
417 required: true
418 type: "string"
419 responses:
420 204:
421 description: "If successful the server will respond with 204 No Content"
422 404:
423 description: "Resource does not exists"
424 403:
425 description: "Access denied"
426 put:
427 tags:
428 - "collections"
429 summary: "Create or replace collection"
430 operationId: "replaceCollection"
431 produces:
432 - "application/json"
433 parameters:
434 - in: "path"
435 name: "namespace"
436 description: "Namespace name"
437 required: true
438 type: "string"
439 - in: "path"
440 name: "collection"
441 description: "Collection"
442 required: true
443 type: "string"
444 - in: body
445 name: data
446 schema:
447 $ref: "#/definitions/Collection"
448 responses:
449 200:
450 description: "If successful the server will respond with 200 OK"
451 schema:
452 $ref: "#/definitions/Collection"
453 201:
454 description: "If successful and the object was newly created the server will respond with 201 Created"
455 schema:
456 $ref: "#/definitions/Collection"
457 403:
458 description: "Access denied"
459 patch:
460 tags:
461 - "collections"
462 summary: "Patch collection as rfc6902 request"
463 description: "Update specific attributes of a collection"
464 operationId: "updateCollection"
465 produces:
466 - "application/json"
467 parameters:
468 - in: "path"
469 name: "namespace"
470 description: "Namespace name"
471 required: true
472 type: "string"
473 - in: "path"
474 name: "collection"
475 description: "Collection"
476 required: true
477 type: "string"
478 - in: body
479 name: data
480 description: "Collection"
481 schema:
482 type: array
483 items:
484 $ref: "#/definitions/JsonPatch"
485 responses:
486 200:
487 description: "Collection"
488 schema:
489 $ref: "#/definitions/Collection"
490 404:
491 description: "Resource does not exists"
492 403:
493 description: "Access denied"
494 /watch/namespaces/{namespace}/collections/{collection}/endpoints:
495 get:
496 tags:
497 - "endpoints"
498 summary: "Watch endpoints"
499 description: "Watch updates in realtime"
500 operationId: "watchEndpoints"
501 produces:
502 - "application/json;stream=watch"
503 parameters:
504 - in: "path"
505 name: "namespace"
506 description: "Namespace name"
507 required: true
508 type: "string"
509 - in: "path"
510 name: "collection"
511 description: "Collection"
512 required: true
513 type: "string"
514 - in: "query"
515 name: "query"
516 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
517 required: false
518 type: "string"
519 - in: "query"
520 name: "attributes"
521 description: "Filter attributes"
522 required: false
523 type: "array"
524 items:
525 type: "string"
526 - in: "query"
527 name: "offset"
528 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
529 required: false
530 type: "number"
531 - in: "query"
532 name: "limit"
533 description: "Objects limit, per default 20 objects will get returned"
534 required: false
535 type: "number"
536 - in: "query"
537 name: "sort"
538 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
539 required: false
540 type: "string"
541 responses:
542 200:
543 description: "List of objects"
544 403:
545 description: "Access denied"
546 /namespaces/{namespace}/collections/{collection}/endpoints:
547 get:
548 tags:
549 - "endpoints"
550 summary: "Get endpoints"
551 description: "An endpoint is either of type source or destination and defines an import/export destination"
552 operationId: "getEndpoints"
553 produces:
554 - "application/json"
555 parameters:
556 - in: "path"
557 name: "namespace"
558 description: "Namespace name"
559 required: true
560 type: "string"
561 - in: "path"
562 name: "collection"
563 description: "Collection"
564 required: true
565 type: "string"
566 - in: "query"
567 name: "query"
568 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
569 required: false
570 type: "string"
571 - in: "query"
572 name: "attributes"
573 description: "Filter attributes"
574 required: false
575 type: "array"
576 items:
577 type: "string"
578 - in: "query"
579 name: "offset"
580 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
581 required: false
582 type: "number"
583 - in: "query"
584 name: "limit"
585 description: "Objects limit, per default 20 objects will get returned"
586 required: false
587 type: "number"
588 - in: "query"
589 name: "sort"
590 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
591 required: false
592 type: "string"
593 responses:
594 200:
595 description: "List of endpoints"
596 schema:
597 $ref: "#/definitions/Endpoints"
598 404:
599 description: "Resource does not exists"
600 403:
601 description: "Access denied"
602 post:
603 tags:
604 - "endpoints"
605 summary: "Add Endpoint"
606 operationId: "addEndpoint"
607 produces:
608 - "application/json"
609 parameters:
610 - in: "path"
611 name: "namespace"
612 description: "Namespace name"
613 required: true
614 type: "string"
615 - in: "path"
616 name: "collection"
617 description: "Collection"
618 required: true
619 type: "string"
620 - in: body
621 name: data
622 schema:
623 type: object
624 responses:
625 201:
626 description: "If successful the server will respond with 201 Created"
627 schema:
628 $ref: "#/definitions/Endpoint"
629 403:
630 description: "Access denied"
631 404:
632 description: "Resource does not exists"
633 /namespaces/{namespace}/collections/{collection}/endpoints/{endpoint}:
634 get:
635 tags:
636 - "endpoints"
637 summary: "Get specific endpoint"
638 description: "An endpoint is either of type source or destination and defines an import/export destination"
639 operationId: "getEndpoint"
640 produces:
641 - "application/json"
642 parameters:
643 - in: "path"
644 name: "namespace"
645 description: "Namespace name"
646 required: true
647 type: "string"
648 - in: "path"
649 name: "collection"
650 description: "Collection"
651 required: true
652 type: "string"
653 - in: "path"
654 name: "endpoint"
655 description: "Endpoint name"
656 required: true
657 type: "string"
658 - in: "query"
659 name: "attributes"
660 description: "Filter attributes"
661 required: false
662 type: "array"
663 items:
664 type: "string"
665 responses:
666 200:
667 description: "Endpoint"
668 schema:
669 $ref: "#/definitions/Endpoint"
670 404:
671 description: "Resource does not exists"
672 403:
673 description: "Access denied"
674 delete:
675 tags:
676 - "endpoints"
677 summary: "Delete specific endpoint"
678 operationId: "deleteEndpoint"
679 produces:
680 - "application/json"
681 parameters:
682 - in: "path"
683 name: "namespace"
684 description: "Namespace name"
685 required: true
686 type: "string"
687 - in: "path"
688 name: "collection"
689 description: "Collection"
690 required: true
691 type: "string"
692 - in: "path"
693 name: "endpoint"
694 description: "Endpoint name"
695 required: true
696 type: "string"
697 responses:
698 204:
699 description: "If successful the server will respond with 204 No Content"
700 404:
701 description: "Resource does not exists"
702 403:
703 description: "Access denied"
704 put:
705 tags:
706 - "endpoints"
707 summary: "Create or replace endppoint"
708 operationId: "replaceEndpoint"
709 produces:
710 - "application/json"
711 parameters:
712 - in: "path"
713 name: "namespace"
714 description: "Namespace name"
715 required: true
716 type: "string"
717 - in: "path"
718 name: "collection"
719 description: "Collection"
720 required: true
721 type: "string"
722 - in: "path"
723 name: "endpoint"
724 description: "Endpoint name"
725 required: true
726 type: "string"
727 - in: body
728 name: data
729 schema:
730 $ref: "#/definitions/Endpoint"
731 responses:
732 200:
733 description: "If successful the server will respond with 200 OK"
734 schema:
735 $ref: "#/definitions/Endpoint"
736 201:
737 description: "If successful and the object was newly created the server will respond with 201 Created"
738 schema:
739 $ref: "#/definitions/Endpoint"
740 403:
741 description: "Access denied"
742 patch:
743 tags:
744 - "endpoints"
745 summary: "Patch collection as rfc6902 request"
746 description: "Update specific attributes of a endpoint"
747 operationId: "updateEndpoint"
748 produces:
749 - "application/json"
750 parameters:
751 - in: "path"
752 name: "namespace"
753 description: "Namespace name"
754 required: true
755 type: "string"
756 - in: "path"
757 name: "collection"
758 description: "Collection"
759 required: true
760 type: "string"
761 - in: "path"
762 name: "endpoint"
763 description: "Endpoint name"
764 required: true
765 type: "string"
766 - in: body
767 name: data
768 description: "Collection"
769 schema:
770 type: array
771 items:
772 $ref: "#/definitions/JsonPatch"
773 responses:
774 200:
775 description: "Endpoint"
776 schema:
777 $ref: "#/definitions/Endpoint"
778 404:
779 description: "Resource does not exists"
780 403:
781 description: "Access denied"
782 /watch/namespaces/{namespace}/collections/{collection}/endpoints/{endpoint}/workflows:
783 get:
784 tags:
785 - "workflows"
786 summary: "Watch workflows"
787 description: "Watch updates in realtime"
788 operationId: "watchWorkflows"
789 produces:
790 - "application/json;stream=watch"
791 parameters:
792 - in: "path"
793 name: "namespace"
794 description: "Namespace name"
795 required: true
796 type: "string"
797 - in: "path"
798 name: "collection"
799 description: "Collection"
800 required: true
801 type: "string"
802 - in: "path"
803 name: "endpoint"
804 description: "Endpoint name"
805 required: true
806 type: "string"
807 - in: "query"
808 name: "query"
809 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
810 required: false
811 type: "string"
812 - in: "query"
813 name: "attributes"
814 description: "Filter attributes"
815 required: false
816 type: "array"
817 items:
818 type: "string"
819 - in: "query"
820 name: "offset"
821 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
822 required: false
823 type: "number"
824 - in: "query"
825 name: "limit"
826 description: "Objects limit, per default 20 objects will get returned"
827 required: false
828 type: "number"
829 - in: "query"
830 name: "sort"
831 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
832 required: false
833 type: "string"
834 responses:
835 200:
836 description: "List of objects"
837 403:
838 description: "Access denied"
839 /namespaces/{namespace}/collections/{collection}/endpoints/{endpoint}/workflows:
840 get:
841 tags:
842 - "workflows"
843 summary: "Get endpoint workflows"
844 description: "A workflow is an action how to import/export a collection and with what attribute map"
845 operationId: "getWorkflows"
846 produces:
847 - "application/json"
848 parameters:
849 - in: "path"
850 name: "namespace"
851 description: "Namespace name"
852 required: true
853 type: "string"
854 - in: "path"
855 name: "collection"
856 description: "Collection"
857 required: true
858 type: "string"
859 - in: "path"
860 name: "endpoint"
861 description: "Endpoint name"
862 required: true
863 type: "string"
864 - in: "query"
865 name: "query"
866 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
867 required: false
868 type: "string"
869 - in: "query"
870 name: "attributes"
871 description: "Filter attributes"
872 required: false
873 type: "array"
874 items:
875 type: "string"
876 - in: "query"
877 name: "offset"
878 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
879 required: false
880 type: "number"
881 - in: "query"
882 name: "limit"
883 description: "Objects limit, per default 20 objects will get returned"
884 required: false
885 type: "number"
886 - in: "query"
887 name: "sort"
888 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
889 required: false
890 type: "string"
891 responses:
892 200:
893 description: "List of workflows"
894 schema:
895 $ref: "#/definitions/Workflows"
896 403:
897 description: "Access denied"
898 post:
899 tags:
900 - "workflows"
901 summary: "Add worfklow to endpoint"
902 operationId: "addWorkflow"
903 produces:
904 - "application/json"
905 parameters:
906 - in: "path"
907 name: "namespace"
908 description: "Namespace name"
909 required: true
910 type: "string"
911 - in: "path"
912 name: "collection"
913 description: "Collection"
914 required: true
915 type: "string"
916 - in: "path"
917 name: "endpoint"
918 description: "Endpoint name"
919 required: true
920 type: "string"
921 - in: body
922 name: data
923 schema:
924 $ref: "#/definitions/Workflow"
925 responses:
926 201:
927 description: "If successful the server will respond with 201 Created"
928 schema:
929 $ref: "#/definitions/Workflow"
930 403:
931 description: "Access denied"
932 404:
933 description: "Resource does not exists"
934 /namespaces/{namespace}/collections/{collection}/endpoints/{endpoint}/workflows/{workflow}:
935 get:
936 tags:
937 - "workflows"
938 summary: "Get specifc endpoint workflow"
939 description: "A workflow is an action how to import/export a collection and with what attribute map"
940 operationId: "getWorkflow"
941 produces:
942 - "application/json"
943 parameters:
944 - in: "path"
945 name: "namespace"
946 description: "Namespace name"
947 required: true
948 type: "string"
949 - in: "path"
950 name: "collection"
951 description: "Collection"
952 required: true
953 type: "string"
954 - in: "path"
955 name: "endpoint"
956 description: "Endpoint name"
957 required: true
958 type: "string"
959 - in: "path"
960 name: "workflow"
961 description: "Workflow name"
962 required: true
963 type: "string"
964 - in: "query"
965 name: "attributes"
966 description: "Filter attributes"
967 required: false
968 type: "array"
969 items:
970 type: "string"
971 responses:
972 200:
973 description: "Workflow"
974 schema:
975 $ref: "#/definitions/Workflow"
976 404:
977 description: "Resource does not exists"
978 403:
979 description: "Access denied"
980 delete:
981 tags:
982 - "workflows"
983 summary: "Delete specific workflow from"
984 operationId: "deleteWorkflow"
985 produces:
986 - "application/json"
987 parameters:
988 - in: "path"
989 name: "namespace"
990 description: "Namespace name"
991 required: true
992 type: "string"
993 - in: "path"
994 name: "collection"
995 description: "Collection"
996 required: true
997 type: "string"
998 - in: "path"
999 name: "endpoint"
1000 description: "Endpoint name"
1001 required: true
1002 type: "string"
1003 - in: "path"
1004 name: "workflow"
1005 description: "Workflow name"
1006 required: true
1007 type: "string"
1008 responses:
1009 204:
1010 description: "If successful the server will respond with 204 No Content"
1011 404:
1012 description: "Resource does not exists"
1013 403:
1014 description: "Access denied"
1015 put:
1016 tags:
1017 - "workflows"
1018 summary: "Create or replace workflow"
1019 operationId: "replaceWorkflow"
1020 produces:
1021 - "application/json"
1022 parameters:
1023 - in: "path"
1024 name: "namespace"
1025 description: "Namespace name"
1026 required: true
1027 type: "string"
1028 - in: "path"
1029 name: "collection"
1030 description: "Collection"
1031 required: true
1032 type: "string"
1033 - in: "path"
1034 name: "endpoint"
1035 description: "Endpoint name"
1036 required: true
1037 type: "string"
1038 - in: "path"
1039 name: "workflow"
1040 description: "Workflow name"
1041 required: true
1042 type: "string"
1043 - in: body
1044 name: data
1045 schema:
1046 $ref: "#/definitions/Workflow"
1047 responses:
1048 200:
1049 description: "If successful the server will respond with 200 OK"
1050 schema:
1051 $ref: "#/definitions/Workflow"
1052 201:
1053 description: "If successful and the object was newly created the server will respond with 201 Created"
1054 schema:
1055 $ref: "#/definitions/Workflow"
1056 403:
1057 description: "Access denied"
1058 patch:
1059 tags:
1060 - "workflows"
1061 summary: "Patch workflow as rfc6902 request"
1062 description: "Update specific attributes of a workflow"
1063 operationId: "updateWorkflow"
1064 produces:
1065 - "application/json"
1066 parameters:
1067 - in: "path"
1068 name: "namespace"
1069 description: "Namespace name"
1070 required: true
1071 type: "string"
1072 - in: "path"
1073 name: "collection"
1074 description: "Collection"
1075 required: true
1076 type: "string"
1077 - in: "path"
1078 name: "endpoint"
1079 description: "Endpoint name"
1080 required: true
1081 type: "string"
1082 - in: "path"
1083 name: "workflow"
1084 description: "Workflow name"
1085 required: true
1086 type: "string"
1087 - in: body
1088 name: data
1089 description: "Workflow"
1090 schema:
1091 type: array
1092 items:
1093 $ref: "#/definitions/JsonPatch"
1094 responses:
1095 200:
1096 description: "Workflow"
1097 schema:
1098 $ref: "#/definitions/Workflow"
1099 404:
1100 description: "Resource does not exists"
1101 403:
1102 description: "Access denied"
1103 /namespaces/{namespace}/collections/{collection}/objects/{object}:
1104 get:
1105 tags:
1106 - "data"
1107 summary: "Get specific object"
1108 description: "Get an object of a specific collection"
1109 operationId: "getObject"
1110 produces:
1111 - "application/json"
1112 parameters:
1113 - in: "path"
1114 name: "namespace"
1115 description: "Namespace name"
1116 required: true
1117 type: "string"
1118 - in: "path"
1119 name: "collection"
1120 description: "Collection"
1121 required: true
1122 type: "string"
1123 - in: "path"
1124 name: "object"
1125 description: "Object ID"
1126 required: true
1127 type: "string"
1128 - in: "query"
1129 name: "attributes"
1130 description: "Filter attributes"
1131 required: false
1132 type: "array"
1133 items:
1134 type: "string"
1135 responses:
1136 200:
1137 description: "Data object"
1138 404:
1139 description: "Resource does not exists"
1140 403:
1141 description: "Access denied"
1142 patch:
1143 tags:
1144 - "data"
1145 summary: "Patch object as rfc6902 request"
1146 description: "Update specific attributes of an object"
1147 operationId: "updateObject"
1148 consumes:
1149 - "application/json-patch+json"
1150 produces:
1151 - "application/json"
1152 parameters:
1153 - in: "path"
1154 name: "namespace"
1155 description: "Namespace name"
1156 required: true
1157 type: "string"
1158 - in: "path"
1159 name: "collection"
1160 description: "Collection"
1161 required: true
1162 type: "string"
1163 - in: "path"
1164 name: "object"
1165 description: "Object ID"
1166 required: true
1167 type: "string"
1168 - in: body
1169 name: data
1170 description: "Object"
1171 schema:
1172 type: array
1173 items:
1174 $ref: "#/definitions/JsonPatch"
1175 responses:
1176 200:
1177 description: "If successful the server will respond with 200 OK"
1178 schema:
1179 $ref: "#/definitions/DataObject"
1180 202:
1181 description: "If write argument is true the server will respond with 202 Accepted since this is an asynchronous request."
1182 schema:
1183 $ref: "#/definitions/Job"
1184 404:
1185 description: "Resource does not exists"
1186 403:
1187 description: "Access denied"
1188 put:
1189 tags:
1190 - "data"
1191 summary: "Replace or create object"
1192 description: "Replace all data attributes of an object (Or create one if not exists)"
1193 operationId: "replaceObject"
1194 consumes:
1195 - "application/json"
1196 produces:
1197 - "application/json"
1198 parameters:
1199 - in: "path"
1200 name: "namespace"
1201 description: "Namespace name"
1202 required: true
1203 type: "string"
1204 - in: "path"
1205 name: "collection"
1206 description: "Collection"
1207 required: true
1208 type: "string"
1209 - in: "path"
1210 name: "object"
1211 description: "Object ID"
1212 required: true
1213 type: "string"
1214 - in: "query"
1215 name: "write"
1216 description: "If true, the objects gets synced to all configured destination endpoints"
1217 required: false
1218 type: "boolean"
1219 - in: body
1220 name: data
1221 schema:
1222 $ref: "#/definitions/DataObject"
1223 responses:
1224 200:
1225 description: "If successful the server will respond with 200 OK"
1226 schema:
1227 $ref: "#/definitions/DataObject"
1228 201:
1229 description: "If successful and the object was newly created the server will respond with 201 Created"
1230 schema:
1231 $ref: "#/definitions/DataObject"
1232 202:
1233 description: "If write argument is true the server will respond with 202 Accepted since this is an asynchronous request."
1234 schema:
1235 $ref: "#/definitions/Job"
1236 404:
1237 description: "Resource does not exists"
1238 403:
1239 description: "Access denied"
1240 delete:
1241 tags:
1242 - "data"
1243 summary: "Delete object"
1244 description: "Delete a specific object"
1245 operationId: "deleteObject"
1246 consumes:
1247 - "application/json"
1248 produces:
1249 - "application/json"
1250 parameters:
1251 - in: "path"
1252 name: "namespace"
1253 description: "Namespace name"
1254 required: true
1255 type: "string"
1256 - in: "path"
1257 name: "collection"
1258 description: "Collection"
1259 required: true
1260 type: "string"
1261 - in: "path"
1262 name: "object"
1263 description: "Object ID"
1264 required: true
1265 type: "string"
1266 responses:
1267 202:
1268 description: "If write argument is true the server will respond with 202 Accepted since this is an asynchronous request."
1269 schema:
1270 $ref: "#/definitions/Job"
1271 204:
1272 description: "If successful the server will respond with 204 No Content"
1273 404:
1274 description: "Resource does not exists"
1275 403:
1276 description: "Access denied"
1277 /watch/namespaces/{namespace}/collections/{collection}/objects/{object}/relatives:
1278 get:
1279 tags:
1280 - "data"
1281 summary: "Watch object relatives"
1282 description: "Watch updates in realtime"
1283 operationId: "watchObjectRelatives"
1284 produces:
1285 - "application/json;stream=watch"
1286 parameters:
1287 - in: "path"
1288 name: "namespace"
1289 description: "Namespace name"
1290 required: true
1291 type: "string"
1292 - in: "path"
1293 name: "collection"
1294 description: "Collection"
1295 required: true
1296 type: "string"
1297 - in: "path"
1298 name: "object"
1299 description: "Object ID"
1300 required: true
1301 type: "string"
1302 - in: "query"
1303 name: "query"
1304 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
1305 required: false
1306 type: "string"
1307 - in: "query"
1308 name: "attributes"
1309 description: "Filter attributes"
1310 required: false
1311 type: "array"
1312 items:
1313 type: "string"
1314 - in: "query"
1315 name: "offset"
1316 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
1317 required: false
1318 type: "number"
1319 - in: "query"
1320 name: "limit"
1321 description: "Objects limit, per default 20 objects will get returned"
1322 required: false
1323 type: "number"
1324 - in: "query"
1325 name: "sort"
1326 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
1327 required: false
1328 type: "string"
1329 responses:
1330 200:
1331 description: "List of objects"
1332 403:
1333 description: "Access denied"
1334 /namespaces/{namespace}/collections/{collection}/objects/{object}/relatives:
1335 get:
1336 tags:
1337 - "data"
1338 summary: "Get relative objects of an object"
1339 description: "Get all objects the object is related to"
1340 operationId: "getObjectRelatives"
1341 produces:
1342 - "application/json"
1343 parameters:
1344 - in: "path"
1345 name: "namespace"
1346 description: "Namespace name"
1347 required: true
1348 type: "string"
1349 - in: "path"
1350 name: "collection"
1351 description: "Collection"
1352 required: true
1353 type: "string"
1354 - in: "path"
1355 name: "object"
1356 description: "Object ID"
1357 required: true
1358 type: "string"
1359 - in: "query"
1360 name: "query"
1361 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
1362 required: false
1363 type: "string"
1364 - in: "query"
1365 name: "attributes"
1366 description: "Filter attributes"
1367 required: false
1368 type: "array"
1369 items:
1370 type: "string"
1371 - in: "query"
1372 name: "offset"
1373 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
1374 required: false
1375 type: "number"
1376 - in: "query"
1377 name: "limit"
1378 description: "Objects limit, per default 20 objects will get returned"
1379 required: false
1380 type: "number"
1381 - in: "query"
1382 name: "sort"
1383 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
1384 required: false
1385 type: "string"
1386 responses:
1387 200:
1388 description: "Object relatives"
1389 schema:
1390 $ref: "#/definitions/ObjectRelatives"
1391 403:
1392 description: "Access denied"
1393 404:
1394 description: "Resource not found"
1395 post:
1396 tags:
1397 - "data"
1398 summary: "Add new object relation to an object"
1399 operationId: "addObjectRelative"
1400 produces:
1401 - "application/json"
1402 parameters:
1403 - in: "path"
1404 name: "namespace"
1405 description: "Namespace name"
1406 required: true
1407 type: "string"
1408 - in: "path"
1409 name: "collection"
1410 description: "Collection"
1411 required: true
1412 type: "string"
1413 - in: "path"
1414 name: "object"
1415 description: "Object ID"
1416 required: true
1417 type: "string"
1418 - in: body
1419 name: data
1420 schema:
1421 $ref: "#/definitions/ObjectRelative"
1422 responses:
1423 200:
1424 description: "Object relative"
1425 schema:
1426 $ref: "#/definitions/ObjectRelative"
1427 403:
1428 description: "Access denied"
1429 404:
1430 description: "Resource not found"
1431 /namespaces/{namespace}/collections/{collection}/objects/{object}/relatives/{relative}:
1432 get:
1433 tags:
1434 - "data"
1435 summary: "Get single relative object of an object"
1436 operationId: "getObjectRelative"
1437 produces:
1438 - "application/json"
1439 parameters:
1440 - in: "path"
1441 name: "namespace"
1442 description: "Namespace name"
1443 required: true
1444 type: "string"
1445 - in: "path"
1446 name: "collection"
1447 description: "Collection"
1448 required: true
1449 type: "string"
1450 - in: "path"
1451 name: "object"
1452 description: "Object ID"
1453 required: true
1454 type: "string"
1455 - in: "path"
1456 name: "relative"
1457 description: "Object ID"
1458 required: true
1459 type: "string"
1460 responses:
1461 200:
1462 description: "Object relative"
1463 schema:
1464 $ref: "#/definitions/ObjectRelative"
1465 403:
1466 description: "Access denied"
1467 404:
1468 description: "Resource not found"
1469 put:
1470 tags:
1471 - "data"
1472 summary: "Update object relation"
1473 operationId: "updateObjectRelative"
1474 produces:
1475 - "application/json"
1476 parameters:
1477 - in: "path"
1478 name: "namespace"
1479 description: "Namespace name"
1480 required: true
1481 type: "string"
1482 - in: "path"
1483 name: "collection"
1484 description: "Collection"
1485 required: true
1486 type: "string"
1487 - in: "path"
1488 name: "object"
1489 description: "Object ID"
1490 required: true
1491 type: "string"
1492 - in: "path"
1493 name: "relative"
1494 description: "Object ID"
1495 required: true
1496 type: "string"
1497 - in: body
1498 name: data
1499 schema:
1500 $ref: "#/definitions/ObjectRelative"
1501 responses:
1502 200:
1503 description: "Object relative"
1504 schema:
1505 $ref: "#/definitions/ObjectRelative"
1506 403:
1507 description: "Access denied"
1508 404:
1509 description: "Resource not found"
1510 delete:
1511 tags:
1512 - "data"
1513 summary: "Delete object relation"
1514 operationId: "deleteObjectRelative"
1515 produces:
1516 - "application/json"
1517 parameters:
1518 - in: "path"
1519 name: "namespace"
1520 description: "Namespace name"
1521 required: true
1522 type: "string"
1523 - in: "path"
1524 name: "collection"
1525 description: "Collection"
1526 required: true
1527 type: "string"
1528 - in: "path"
1529 name: "object"
1530 description: "Object ID"
1531 required: true
1532 type: "string"
1533 - in: "path"
1534 name: "relative"
1535 description: "Object ID"
1536 required: true
1537 type: "string"
1538 responses:
1539 204:
1540 description: "No body if successfully deleted"
1541 403:
1542 description: "Access denied"
1543 404:
1544 description: "Resource not found"
1545 /namespaces/{namespace}/collections/{collection}/endpoints/{endpoint}/objects:
1546 get:
1547 tags:
1548 - "data"
1549 summary: "Get objects from endpoint"
1550 description: "An endpoint is either of type source or destination and defines an import/export destination"
1551 operationId: "getEndpointObjects"
1552 produces:
1553 - "application/json"
1554 parameters:
1555 - in: "path"
1556 name: "namespace"
1557 description: "Namespace name"
1558 required: true
1559 type: "string"
1560 - in: "path"
1561 name: "collection"
1562 description: "Collection"
1563 required: true
1564 type: "string"
1565 - in: "path"
1566 name: "endpoint"
1567 description: "Endpoint"
1568 required: true
1569 type: "string"
1570 - in: "query"
1571 name: "query"
1572 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
1573 required: false
1574 type: "string"
1575 - in: "query"
1576 name: "attributes"
1577 description: "Filter attributes"
1578 required: false
1579 type: "array"
1580 items:
1581 type: "string"
1582 - in: "query"
1583 name: "offset"
1584 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
1585 required: false
1586 type: "number"
1587 - in: "query"
1588 name: "limit"
1589 description: "Objects limit, per default 20 objects will get returned"
1590 required: false
1591 type: "number"
1592 - in: "query"
1593 name: "sort"
1594 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
1595 required: false
1596 type: "string"
1597 responses:
1598 200:
1599 description: "List of objects"
1600 schema:
1601 $ref: "#/definitions/EndpointObjects"
1602 404:
1603 description: "Resource does not exists"
1604 403:
1605 description: "Access denied"
1606 /namespaces/{namespace}/collections/{collection}/objects/{object}/history:
1607 get:
1608 tags:
1609 - "data"
1610 summary: "Get object history"
1611 description: "Get the history of all modifications from a specific object"
1612 operationId: "getObjectHistory"
1613 produces:
1614 - "application/json"
1615 parameters:
1616 - in: "path"
1617 name: "namespace"
1618 description: "Namespace name"
1619 required: true
1620 type: "string"
1621 - in: "path"
1622 name: "collection"
1623 description: "Collection"
1624 required: true
1625 type: "string"
1626 - in: "path"
1627 name: "object"
1628 description: "Object ID"
1629 required: true
1630 type: "string"
1631 - in: "query"
1632 name: "query"
1633 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
1634 required: false
1635 type: "string"
1636 - in: "query"
1637 name: "attributes"
1638 description: "Filter attributes"
1639 required: false
1640 type: "array"
1641 items:
1642 type: "string"
1643 - in: "query"
1644 name: "offset"
1645 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
1646 required: false
1647 type: "number"
1648 - in: "query"
1649 name: "limit"
1650 description: "Objects limit, per default 20 objects will get returned"
1651 required: false
1652 type: "number"
1653 - in: "query"
1654 name: "sort"
1655 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
1656 required: false
1657 type: "string"
1658 responses:
1659 200:
1660 description: "Object history"
1661 schema:
1662 $ref: "#/definitions/DataObjects"
1663 404:
1664 description: "Resource does not exists"
1665 403:
1666 description: "Access denied"
1667 /watch/namespaces/{namespace}/collections/{collection}/objects:
1668 get:
1669 tags:
1670 - "data"
1671 summary: "Watch objects"
1672 description: "Watch updates in realtime"
1673 operationId: "watchObjects"
1674 produces:
1675 - "application/json;stream=watch"
1676 parameters:
1677 - in: "path"
1678 name: "namespace"
1679 description: "Namespace name"
1680 required: true
1681 type: "string"
1682 - in: "path"
1683 name: "collection"
1684 description: "Collection"
1685 required: true
1686 type: "string"
1687 - in: "query"
1688 name: "query"
1689 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
1690 required: false
1691 type: "string"
1692 - in: "query"
1693 name: "attributes"
1694 description: "Filter attributes"
1695 required: false
1696 type: "array"
1697 items:
1698 type: "string"
1699 - in: "query"
1700 name: "offset"
1701 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
1702 required: false
1703 type: "number"
1704 - in: "query"
1705 name: "limit"
1706 description: "Objects limit, per default 20 objects will get returned"
1707 required: false
1708 type: "number"
1709 - in: "query"
1710 name: "sort"
1711 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
1712 required: false
1713 type: "string"
1714 responses:
1715 200:
1716 description: "List of objects"
1717 403:
1718 description: "Access denied"
1719 /namespaces/{namespace}/collections/{collection}/objects:
1720 get:
1721 tags:
1722 - "data"
1723 summary: "Get objects of a specific collection"
1724 description: "A object is a data object from a specifc collection"
1725 operationId: "getObjects"
1726 produces:
1727 - "application/json"
1728 parameters:
1729 - in: "path"
1730 name: "namespace"
1731 description: "Namespace name"
1732 required: true
1733 type: "string"
1734 - in: "path"
1735 name: "collection"
1736 description: "Collection"
1737 required: true
1738 type: "string"
1739 - in: "query"
1740 name: "query"
1741 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
1742 required: false
1743 type: "string"
1744 - in: "query"
1745 name: "attributes"
1746 description: "Filter attributes"
1747 required: false
1748 type: "array"
1749 items:
1750 type: "string"
1751 - in: "query"
1752 name: "offset"
1753 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
1754 required: false
1755 type: "number"
1756 - in: "query"
1757 name: "limit"
1758 description: "Objects limit, per default 20 objects will get returned"
1759 required: false
1760 type: "number"
1761 - in: "query"
1762 name: "sort"
1763 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
1764 required: false
1765 type: "string"
1766 responses:
1767 200:
1768 description: "List of objects"
1769 schema:
1770 $ref: "#/definitions/DataObjects"
1771 404:
1772 description: "Resource does not exists"
1773 403:
1774 description: "Access denied"
1775 post:
1776 tags:
1777 - "data"
1778 summary: "Add a new object of a specifc collection"
1779 operationId: "addObject"
1780 consumes:
1781 - "application/json"
1782 produces:
1783 - "application/json"
1784 parameters:
1785 - in: "path"
1786 name: "namespace"
1787 description: "Namespace name"
1788 required: true
1789 type: "string"
1790 - in: "path"
1791 name: "collection"
1792 description: "Collection"
1793 required: true
1794 type: "string"
1795 - in: body
1796 name: data
1797 schema:
1798 $ref: "#/definitions/DataObject"
1799 responses:
1800 201:
1801 description: "If successful the server will respond with 201 Created"
1802 schema:
1803 $ref: "#/definitions/DataObject"
1804 202:
1805 description: "If write argument is true the server will respond with 202 Accepted since this is an asynchronous request."
1806 schema:
1807 $ref: "#/definitions/Job"
1808 404:
1809 description: "Resource does not exists"
1810 403:
1811 description: "Access denied"
1812 /watch/secrets:
1813 get:
1814 tags:
1815 - "secrets"
1816 summary: "Watch secrets"
1817 description: "Watch updates in realtime"
1818 operationId: "watchSecrets"
1819 produces:
1820 - "application/json;stream=watch"
1821 parameters:
1822 - in: "query"
1823 name: "query"
1824 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
1825 required: false
1826 type: "string"
1827 - in: "query"
1828 name: "attributes"
1829 description: "Filter attributes"
1830 required: false
1831 type: "array"
1832 items:
1833 type: "string"
1834 - in: "query"
1835 name: "offset"
1836 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
1837 required: false
1838 type: "number"
1839 - in: "query"
1840 name: "limit"
1841 description: "Objects limit, per default 20 objects will get returned"
1842 required: false
1843 type: "number"
1844 - in: "query"
1845 name: "sort"
1846 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
1847 required: false
1848 type: "string"
1849 responses:
1850 200:
1851 description: "List of secrets"
1852 403:
1853 description: "Access denied"
1854 /secrets:
1855 get:
1856 tags:
1857 - "secrets"
1858 summary: "Get secrets"
1859 description: "An secret defines what role is granted access to what resource"
1860 operationId: "getSecrets"
1861 produces:
1862 - "application/json"
1863 parameters:
1864 - in: "query"
1865 name: "query"
1866 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
1867 required: false
1868 type: "string"
1869 - in: "query"
1870 name: "attributes"
1871 description: "Filter attributes"
1872 required: false
1873 type: "array"
1874 items:
1875 type: "string"
1876 - in: "query"
1877 name: "offset"
1878 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
1879 required: false
1880 type: "number"
1881 - in: "query"
1882 name: "limit"
1883 description: "Objects limit, per default 20 objects will get returned"
1884 required: false
1885 type: "number"
1886 - in: "query"
1887 name: "sort"
1888 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
1889 required: false
1890 type: "string"
1891 responses:
1892 200:
1893 description: "List of secrets"
1894 schema:
1895 $ref: "#/definitions/Secrets"
1896 403:
1897 description: "Access denied"
1898 post:
1899 tags:
1900 - "secrets"
1901 summary: "Create a new secret"
1902 operationId: "addSecret"
1903 produces:
1904 - "application/json"
1905 parameters:
1906 - in: body
1907 name: data
1908 schema:
1909 $ref: "#/definitions/Secret"
1910 responses:
1911 201:
1912 description: "The created secret"
1913 schema:
1914 $ref: "#/definitions/Secret"
1915 403:
1916 description: "Access denied"
1917 /secrets/{secret}:
1918 get:
1919 tags:
1920 - "secrets"
1921 summary: "Get secret by name"
1922 operationId: "getSecret"
1923 produces:
1924 - "application/json"
1925 parameters:
1926 - in: "path"
1927 name: "secret"
1928 description: "secret name"
1929 required: true
1930 type: "string"
1931 responses:
1932 200:
1933 description: "secret"
1934 schema:
1935 $ref: "#/definitions/Secret"
1936 404:
1937 description: "secret does not exists"
1938 403:
1939 description: "Access denied"
1940 patch:
1941 tags:
1942 - "secrets"
1943 summary: "Patch secret as rfc6902 request"
1944 operationId: "updateSecret"
1945 consumes:
1946 - "application/json-patch+json"
1947 produces:
1948 - "application/json"
1949 parameters:
1950 - in: "path"
1951 name: "secret"
1952 description: "secret name"
1953 required: true
1954 type: "string"
1955 - in: body
1956 name: "job"
1957 description: "secret json patch"
1958 schema:
1959 type: array
1960 items:
1961 $ref: "#/definitions/JsonPatch"
1962 responses:
1963 200:
1964 description: "The updated secret"
1965 schema:
1966 $ref: "#/definitions/Secret"
1967 403:
1968 description: "Access denied"
1969 put:
1970 tags:
1971 - "secrets"
1972 summary: "Create or replace an secret"
1973 operationId: "replaceSecret"
1974 produces:
1975 - "application/json"
1976 parameters:
1977 - in: "path"
1978 name: "secret"
1979 description: "secret name"
1980 required: true
1981 type: "string"
1982 - in: body
1983 name: data
1984 schema:
1985 $ref: "#/definitions/Secret"
1986 responses:
1987 201:
1988 description: "The created secret"
1989 schema:
1990 $ref: "#/definitions/Secret"
1991 403:
1992 description: "Access denied"
1993 delete:
1994 tags:
1995 - "secrets"
1996 summary: "Delete secret by name"
1997 operationId: "deleteSecret"
1998 produces:
1999 - "application/json"
2000 parameters:
2001 - in: "path"
2002 name: "secret"
2003 description: "secret name"
2004 required: true
2005 type: "string"
2006 responses:
2007 204:
2008 description: "Server responds with 204 No Content if secret removal was successful"
2009 404:
2010 description: "secret does not exists"
2011 403:
2012 description: "Access denied"
2013 /watch/users:
2014 get:
2015 tags:
2016 - "users"
2017 summary: "Watch users"
2018 description: "Watch updates in realtime"
2019 operationId: "watchUsers"
2020 produces:
2021 - "application/json;stream=watch"
2022 parameters:
2023 - in: "query"
2024 name: "query"
2025 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
2026 required: false
2027 type: "string"
2028 - in: "query"
2029 name: "attributes"
2030 description: "Filter attributes"
2031 required: false
2032 type: "array"
2033 items:
2034 type: "string"
2035 - in: "query"
2036 name: "offset"
2037 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
2038 required: false
2039 type: "number"
2040 - in: "query"
2041 name: "limit"
2042 description: "Objects limit, per default 20 objects will get returned"
2043 required: false
2044 type: "number"
2045 - in: "query"
2046 name: "sort"
2047 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
2048 required: false
2049 type: "string"
2050 responses:
2051 200:
2052 description: "List of users"
2053 403:
2054 description: "Access denied"
2055 /users:
2056 get:
2057 tags:
2058 - "users"
2059 summary: "Get users"
2060 description: "An User defines what role is granted access to what resource"
2061 operationId: "getUsers"
2062 produces:
2063 - "application/json"
2064 parameters:
2065 - in: "query"
2066 name: "query"
2067 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
2068 required: false
2069 type: "string"
2070 - in: "query"
2071 name: "attributes"
2072 description: "Filter attributes"
2073 required: false
2074 type: "array"
2075 items:
2076 type: "string"
2077 - in: "query"
2078 name: "offset"
2079 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
2080 required: false
2081 type: "number"
2082 - in: "query"
2083 name: "limit"
2084 description: "Objects limit, per default 20 objects will get returned"
2085 required: false
2086 type: "number"
2087 - in: "query"
2088 name: "sort"
2089 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
2090 required: false
2091 type: "string"
2092 responses:
2093 200:
2094 description: "List of users"
2095 schema:
2096 $ref: "#/definitions/Users"
2097 403:
2098 description: "Access denied"
2099 post:
2100 tags:
2101 - "users"
2102 summary: "Create a new User"
2103 operationId: "addUser"
2104 produces:
2105 - "application/json"
2106 parameters:
2107 - in: body
2108 name: data
2109 schema:
2110 $ref: "#/definitions/User"
2111 responses:
2112 201:
2113 description: "The created User"
2114 schema:
2115 $ref: "#/definitions/User"
2116 403:
2117 description: "Access denied"
2118 /users/{User}:
2119 get:
2120 tags:
2121 - "users"
2122 summary: "Get User by name"
2123 operationId: "getUser"
2124 produces:
2125 - "application/json"
2126 parameters:
2127 - in: "path"
2128 name: "User"
2129 description: "User name"
2130 required: true
2131 type: "string"
2132 responses:
2133 200:
2134 description: "User"
2135 schema:
2136 $ref: "#/definitions/User"
2137 404:
2138 description: "User does not exists"
2139 403:
2140 description: "Access denied"
2141 patch:
2142 tags:
2143 - "users"
2144 summary: "Patch User as rfc6902 request"
2145 operationId: "updateUser"
2146 consumes:
2147 - "application/json-patch+json"
2148 produces:
2149 - "application/json"
2150 parameters:
2151 - in: "path"
2152 name: "User"
2153 description: "User name"
2154 required: true
2155 type: "string"
2156 - in: body
2157 name: "job"
2158 description: "User json patch"
2159 schema:
2160 type: array
2161 items:
2162 $ref: "#/definitions/JsonPatch"
2163 responses:
2164 200:
2165 description: "The updated User"
2166 schema:
2167 $ref: "#/definitions/User"
2168 403:
2169 description: "Access denied"
2170 put:
2171 tags:
2172 - "users"
2173 summary: "Create or replace an User"
2174 operationId: "replaceUser"
2175 produces:
2176 - "application/json"
2177 parameters:
2178 - in: "path"
2179 name: "User"
2180 description: "User name"
2181 required: true
2182 type: "string"
2183 - in: body
2184 name: data
2185 schema:
2186 $ref: "#/definitions/User"
2187 responses:
2188 201:
2189 description: "The created User"
2190 schema:
2191 $ref: "#/definitions/User"
2192 403:
2193 description: "Access denied"
2194 delete:
2195 tags:
2196 - "users"
2197 summary: "Delete User by name"
2198 operationId: "deleteUser"
2199 produces:
2200 - "application/json"
2201 parameters:
2202 - in: "path"
2203 name: "User"
2204 description: "User name"
2205 required: true
2206 type: "string"
2207 responses:
2208 204:
2209 description: "Server responds with 204 No Content if User removal was successful"
2210 404:
2211 description: "User does not exists"
2212 403:
2213 description: "Access denied"
2214 /watch/access-rules:
2215 get:
2216 tags:
2217 - "access-rules"
2218 summary: "Watch access rules"
2219 description: "Watch updates in realtime"
2220 operationId: "watchAccessRules"
2221 produces:
2222 - "application/json;stream=watch"
2223 parameters:
2224 - in: "query"
2225 name: "query"
2226 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
2227 required: false
2228 type: "string"
2229 - in: "query"
2230 name: "attributes"
2231 description: "Filter attributes"
2232 required: false
2233 type: "array"
2234 items:
2235 type: "string"
2236 - in: "query"
2237 name: "offset"
2238 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
2239 required: false
2240 type: "number"
2241 - in: "query"
2242 name: "limit"
2243 description: "Objects limit, per default 20 objects will get returned"
2244 required: false
2245 type: "number"
2246 - in: "query"
2247 name: "sort"
2248 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
2249 required: false
2250 type: "string"
2251 responses:
2252 200:
2253 description: "List of access rules"
2254 403:
2255 description: "Access denied"
2256 /access-rules:
2257 get:
2258 tags:
2259 - "access-rules"
2260 summary: "Get access rules"
2261 description: "An access rule defines what role is granted access to what resource"
2262 operationId: "getAccessRules"
2263 produces:
2264 - "application/json"
2265 parameters:
2266 - in: "query"
2267 name: "query"
2268 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
2269 required: false
2270 type: "string"
2271 - in: "query"
2272 name: "attributes"
2273 description: "Filter attributes"
2274 required: false
2275 type: "array"
2276 items:
2277 type: "string"
2278 - in: "query"
2279 name: "offset"
2280 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
2281 required: false
2282 type: "number"
2283 - in: "query"
2284 name: "limit"
2285 description: "Objects limit, per default 20 objects will get returned"
2286 required: false
2287 type: "number"
2288 - in: "query"
2289 name: "sort"
2290 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
2291 required: false
2292 type: "string"
2293 responses:
2294 200:
2295 description: "List of access rules"
2296 schema:
2297 $ref: "#/definitions/AccessRules"
2298 403:
2299 description: "Access denied"
2300 post:
2301 tags:
2302 - "access-rules"
2303 summary: "Create a new access rule"
2304 operationId: "addAccessRule"
2305 produces:
2306 - "application/json"
2307 parameters:
2308 - in: body
2309 name: data
2310 schema:
2311 $ref: "#/definitions/AccessRule"
2312 responses:
2313 201:
2314 description: "The created access rule"
2315 schema:
2316 $ref: "#/definitions/AccessRule"
2317 403:
2318 description: "Access denied"
2319 /access-rules/{access-rule}:
2320 get:
2321 tags:
2322 - "access-rules"
2323 summary: "Get access rule by name"
2324 operationId: "getAccessRule"
2325 produces:
2326 - "application/json"
2327 parameters:
2328 - in: "path"
2329 name: "access-rule"
2330 description: "Access rule name"
2331 required: true
2332 type: "string"
2333 responses:
2334 200:
2335 description: "Acccess rule"
2336 schema:
2337 $ref: "#/definitions/AccessRule"
2338 404:
2339 description: "access rule does not exists"
2340 403:
2341 description: "Access denied"
2342 patch:
2343 tags:
2344 - "access-rules"
2345 summary: "Patch access rule as rfc6902 request"
2346 operationId: "updateAccessRule"
2347 consumes:
2348 - "application/json-patch+json"
2349 produces:
2350 - "application/json"
2351 parameters:
2352 - in: "path"
2353 name: "access-rule"
2354 description: "Access rule name"
2355 required: true
2356 type: "string"
2357 - in: body
2358 name: "job"
2359 description: "Access rule json patch"
2360 schema:
2361 type: array
2362 items:
2363 $ref: "#/definitions/JsonPatch"
2364 responses:
2365 200:
2366 description: "The updated access rule"
2367 schema:
2368 $ref: "#/definitions/AccessRule"
2369 403:
2370 description: "Access denied"
2371 put:
2372 tags:
2373 - "access-rules"
2374 summary: "Create or replace an access rule"
2375 operationId: "replaceAccessRule"
2376 produces:
2377 - "application/json"
2378 parameters:
2379 - in: "path"
2380 name: "access-rule"
2381 description: "Access rule name"
2382 required: true
2383 type: "string"
2384 - in: body
2385 name: data
2386 schema:
2387 $ref: "#/definitions/AccessRule"
2388 responses:
2389 201:
2390 description: "The created access rule"
2391 schema:
2392 $ref: "#/definitions/AccessRule"
2393 403:
2394 description: "Access denied"
2395 delete:
2396 tags:
2397 - "access-rules"
2398 summary: "Delete access-rule by name"
2399 operationId: "deleteAccessRule"
2400 produces:
2401 - "application/json"
2402 parameters:
2403 - in: "path"
2404 name: "access-rule"
2405 description: "Access rule name"
2406 required: true
2407 type: "string"
2408 responses:
2409 204:
2410 description: "Server responds with 204 No Content if access rule removal was successful"
2411 404:
2412 description: "Access rule does not exists"
2413 403:
2414 description: "Access denied"
2415 /watch/access-roles:
2416 get:
2417 tags:
2418 - "access-roles"
2419 summary: "Watch access roles"
2420 description: "Watch updates in realtime"
2421 operationId: "watchAccessRoles"
2422 produces:
2423 - "application/json;stream=watch"
2424 parameters:
2425 - in: "query"
2426 name: "query"
2427 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
2428 required: false
2429 type: "string"
2430 - in: "query"
2431 name: "attributes"
2432 description: "Filter attributes"
2433 required: false
2434 type: "array"
2435 items:
2436 type: "string"
2437 - in: "query"
2438 name: "offset"
2439 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
2440 required: false
2441 type: "number"
2442 - in: "query"
2443 name: "limit"
2444 description: "Objects limit, per default 20 objects will get returned"
2445 required: false
2446 type: "number"
2447 - in: "query"
2448 name: "sort"
2449 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
2450 required: false
2451 type: "string"
2452 responses:
2453 200:
2454 description: "List of access roles"
2455 403:
2456 description: "Access denied"
2457 /access-roles:
2458 get:
2459 tags:
2460 - "access-roles"
2461 summary: "Get access roles"
2462 description: "An access role defines what role is granted access to what resource"
2463 operationId: "getAccessRoles"
2464 produces:
2465 - "application/json"
2466 parameters:
2467 - in: "query"
2468 name: "query"
2469 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
2470 required: false
2471 type: "string"
2472 - in: "query"
2473 name: "attributes"
2474 description: "Filter attributes"
2475 required: false
2476 type: "array"
2477 items:
2478 type: "string"
2479 - in: "query"
2480 name: "offset"
2481 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
2482 required: false
2483 type: "number"
2484 - in: "query"
2485 name: "limit"
2486 description: "Objects limit, per default 20 objects will get returned"
2487 required: false
2488 type: "number"
2489 - in: "query"
2490 name: "sort"
2491 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
2492 required: false
2493 type: "string"
2494 responses:
2495 200:
2496 description: "List of access roles"
2497 schema:
2498 $ref: "#/definitions/AccessRoles"
2499 403:
2500 description: "Access denied"
2501 post:
2502 tags:
2503 - "access-roles"
2504 summary: "Create a new access role"
2505 operationId: "addAccessRole"
2506 produces:
2507 - "application/json"
2508 parameters:
2509 - in: body
2510 name: data
2511 schema:
2512 $ref: "#/definitions/AccessRole"
2513 responses:
2514 201:
2515 description: "The created access role"
2516 schema:
2517 $ref: "#/definitions/AccessRole"
2518 403:
2519 description: "Access denied"
2520 /access-roles/{access-role}:
2521 get:
2522 tags:
2523 - "access-roles"
2524 summary: "Get access role by name"
2525 operationId: "getAccessRole"
2526 produces:
2527 - "application/json"
2528 parameters:
2529 - in: "path"
2530 name: "access-role"
2531 description: "Access role name"
2532 required: true
2533 type: "string"
2534 responses:
2535 200:
2536 description: "Acccess role"
2537 schema:
2538 $ref: "#/definitions/AccessRole"
2539 404:
2540 description: "access role does not exists"
2541 403:
2542 description: "Access denied"
2543 patch:
2544 tags:
2545 - "access-roles"
2546 summary: "Patch access role as rfc6902 request"
2547 operationId: "updateAccessRole"
2548 consumes:
2549 - "application/json-patch+json"
2550 produces:
2551 - "application/json"
2552 parameters:
2553 - in: "path"
2554 name: "access-role"
2555 description: "Access role name"
2556 required: true
2557 type: "string"
2558 - in: body
2559 name: "job"
2560 description: "Access role json patch"
2561 schema:
2562 type: array
2563 items:
2564 $ref: "#/definitions/JsonPatch"
2565 responses:
2566 200:
2567 description: "The updated access role"
2568 schema:
2569 $ref: "#/definitions/AccessRole"
2570 403:
2571 description: "Access denied"
2572 put:
2573 tags:
2574 - "access-roles"
2575 summary: "Create or replace an access role"
2576 operationId: "replaceAccessRole"
2577 consumes:
2578 - "application/json"
2579 produces:
2580 - "application/json"
2581 parameters:
2582 - in: "path"
2583 name: "access-role"
2584 description: "Access role name"
2585 required: true
2586 type: "string"
2587 - in: body
2588 name: data
2589 schema:
2590 $ref: "#/definitions/AccessRole"
2591 responses:
2592 200:
2593 description: "The updated access role"
2594 schema:
2595 $ref: "#/definitions/AccessRole"
2596 201:
2597 description: "The created access role if it did not exists yet"
2598 schema:
2599 $ref: "#/definitions/AccessRole"
2600 403:
2601 description: "Access denied"
2602 delete:
2603 tags:
2604 - "access-roles"
2605 summary: "Delete access-role by name"
2606 operationId: "deleteAccessRole"
2607 produces:
2608 - "application/json"
2609 parameters:
2610 - in: "path"
2611 name: "access-role"
2612 description: "Access role name"
2613 required: true
2614 type: "string"
2615 responses:
2616 204:
2617 description: "Server responds with 204 No Content if access role removal was successful"
2618 404:
2619 description: "Access role does not exists"
2620 403:
2621 description: "Access denied"
2622 /watch/jobs:
2623 get:
2624 tags:
2625 - "jobs"
2626 summary: "Get realtime updates"
2627 description: "A job is an asynchronous server process"
2628 operationId: "watchJobs"
2629 produces:
2630 - "application/json"
2631 parameters:
2632 - in: "query"
2633 name: "query"
2634 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
2635 required: false
2636 type: "string"
2637 - in: "query"
2638 name: "attributes"
2639 description: "Filter attributes"
2640 required: false
2641 type: "array"
2642 items:
2643 type: "string"
2644 - in: "query"
2645 name: "offset"
2646 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
2647 required: false
2648 type: "number"
2649 - in: "query"
2650 name: "limit"
2651 description: "Objects limit, per default 20 objects will get returned"
2652 required: false
2653 type: "number"
2654 - in: "query"
2655 name: "sort"
2656 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
2657 required: false
2658 type: "string"
2659 responses:
2660 200:
2661 description: "List of active jobs"
2662 403:
2663 description: "Access denied"
2664 /jobs:
2665 get:
2666 tags:
2667 - "jobs"
2668 summary: "Get list of active queued jobs"
2669 description: "A job is an asynchronous server process"
2670 operationId: "getJobs"
2671 produces:
2672 - "application/json"
2673 parameters:
2674 - in: "query"
2675 name: "query"
2676 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
2677 required: false
2678 type: "string"
2679 - in: "query"
2680 name: "attributes"
2681 description: "Filter attributes"
2682 required: false
2683 type: "array"
2684 items:
2685 type: "string"
2686 - in: "query"
2687 name: "offset"
2688 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
2689 required: false
2690 type: "number"
2691 - in: "query"
2692 name: "limit"
2693 description: "Objects limit, per default 20 objects will get returned"
2694 required: false
2695 type: "number"
2696 - in: "query"
2697 name: "sort"
2698 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
2699 required: false
2700 type: "string"
2701 responses:
2702 200:
2703 description: "List of active jobs"
2704 schema:
2705 $ref: "#/definitions/Jobs"
2706 403:
2707 description: "Access denied"
2708 post:
2709 tags:
2710 - "jobs"
2711 summary: "Create new job"
2712 operationId: "addJob"
2713 produces:
2714 - "application/json"
2715 parameters:
2716 - in: body
2717 name: data
2718 schema:
2719 $ref: "#/definitions/Job"
2720 responses:
2721 202:
2722 description: "The created job"
2723 schema:
2724 $ref: "#/definitions/Job"
2725 404:
2726 description: "Resource does not exists"
2727 403:
2728 description: "Access denied"
2729 /jobs/{job}:
2730 get:
2731 tags:
2732 - "jobs"
2733 summary: "Get job by id"
2734 operationId: "getJob"
2735 produces:
2736 - "application/json"
2737 parameters:
2738 - in: "path"
2739 name: "job"
2740 description: "Job ID"
2741 required: true
2742 type: "string"
2743 responses:
2744 200:
2745 description: "Job"
2746 schema:
2747 $ref: "#/definitions/Job"
2748 404:
2749 description: "Job does not exists"
2750 403:
2751 description: "Access denied"
2752 delete:
2753 tags:
2754 - "jobs"
2755 summary: "Delete job by id"
2756 operationId: "deleteJob"
2757 produces:
2758 - "application/json"
2759 parameters:
2760 - in: "path"
2761 name: "job"
2762 description: "Job ID"
2763 required: true
2764 type: "string"
2765 responses:
2766 204:
2767 description: "Server responds with 204 No Content if job removal was successful"
2768 404:
2769 description: "Job does not exists"
2770 403:
2771 description: "Access denied"
2772 patch:
2773 tags:
2774 - "jobs"
2775 summary: "Patch job as rfc6902 request"
2776 description: "Update specific attributes of a job"
2777 operationId: "updateJob"
2778 consumes:
2779 - "application/json-patch+json"
2780 produces:
2781 - "application/json"
2782 parameters:
2783 - in: "path"
2784 name: "job"
2785 description: "Job ID"
2786 required: true
2787 type: "string"
2788 - in: body
2789 name: data
2790 description: "Object"
2791 schema:
2792 type: array
2793 items:
2794 $ref: "#/definitions/JsonPatch"
2795 responses:
2796 200:
2797 description: "If successful the server will respond with 200 OK"
2798 schema:
2799 $ref: "#/definitions/Job"
2800 404:
2801 description: "Resource does not exists"
2802 403:
2803 description: "Access denied"
2804 /processes:
2805 get:
2806 tags:
2807 - "jobs"
2808 summary: "Get all processes"
2809 operationId: "getProcesses"
2810 produces:
2811 - "application/json"
2812 parameters:
2813 - in: "query"
2814 name: "query"
2815 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
2816 required: false
2817 type: "string"
2818 - in: "query"
2819 name: "attributes"
2820 description: "Filter attributes"
2821 required: false
2822 type: "array"
2823 items:
2824 type: "string"
2825 - in: "query"
2826 name: "offset"
2827 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
2828 required: false
2829 type: "number"
2830 - in: "query"
2831 name: "limit"
2832 description: "Objects limit, per default 20 objects will get returned"
2833 required: false
2834 type: "number"
2835 - in: "query"
2836 name: "sort"
2837 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
2838 required: false
2839 type: "string"
2840 responses:
2841 200:
2842 description: "Process"
2843 schema:
2844 $ref: "#/definitions/Processes"
2845 404:
2846 description: "Job does not exists"
2847 403:
2848 description: "Access denied"
2849 post:
2850 tags:
2851 - "jobs"
2852 summary: "Trigger a new process"
2853 operationId: "addProcess"
2854 produces:
2855 - "application/json"
2856 parameters:
2857 - in: body
2858 name: data
2859 schema:
2860 $ref: "#/definitions/Process"
2861 responses:
2862 202:
2863 description: "Returns a 202 if successful"
2864 schema:
2865 $ref: "#/definitions/Process"
2866 404:
2867 description: "Job does not exists"
2868 403:
2869 description: "Access denied"
2870 /watch/processes:
2871 get:
2872 tags:
2873 - "jobs"
2874 summary: "Watch job processes"
2875 operationId: "watchProcesses"
2876 produces:
2877 - "application/json+stream"
2878 parameters:
2879 - in: "query"
2880 name: "query"
2881 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
2882 required: false
2883 type: "string"
2884 - in: "query"
2885 name: "attributes"
2886 description: "Filter attributes"
2887 required: false
2888 type: "array"
2889 items:
2890 type: "string"
2891 - in: "query"
2892 name: "offset"
2893 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
2894 required: false
2895 type: "number"
2896 - in: "query"
2897 name: "limit"
2898 description: "Objects limit, per default 20 objects will get returned"
2899 required: false
2900 type: "number"
2901 - in: "query"
2902 name: "sort"
2903 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
2904 required: false
2905 type: "string"
2906 responses:
2907 200:
2908 description: "Processes"
2909 404:
2910 description: "Job does not exists"
2911 403:
2912 description: "Access denied"
2913 /processes/{process}:
2914 get:
2915 tags:
2916 - "jobs"
2917 summary: "Get a single process of a job"
2918 operationId: "getProcess"
2919 produces:
2920 - "application/json"
2921 parameters:
2922 - in: "path"
2923 name: "process"
2924 description: "Process ID"
2925 required: true
2926 type: "string"
2927 responses:
2928 200:
2929 description: "Process"
2930 schema:
2931 $ref: "#/definitions/Process"
2932 404:
2933 description: "Process does not exists"
2934 403:
2935 description: "Access denied"
2936 delete:
2937 tags:
2938 - "jobs"
2939 summary: "Abort running process"
2940 operationId: "deleteProcess"
2941 produces:
2942 - "application/json"
2943 parameters:
2944 - in: "path"
2945 name: "process"
2946 description: "Process ID"
2947 required: true
2948 type: "string"
2949 responses:
2950 204:
2951 description: "Server responds with 204 No Content if process abort was successful"
2952 404:
2953 description: "Process does not exists"
2954 403:
2955 description: "Access denied"
2956 /jobs/{job}/logs:
2957 get:
2958 tags:
2959 - "jobs"
2960 summary: "Get logs of a job"
2961 operationId: "getJobLogs"
2962 produces:
2963 - "application/json"
2964 parameters:
2965 - in: "path"
2966 name: "job"
2967 description: "Job ID"
2968 required: true
2969 type: "string"
2970 - in: "query"
2971 name: "query"
2972 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
2973 required: false
2974 type: "string"
2975 - in: "query"
2976 name: "attributes"
2977 description: "Filter attributes"
2978 required: false
2979 type: "array"
2980 items:
2981 type: "string"
2982 - in: "query"
2983 name: "offset"
2984 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
2985 required: false
2986 type: "number"
2987 - in: "query"
2988 name: "limit"
2989 description: "Objects limit, per default 20 objects will get returned"
2990 required: false
2991 type: "number"
2992 - in: "query"
2993 name: "sort"
2994 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
2995 required: false
2996 type: "string"
2997 responses:
2998 200:
2999 description: "Job"
3000 schema:
3001 $ref: "#/definitions/Log"
3002 404:
3003 description: "Job does not exists"
3004 403:
3005 description: "Access denied"
3006 /jobs/{job}/logs/{log}:
3007 get:
3008 tags:
3009 - "jobs"
3010 summary: "Get a single job error"
3011 operationId: "getJobLog"
3012 produces:
3013 - "application/json"
3014 parameters:
3015 - in: "path"
3016 name: "job"
3017 description: "Job ID"
3018 required: true
3019 type: "string"
3020 - in: "path"
3021 name: "log"
3022 description: "Log id"
3023 required: true
3024 type: "string"
3025 responses:
3026 200:
3027 description: "Log"
3028 schema:
3029 $ref: "#/definitions/Log"
3030 404:
3031 description: "Job does not exists"
3032 403:
3033 description: "Access denied"
3034 /watch/jobs/{job}/logs:
3035 get:
3036 tags:
3037 - "jobs"
3038 summary: "Watch log stream"
3039 operationId: "watchJobLogs"
3040 produces:
3041 - "application/json+stream"
3042 parameters:
3043 - in: "path"
3044 name: "job"
3045 description: "Job ID"
3046 required: true
3047 type: "string"
3048 - in: "query"
3049 name: "query"
3050 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
3051 required: false
3052 type: "string"
3053 - in: "query"
3054 name: "attributes"
3055 description: "Filter attributes"
3056 required: false
3057 type: "array"
3058 items:
3059 type: "string"
3060 - in: "query"
3061 name: "offset"
3062 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
3063 required: false
3064 type: "number"
3065 - in: "query"
3066 name: "limit"
3067 description: "Objects limit, per default 20 objects will get returned"
3068 required: false
3069 type: "number"
3070 - in: "query"
3071 name: "sort"
3072 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
3073 required: false
3074 type: "string"
3075 responses:
3076 200:
3077 description: "Logs"
3078 404:
3079 description: "Job does not exists"
3080 403:
3081 description: "Access denied"
3082 /processes/{process}/logs:
3083 get:
3084 tags:
3085 - "jobs"
3086 summary: "Get logs of a process"
3087 operationId: "getProcessLogs"
3088 produces:
3089 - "application/json"
3090 parameters:
3091 - in: "path"
3092 name: "process"
3093 description: "Process ID"
3094 required: true
3095 type: "string"
3096 - in: "query"
3097 name: "query"
3098 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
3099 required: false
3100 type: "string"
3101 - in: "query"
3102 name: "attributes"
3103 description: "Filter attributes"
3104 required: false
3105 type: "array"
3106 items:
3107 type: "string"
3108 - in: "query"
3109 name: "offset"
3110 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
3111 required: false
3112 type: "number"
3113 - in: "query"
3114 name: "limit"
3115 description: "Objects limit, per default 20 objects will get returned"
3116 required: false
3117 type: "number"
3118 - in: "query"
3119 name: "sort"
3120 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
3121 required: false
3122 type: "string"
3123 responses:
3124 200:
3125 description: "Log"
3126 schema:
3127 $ref: "#/definitions/Log"
3128 404:
3129 description: "Process does not exists"
3130 403:
3131 description: "Access denied"
3132 /process/{process}/logs/{log}:
3133 get:
3134 tags:
3135 - "jobs"
3136 summary: "Get a single process log"
3137 operationId: "getProcessLog"
3138 produces:
3139 - "application/json"
3140 parameters:
3141 - in: "path"
3142 name: "process"
3143 description: "Process ID"
3144 required: true
3145 type: "string"
3146 - in: "path"
3147 name: "log"
3148 description: "Log id"
3149 required: true
3150 type: "string"
3151 responses:
3152 200:
3153 description: "Log"
3154 schema:
3155 $ref: "#/definitions/Log"
3156 404:
3157 description: "Log does not exists"
3158 403:
3159 description: "Access denied"
3160 /watch/processes/{process}/logs:
3161 get:
3162 tags:
3163 - "jobs"
3164 summary: "Watch log stream"
3165 operationId: "watchProcessLogs"
3166 produces:
3167 - "application/json+stream"
3168 parameters:
3169 - in: "path"
3170 name: "process"
3171 description: "Process ID"
3172 required: true
3173 type: "string"
3174 - in: "query"
3175 name: "query"
3176 description: "Specify a MongoDB based resource query (https://docs.mongodb.com/manual/tutorial/query-documents) using JSON (For example: {\"name\": {$regex: 'foo.*'}})."
3177 required: false
3178 type: "string"
3179 - in: "query"
3180 name: "attributes"
3181 description: "Filter attributes"
3182 required: false
3183 type: "array"
3184 items:
3185 type: "string"
3186 - in: "query"
3187 name: "offset"
3188 description: "Objects offset, per default it starts from 0. You may also request a negative offset which will return results from the end [total - offset]."
3189 required: false
3190 type: "number"
3191 - in: "query"
3192 name: "limit"
3193 description: "Objects limit, per default 20 objects will get returned"
3194 required: false
3195 type: "number"
3196 - in: "query"
3197 name: "sort"
3198 description: "Specify a MongoDB sort operation (https://docs.mongodb.com/manual/reference/method/cursor.sort/) using JSON (For example: {\"name\": -1})."
3199 required: false
3200 type: "string"
3201 responses:
3202 200:
3203 description: "Logs"
3204 404:
3205 description: "Job does not exists"
3206 403:
3207 description: "Access denied"
3208definitions:
3209 JsonPatch:
3210 description: "A JSON Patch according rfc6902."
3211 type: "object"
3212 properties:
3213 op:
3214 type: "string"
3215 path:
3216 type: "string"
3217 value:
3218 type: "string"
3219 Links:
3220 description: "Contains resource links (URL) to other resources."
3221 type: "object"
3222 properties:
3223 self:
3224 $ref: "#/definitions/Link"
3225 ListLinks:
3226 type: "object"
3227 properties:
3228 self:
3229 $ref: "#/definitions/Link"
3230 prev:
3231 $ref: "#/definitions/Link"
3232 next:
3233 $ref: "#/definitions/Link"
3234 Link:
3235 type: "object"
3236 properties:
3237 href:
3238 type: "string"
3239 List:
3240 type: "object"
3241 properties:
3242 _links:
3243 description: "Holds a list of links rfc1738 to other resources."
3244 $ref: "#/definitions/ListLinks"
3245 kind:
3246 description: "The resource type, always List."
3247 type: "string"
3248 default: "List"
3249 count:
3250 description: "Holds the number of items in the current list response."
3251 type: "number"
3252 total:
3253 description: "Holds the number of total available items on the server. Note that a List resource is always paged. You need to traverse with offset and limit to request further resources in the list."
3254 type: "number"
3255 Resource:
3256 type: "object"
3257 properties:
3258 _links:
3259 $ref: "#/definitions/Links"
3260 name:
3261 description: "Resource identifier. Note that the name is immutable once created on the server and must be unique in its own resource context."
3262 type: "string"
3263 id:
3264 description: "Unique 12-byte resource identifier. Note this is a MongoDB ObjectId. The name is the standard resource identifier, the id only useful to verify that a given resource was completely recreated. An ID is immutable and will be created on the server."
3265 type: "string"
3266 version:
3267 description: "The version of the resource. A version gets increased once the resource have been modified."
3268 type: "number"
3269 created:
3270 description: "ISO 8601 timestamp when the resource was created."
3271 type: "string"
3272 changed:
3273 description: "ISO 8601 timestamp when the resource was changed."
3274 type: "string"
3275 secrets:
3276 description: "Injected secrets in this resource."
3277 type: "array"
3278 items:
3279 $ref: "#/definitions/SecretMount"
3280 SecretMount:
3281 type: "object"
3282 properties:
3283 secret:
3284 description: "The name of the secret from which the key's value should be injected."
3285 type: "string"
3286 key:
3287 description: "The name of the key which should be taken from a secret (You may use a recursive path by delimiting keys with '.', for example: password)."
3288 type: "string"
3289 to:
3290 description: "The resource path where the secret value should be injected (You may use a recursive path by delimiting keys with '.', for example: data.resource.password)."
3291 type: "string"
3292 Namespaces:
3293 description: "A list of namespaces."
3294 allOf:
3295 - $ref: '#/definitions/List'
3296 - type: object
3297 required:
3298 - rootCause
3299 properties:
3300 data:
3301 type: "array"
3302 items:
3303 $ref: "#/definitions/Namespace"
3304 Namespace:
3305 description: "A namespace is a namespace to separate resources."
3306 allOf:
3307 - $ref: '#/definitions/Resource'
3308 - type: object
3309 required:
3310 - rootCause
3311 properties:
3312 kind:
3313 description: "The resource type, always Namespace."
3314 type: "string"
3315 default: "Namespace"
3316 Secrets:
3317 description: "A list of secrets."
3318 allOf:
3319 - $ref: '#/definitions/List'
3320 - type: object
3321 required:
3322 - rootCause
3323 properties:
3324 data:
3325 type: "array"
3326 items:
3327 $ref: "#/definitions/Secret"
3328 Secret:
3329 description: "A secret is sensitive information which can be injected into another resource. A secret gets specially encrypted on the server and is always base64 encoded."
3330 allOf:
3331 - $ref: '#/definitions/Resource'
3332 - type: object
3333 required:
3334 - rootCause
3335 properties:
3336 kind:
3337 description: "The resource type, always Secret."
3338 type: "string"
3339 default: "Secret"
3340 data:
3341 description: "The secrets data. You may specify multiple keys. Important: You need to base64 encode the values!"
3342 type: "object"
3343 Users:
3344 description: "A list of users."
3345 allOf:
3346 - $ref: '#/definitions/List'
3347 - type: object
3348 required:
3349 - rootCause
3350 properties:
3351 data:
3352 type: "array"
3353 items:
3354 $ref: "#/definitions/User"
3355 User:
3356 description: "A local tubee user."
3357 allOf:
3358 - $ref: '#/definitions/Resource'
3359 - type: object
3360 required:
3361 - rootCause
3362 properties:
3363 kind:
3364 description: "The resource type, always User."
3365 type: "string"
3366 default: "User"
3367 data:
3368 description: "The user information."
3369 type: "object"
3370 properties:
3371 password:
3372 description: "The users password. Gets hashed on the server and can not be retrieved after."
3373 type: "string"
3374 AccessRules:
3375 description: "A list of access rules."
3376 allOf:
3377 - $ref: '#/definitions/List'
3378 - type: object
3379 required:
3380 - rootCause
3381 properties:
3382 data:
3383 type: "array"
3384 items:
3385 $ref: "#/definitions/AccessRule"
3386 AccessRule:
3387 description: "An access rule allows to specify what access roles can access which resources."
3388 allOf:
3389 - $ref: '#/definitions/Resource'
3390 - type: object
3391 required:
3392 - rootCause
3393 properties:
3394 kind:
3395 description: "The resource type, always AccessRule."
3396 type: "string"
3397 default: "AccessRule"
3398 data:
3399 type: "object"
3400 properties:
3401 roles:
3402 description: "A list of access-role names to match the given rule."
3403 type: "array"
3404 items:
3405 type: "string"
3406 verbs:
3407 description: "List of allowed HTTP rfc7231 verbs, you may also specify a wildcard to match all verbs."
3408 type: "array"
3409 items:
3410 type: "string"
3411 enum:
3412 - "*"
3413 - GET
3414 - POST
3415 - PUT
3416 - PATCH
3417 - DELETE
3418 - HEAD
3419 selectors:
3420 description: "A list of selectors to match resources, for example namespace, collection, endpoint, ..."
3421 type: "array"
3422 items:
3423 type: "string"
3424 resources:
3425 description: "Values according to your selector list required to match a request."
3426 type: "array"
3427 items:
3428 type: "string"
3429 AccessRoles:
3430 description: "A list of access roles."
3431 allOf:
3432 - $ref: '#/definitions/List'
3433 - type: object
3434 required:
3435 - rootCause
3436 properties:
3437 data:
3438 type: "array"
3439 items:
3440 $ref: "#/definitions/AccessRole"
3441 AccessRole:
3442 description: "An access role is defined list which matches authenticated user identifiers."
3443 allOf:
3444 - $ref: '#/definitions/Resource'
3445 - type: object
3446 required:
3447 - rootCause
3448 properties:
3449 kind:
3450 description: "The resource type, always AccessRole."
3451 type: "string"
3452 default: "AccessRole"
3453 data:
3454 type: "object"
3455 properties:
3456 selectors:
3457 description: "A list of user identifiers which the access role should match. It is also possible to specify a wildcard to match all identifiers."
3458 type: "array"
3459 items:
3460 type: "string"
3461 Processes:
3462 description: "A list of processes."
3463 allOf:
3464 - $ref: '#/definitions/List'
3465 - type: object
3466 required:
3467 - rootCause
3468 properties:
3469 data:
3470 type: "array"
3471 items:
3472 $ref: "#/definitions/Process"
3473 Process:
3474 description: "A process is a sub resource of a job. Each process represents one job execution."
3475 allOf:
3476 - $ref: '#/definitions/Job'
3477 - type: object
3478 required:
3479 - rootCause
3480 properties:
3481 kind:
3482 description: "The resource type, always Process."
3483 type: "string"
3484 default: "Process"
3485 status:
3486 description: "Holds the status of this resource. Note that status is immutable."
3487 type: "object"
3488 properties:
3489 code:
3490 description: "The result code of the process."
3491 type: "number"
3492 Jobs:
3493 description: "A list of jobs."
3494 allOf:
3495 - $ref: '#/definitions/List'
3496 - type: object
3497 required:
3498 - rootCause
3499 properties:
3500 data:
3501 type: "array"
3502 items:
3503 $ref: "#/definitions/Job"
3504 Job:
3505 description: "A job is a synchronization job which declares when and what collections should be synchronized."
3506 allOf:
3507 - $ref: '#/definitions/Resource'
3508 - type: object
3509 required:
3510 - rootCause
3511 properties:
3512 kind:
3513 description: "The resource type, always Job."
3514 type: "string"
3515 default: "Job"
3516 data:
3517 type: "object"
3518 properties:
3519 notification:
3520 type: "object"
3521 properties:
3522 enabled:
3523 description: "You may enable mail notification for a given job."
3524 default: false
3525 type: boolean
3526 receiver:
3527 description: "A list of mail adresses which the notification should be sent to. This option has no affect if notification is disabled."
3528 type: array
3529 items:
3530 type: string
3531 namespaces:
3532 description: "A list of namespaces (name) the job should match. You may use a wildcard to specify all namespaces."
3533 type: array
3534 items:
3535 type: string
3536 default: ["*"]
3537 collections:
3538 description: "A list of collections (name) the job should match. You may use a wildcard to specify all collections."
3539 type: array
3540 items:
3541 type: string
3542 default: ["*"]
3543 endpoints:
3544 description: "A list of endoints (name) the job should match. You may use a wildcard to specify all endpoints."
3545 type: array
3546 items:
3547 type: string
3548 default: ["*"]
3549 filter:
3550 description: "Data object filter."
3551 type: object
3552 loadbalance:
3553 description: "If enabled the server tries to splitt the job into multiple parallel processes."
3554 type: boolean
3555 default: true
3556 ignore:
3557 description: "If enabled the server does ignores any sync errors and continue with the process."
3558 type: boolean
3559 default: false
3560 log_level:
3561 description: "You may change the log level which gets applied during a sync job. Note that a log level too verbose has a big impact on the sync performance."
3562 type: string
3563 default: error
3564 enum:
3565 - emerg
3566 - error
3567 - warn
3568 - info
3569 - notice
3570 - debug
3571 options:
3572 description: "Holds options about when a job should start and with what interval."
3573 type: object
3574 properties:
3575 at:
3576 description: "Holds a unix timestamp at what time the job should be executed."
3577 type: "string"
3578 format: "integer"
3579 default: 0
3580 interval:
3581 description: "The number of secconds after the job should be executed again. The default is only run once."
3582 type: "integer"
3583 default: 0
3584 retry:
3585 description: "The number of times a failed job should be restarted. The default is never."
3586 type: "integer"
3587 default: 0
3588 retry_interval:
3589 description: "The number of secconds beween failed job retries. The default is 300 (5min)."
3590 type: "integer"
3591 default: 0
3592 Logs:
3593 description: "A list of logs."
3594 allOf:
3595 - $ref: '#/definitions/List'
3596 - type: object
3597 required:
3598 - rootCause
3599 properties:
3600 data:
3601 type: "array"
3602 items:
3603 $ref: "#/definitions/Log"
3604 Log:
3605 description: "A log messagage from a process."
3606 allOf:
3607 - $ref: '#/definitions/Resource'
3608 - type: object
3609 required:
3610 - rootCause
3611 properties:
3612 kind:
3613 description: "The resource type, always Log."
3614 type: "string"
3615 default: "Log"
3616 data:
3617 type: "object"
3618 properties:
3619 level:
3620 type: "integer"
3621 level_name:
3622 type: "string"
3623 message:
3624 description: "The log message."
3625 type: "string"
3626 category:
3627 description: "The server component which logged the message."
3628 type: "string"
3629 exception:
3630 description: "Holds an exception object if the log message holds an exception reference."
3631 type: "object"
3632 Collections:
3633 description: "A list of collections."
3634 allOf:
3635 - $ref: '#/definitions/List'
3636 - type: object
3637 required:
3638 - rootCause
3639 properties:
3640 data:
3641 type: "array"
3642 items:
3643 $ref: "#/definitions/Collections"
3644 Collection:
3645 description: "A collection is a collection of data objects, meaning a collection of similar objects."
3646 allOf:
3647 - $ref: '#/definitions/Resource'
3648 - type: object
3649 required:
3650 - rootCause
3651 properties:
3652 kind:
3653 description: "The resource type, always Collection."
3654 type: "string"
3655 default: "Collection"
3656 data:
3657 type: "object"
3658 properties:
3659 schema:
3660 type: "object"
3661 default: {}
3662 Endpoints:
3663 description: "A list of endpoints."
3664 allOf:
3665 - $ref: '#/definitions/List'
3666 - type: object
3667 required:
3668 - rootCause
3669 properties:
3670 data:
3671 type: "array"
3672 items:
3673 $ref: "#/definitions/Endpoint"
3674 Endpoint:
3675 description: "An endpoint represents an external resource to browse (proxy), import or export. This may be a database, a file, a http service, ..."
3676 allOf:
3677 - $ref: '#/definitions/Resource'
3678 - type: object
3679 required:
3680 - rootCause
3681 properties:
3682 kind:
3683 description: "The type of endpoint."
3684 type: "string"
3685 enum:
3686 - PdoEndpoint
3687 - MysqlEndpoint
3688 - XmlEndpoint
3689 - CsvEndpoint
3690 - ImageEndpoint
3691 - JsonEndpoint
3692 - MongodbEndpoint
3693 - MoodleEndpoint
3694 - BalloonEndpoint
3695 - OdataRestEndpoint
3696 data:
3697 type: "object"
3698 properties:
3699 type:
3700 description: "Specify the type of the endpoint."
3701 type: "string"
3702 enum:
3703 - browse
3704 - source
3705 - destination
3706 - bidirectional
3707 options:
3708 type: "object"
3709 properties:
3710 identifier:
3711 description: "A list of attributes which gets used to uniquely identify an object on the endpoint."
3712 type: "array"
3713 items:
3714 type: string
3715 import:
3716 description: "A list of attributes which gets used to uniquely identify an object on the endpoint."
3717 type: "array"
3718 items:
3719 type: string
3720 flush:
3721 description: "If true and the endpoint is of type source, the endpoint gets flushed before export. If the type is destination, the endpoints collection gets flushed before import. Pay attention with flush as it may result in data loss!"
3722 type: "boolean"
3723 default: false
3724 filter_one:
3725 description: "Specify an endpoint filter which gets used to filter for a single object."
3726 type: "string"
3727 filter_all:
3728 description: "Specify a filter which always gets applied to the endpoint if objects are retrieved."
3729 type: "string"
3730 PdoEndpoint:
3731 description: "Pdo endpoint"
3732 allOf:
3733 - $ref: '#/definitions/Endpoint'
3734 - type: object
3735 required:
3736 - rootCause
3737 properties:
3738 kind:
3739 description: "The type of endpoint. Always PdoEndpoint."
3740 type: "string"
3741 default: "PdoEndpoint"
3742 data:
3743 properties:
3744 table:
3745 description: "Table or view"
3746 type: "string"
3747 resource:
3748 description: "Holds the relevant options of how to connect to the endpoint."
3749 type: "object"
3750 properties:
3751 dsn:
3752 description: "Data source name (DSN)."
3753 type: string
3754 username:
3755 description: "Username if required."
3756 type: string
3757 passwd:
3758 description: "Password if required. Note the password gets encrypted on the server an can't be retrieved after it. If a password was set, has_password will be true."
3759 type: string
3760 has_password:
3761 description: "Is true if a password has been set."
3762 type: boolean
3763 default: false
3764 options:
3765 description: "Driver specific connection options."
3766 type: object
3767 default: {}
3768 MysqlEndpoint:
3769 description: "MySQL/MariaDB (and other MySQL forks) endpoint"
3770 allOf:
3771 - $ref: '#/definitions/Endpoint'
3772 - type: object
3773 required:
3774 - rootCause
3775 properties:
3776 kind:
3777 description: "The type of endpoint. Always MysqlEndpoint."
3778 type: "string"
3779 default: "MysqlEndpoint"
3780 data:
3781 properties:
3782 table:
3783 description: "Table or view"
3784 type: "string"
3785 resource:
3786 description: "Holds the relevant options of how to connect to the endpoint."
3787 type: "object"
3788 properties:
3789 host:
3790 description: "MySQL Server (Or compatible MySQL fork like MariaDB)."
3791 type: string
3792 username:
3793 description: "Username."
3794 type: string
3795 passwd:
3796 description: "Password if required. Note the password gets encrypted on the server an can't be retrieved after it. If a password was set, has_password will be true."
3797 type: string
3798 has_password:
3799 description: "Is true if a password has been set."
3800 type: boolean
3801 default: false
3802 port:
3803 description: "Specifies the port number to attempt to connect to the MySQL server."
3804 type: integer
3805 default: 3306
3806 socket:
3807 description: "Specifies the socket or named pipe that should be used."
3808 type: string
3809 LdapEndpoint:
3810 description: "LDAP (OpenLDAP, Microsoft AD and other LDAP compatible Server) endpoint"
3811 allOf:
3812 - $ref: '#/definitions/Endpoint'
3813 - type: object
3814 required:
3815 - rootCause
3816 properties:
3817 kind:
3818 description: "The type of endpoint. Always LdapEndpoint."
3819 type: "string"
3820 default: "LdapEndpoint"
3821 data:
3822 properties:
3823 resource:
3824 description: "Holds the relevant options of how to connect to the endpoint."
3825 type: "object"
3826 properties:
3827 uri:
3828 description: "A full LDAP URI of the form ldap://hostname:port or ldaps://hostname:port for SSL encryption."
3829 type: string
3830 binddn:
3831 description: "Bind DN if required."
3832 type: string
3833 bindpw:
3834 description: "Bind password if required. Note the password gets encrypted on the server an can't be retrieved after it. If a password was set, has_password will be true."
3835 type: string
3836 has_password:
3837 description: "Is true if a password has been set."
3838 type: boolean
3839 default: false
3840 basedn:
3841 description: "Specifies the base dn (Like dc=example,dc=net)."
3842 type: string
3843 tls:
3844 description: "Set to true if TLS shall be used."
3845 type: boolean
3846 default: false
3847 options:
3848 description: "More ldap specific settings (http://php.net/manual/en/function.ldap-set-option.php)."
3849 type: object
3850 OdataRestEndpoint:
3851 description: "OData REST API endpoint (Compatible with Microsoft graph (Office365 and more) and other OData compatible api's)"
3852 allOf:
3853 - $ref: '#/definitions/Endpoint'
3854 - type: object
3855 required:
3856 - rootCause
3857 properties:
3858 kind:
3859 description: "The type of endpoint. Always OdataRestEndpoint."
3860 type: "string"
3861 default: "OdataRestEndpoint"
3862 data:
3863 properties:
3864 resource:
3865 description: "Holds the relevant options of how to connect to the endpoint."
3866 type: "object"
3867 properties:
3868 base_uri:
3869 description: "Base uri to resources (Like https://rest.api/v1/resources)."
3870 type: string
3871 options:
3872 description: "Advanced request options, see http://docs.guzzlephp.org/en/stable/request-options.html"
3873 type: object
3874 auth:
3875 description: "Authentication adapter, either of none, http basic authentication or oauth2 using client_credentials flow."
3876 type: string
3877 enum:
3878 - basic
3879 - oauth2
3880 basic:
3881 description: "HTTP Basic authentication. auth must be set to basic if this adapter should be used."
3882 type: object
3883 properties:
3884 username:
3885 description: "Basic authentication username."
3886 type: string
3887 password:
3888 description: "Password if required. Note the password gets encrypted on the server an can't be retrieved after it. If a password was set, has_password will be true."
3889 type: string
3890 has_password:
3891 description: "Is true if a password has been set."
3892 type: boolean
3893 default: false
3894 oauth2:
3895 description: "Oauth2 client credentials flow. auth must be set to oauth2 if this adapter should be used."
3896 type: object
3897 properties:
3898 token_uri:
3899 description: "URI to token endpoint."
3900 type: string
3901 client_id:
3902 description: "OAuth2 client_id."
3903 type: string
3904 client_secret:
3905 description: "OAuth2 client_secret. Note the client_secret gets encrypted on the server an can't be retrieved after it."
3906 type: string
3907 MongodbEndpoint:
3908 description: "MongoDB endpoint"
3909 allOf:
3910 - $ref: '#/definitions/Endpoint'
3911 - type: object
3912 required:
3913 - rootCause
3914 properties:
3915 kind:
3916 description: "The type of endpoint. Always MongodbEndpoint."
3917 type: "string"
3918 default: "MongodbEndpoint"
3919 data:
3920 properties:
3921 collection:
3922 description: "The name of the MongoDB collection where the data is located at."
3923 type: string
3924 resource:
3925 description: "Holds the relevant options of how to connect to the endpoint."
3926 type: "object"
3927 properties:
3928 uri:
3929 description: "MongoDB connection uri"
3930 type: string
3931 default: "mongodb://127.0.0.1"
3932 uri_options:
3933 description: "Advanced URI options"
3934 type: object
3935 default: {}
3936 driver_options:
3937 description: "Advanced Driver options"
3938 type: object
3939 default: {}
3940 BalloonEndpoint:
3941 description: "Balloon cloud server endpoint"
3942 allOf:
3943 - $ref: '#/definitions/Endpoint'
3944 - type: object
3945 required:
3946 - rootCause
3947 properties:
3948 kind:
3949 description: "The type of endpoint. Always BalloonEndpoint."
3950 type: "string"
3951 default: "BalloonEndpoint"
3952 data:
3953 properties:
3954 resource:
3955 description: "Holds the relevant options of how to connect to the endpoint."
3956 type: "object"
3957 properties:
3958 base_uri:
3959 description: "Base uri to resources (Like https://rest.api/v2/users)."
3960 type: string
3961 options:
3962 description: "Advanced request options, see http://docs.guzzlephp.org/en/stable/request-options.html"
3963 type: object
3964 auth:
3965 description: "Authentication adapter, either of none, http basic authentication or oauth2 using client_credentials flow."
3966 type: string
3967 enum:
3968 - basic
3969 - oauth2
3970 basic:
3971 description: "HTTP Basic authentication. auth must be set to basic if this adapter should be used."
3972 type: object
3973 properties:
3974 username:
3975 description: "Basic authentication username."
3976 type: string
3977 password:
3978 description: "Password if required. Note the password gets encrypted on the server an can't be retrieved after it. If a password was set, has_password will be true."
3979 type: string
3980 has_password:
3981 description: "Is true if a password has been set."
3982 type: boolean
3983 default: false
3984 oauth2:
3985 description: "Oauth2 client credentials flow. auth must be set to oauth2 if this adapter should be used."
3986 type: object
3987 properties:
3988 token_uri:
3989 description: "URI to token endpoint."
3990 type: string
3991 client_id:
3992 description: "OAuth2 client_id."
3993 type: string
3994 client_secret:
3995 description: "OAuth2 client_secret. Note the client_secret gets encrypted on the server an can't be retrieved after it."
3996 type: string
3997 CsvEndpoint:
3998 description: "CSV data format endpoint"
3999 allOf:
4000 - $ref: '#/definitions/Endpoint'
4001 - type: object
4002 required:
4003 - rootCause
4004 properties:
4005 kind:
4006 description: "The type of endpoint. Always CsvEndpoint."
4007 type: "string"
4008 default: "CsvEndpoint"
4009 data:
4010 properties:
4011 storage:
4012 $ref: '#/definitions/Storage'
4013 file:
4014 description: "File uri or pattern, depends what storage you have choosen."
4015 type: string
4016 resource:
4017 description: "CSV parse options."
4018 type: object
4019 properties:
4020 delimiter:
4021 description: "Field delimiter."
4022 type: string
4023 default: ","
4024 enclosure:
4025 description: "Field enclosure."
4026 type: string
4027 default: '"'
4028 escape:
4029 description: "Escape character."
4030 type: string
4031 default: "\\"
4032 XmlEndpoint:
4033 description: "XML data format endpoint"
4034 allOf:
4035 - $ref: '#/definitions/Endpoint'
4036 - type: object
4037 required:
4038 - rootCause
4039 properties:
4040 kind:
4041 description: "The type of endpoint. Always XmlEndpoint."
4042 type: "string"
4043 default: "XmlEndpoint"
4044 data:
4045 properties:
4046 storage:
4047 $ref: '#/definitions/Storage'
4048 file:
4049 description: "File uri or pattern, depends what storage you have choosen."
4050 type: string
4051 resource:
4052 description: "CSV parse options."
4053 type: object
4054 properties:
4055 root_name:
4056 description: "The name of the root element."
4057 type: string
4058 default: "data"
4059 node_name:
4060 description: "The name of the sub node of the root element. For example: <root><row><a>0</a></row><a>1</a><row></row</root>"
4061 type: string
4062 default: "row"
4063 pretty:
4064 description: "Prettify xml output, note this is only useful if the XmlEndpoint is a destination endpoint."
4065 type: boolean
4066 default: true
4067 preserve_whitespace:
4068 description: "Preserve whitespace, note this is only useful if the XmlEndpoint is a destination endpoint."
4069 type: boolean
4070 default: false
4071 JsonEndpoint:
4072 description: "JSON data format endpoint"
4073 allOf:
4074 - $ref: '#/definitions/Endpoint'
4075 - type: object
4076 required:
4077 - rootCause
4078 properties:
4079 kind:
4080 description: "The type of endpoint. Always JsonEndpoint."
4081 type: "string"
4082 default: "JsonEndpoint"
4083 data:
4084 properties:
4085 storage:
4086 $ref: '#/definitions/Storage'
4087 file:
4088 description: "File uri or pattern, depends what storage you have choosen."
4089 type: string
4090 Storage:
4091 description: "The storage defines where data can be fetched."
4092 type: object
4093 properties:
4094 kind:
4095 description: "The kind of storage where data shall be fetched."
4096 type: string
4097 default: "Stream"
4098 enum:
4099 - Stream
4100 - LocalFilesystem
4101 - Smb
4102 - Balloon
4103 Workflows:
4104 description: "A list of workflows."
4105 allOf:
4106 - $ref: '#/definitions/List'
4107 - type: object
4108 required:
4109 - rootCause
4110 properties:
4111 data:
4112 type: "array"
4113 items:
4114 $ref: "#/definitions/Workflow"
4115 Workflow:
4116 description: "A workflow gets used if an endpoint gets imported or exported. A workflow defines if and what object and also if and what attributes of an object should be written to or from an endpoint."
4117 allOf:
4118 - $ref: '#/definitions/Resource'
4119 - type: object
4120 required:
4121 - rootCause
4122 properties:
4123 kind:
4124 description: "The resource type, always Workflow."
4125 type: "string"
4126 default: "Workflow"
4127 data:
4128 type: "object"
4129 properties:
4130 ensure:
4131 type: string
4132 enum:
4133 - last
4134 - exists
4135 - absent
4136 - merge
4137 default: last
4138 condition:
4139 description: "Holds a scripted condition if a given workflow gets matched and executed."
4140 type: string
4141 map:
4142 description: "Map attributes from the endpoint to the collection schema (if the endpoint is of type source) or map attributes from the collection to the endpoint if the endpoint is of type destination."
4143 type: object
4144 default: {}
4145 AttributeMap:
4146 type: "object"
4147 properties:
4148 map:
4149 type: "object"
4150 description: "Attribute map"
4151 EndpointObjects:
4152 description: "A list of endpoint objects."
4153 allOf:
4154 - $ref: '#/definitions/List'
4155 - type: object
4156 required:
4157 - rootCause
4158 properties:
4159 kind:
4160 description: "The resource type, always EndpointObject."
4161 type: "string"
4162 default: "EndpointObject"
4163 data:
4164 type: "array"
4165 items:
4166 $ref: "#/definitions/EndpointObject"
4167 EndpointObject:
4168 description: "An endpoint object is the actual object on an endpoint itself."
4169 allOf:
4170 - $ref: '#/definitions/Resource'
4171 - type: object
4172 required:
4173 - rootCause
4174 properties:
4175 data:
4176 description: "Attributes"
4177 type: "object"
4178 DataObjects:
4179 description: "List of data objects."
4180 allOf:
4181 - $ref: '#/definitions/List'
4182 - type: object
4183 required:
4184 - rootCause
4185 properties:
4186 data:
4187 type: "array"
4188 items:
4189 $ref: "#/definitions/DataObject"
4190 DataObject:
4191 description: "A data object represents a single object in a collection (data collection)."
4192 allOf:
4193 - $ref: '#/definitions/Resource'
4194 - type: object
4195 required:
4196 - rootCause
4197 properties:
4198 kind:
4199 description: "The resource type, always DataObject."
4200 type: "string"
4201 default: "DataObject"
4202 data:
4203 description: "Attributes"
4204 type: "object"
4205 ObjectRelatives:
4206 description: "A list of related objects."
4207 allOf:
4208 - $ref: '#/definitions/List'
4209 - type: object
4210 required:
4211 - rootCause
4212 properties:
4213 data:
4214 type: "array"
4215 items:
4216 $ref: "#/definitions/ObjectRelative"
4217 ObjectRelative:
4218 description: "An object relation represents a releationship between two data objects. A relationship may apply to objects of different collections and/or namespaces."
4219 allOf:
4220 - $ref: '#/definitions/Resource'
4221 - type: object
4222 required:
4223 - rootCause
4224 properties:
4225 kind:
4226 description: "The resource type, always Namespace."
4227 type: "string"
4228 default: "Namespace"
4229 data:
4230 type: object
4231 properties:
4232 context:
4233 description: "Optional context context data which describes the relationship."
4234 type: "object"
4235 default: {}
4236 object:
4237 $ref: "#/definitions/DataObject"