`s.
+
+.nav {
+ display: flex;
+ flex-wrap: wrap;
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+}
+
+.nav-link {
+ display: block;
+ padding: $nav-link-padding-y $nav-link-padding-x;
+ text-decoration: if($link-decoration == none, null, none);
+
+ @include hover-focus() {
+ text-decoration: none;
+ }
+
+ // Disabled state lightens text
+ &.disabled {
+ color: $nav-link-disabled-color;
+ pointer-events: none;
+ cursor: default;
+ }
+}
+
+//
+// Tabs
+//
+
+.nav-tabs {
+ border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;
+
+ .nav-item {
+ margin-bottom: -$nav-tabs-border-width;
+ }
+
+ .nav-link {
+ border: $nav-tabs-border-width solid transparent;
+ @include border-top-radius($nav-tabs-border-radius);
+
+ @include hover-focus() {
+ border-color: $nav-tabs-link-hover-border-color;
+ }
+
+ &.disabled {
+ color: $nav-link-disabled-color;
+ background-color: transparent;
+ border-color: transparent;
+ }
+ }
+
+ .nav-link.active,
+ .nav-item.show .nav-link {
+ color: $nav-tabs-link-active-color;
+ background-color: $nav-tabs-link-active-bg;
+ border-color: $nav-tabs-link-active-border-color;
+ }
+
+ .dropdown-menu {
+ // Make dropdown border overlap tab border
+ margin-top: -$nav-tabs-border-width;
+ // Remove the top rounded corners here since there is a hard edge above the menu
+ @include border-top-radius(0);
+ }
+}
+
+
+//
+// Pills
+//
+
+.nav-pills {
+ .nav-link {
+ @include border-radius($nav-pills-border-radius);
+ }
+
+ .nav-link.active,
+ .show > .nav-link {
+ color: $nav-pills-link-active-color;
+ background-color: $nav-pills-link-active-bg;
+ }
+}
+
+
+//
+// Justified variants
+//
+
+.nav-fill {
+ > .nav-link,
+ .nav-item {
+ flex: 1 1 auto;
+ text-align: center;
+ }
+}
+
+.nav-justified {
+ > .nav-link,
+ .nav-item {
+ flex-basis: 0;
+ flex-grow: 1;
+ text-align: center;
+ }
+}
+
+
+// Tabbable tabs
+//
+// Hide tabbable panes to start, show them when `.active`
+
+.tab-content {
+ > .tab-pane {
+ display: none;
+ }
+ > .active {
+ display: block;
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_navbar.scss b/jekyll-openapi/_sass/bootstrap/scss/_navbar.scss
new file mode 100644
index 0000000..5f10a62
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_navbar.scss
@@ -0,0 +1,324 @@
+// Contents
+//
+// Navbar
+// Navbar brand
+// Navbar nav
+// Navbar text
+// Navbar divider
+// Responsive navbar
+// Navbar position
+// Navbar themes
+
+
+// Navbar
+//
+// Provide a static navbar from which we expand to create full-width, fixed, and
+// other navbar variations.
+
+.navbar {
+ position: relative;
+ display: flex;
+ flex-wrap: wrap; // allow us to do the line break for collapsing content
+ align-items: center;
+ justify-content: space-between; // space out brand from logo
+ padding: $navbar-padding-y $navbar-padding-x;
+
+ // Because flex properties aren't inherited, we need to redeclare these first
+ // few properties so that content nested within behave properly.
+ %container-flex-properties {
+ display: flex;
+ flex-wrap: wrap;
+ align-items: center;
+ justify-content: space-between;
+ }
+
+ .container,
+ .container-fluid {
+ @extend %container-flex-properties;
+ }
+
+ @each $breakpoint, $container-max-width in $container-max-widths {
+ > .container#{breakpoint-infix($breakpoint, $container-max-widths)} {
+ @extend %container-flex-properties;
+ }
+ }
+}
+
+
+// Navbar brand
+//
+// Used for brand, project, or site names.
+
+.navbar-brand {
+ display: inline-block;
+ padding-top: $navbar-brand-padding-y;
+ padding-bottom: $navbar-brand-padding-y;
+ margin-right: $navbar-padding-x;
+ @include font-size($navbar-brand-font-size);
+ line-height: inherit;
+ white-space: nowrap;
+
+ @include hover-focus() {
+ text-decoration: none;
+ }
+}
+
+
+// Navbar nav
+//
+// Custom navbar navigation (doesn't require `.nav`, but does make use of `.nav-link`).
+
+.navbar-nav {
+ display: flex;
+ flex-direction: column; // cannot use `inherit` to get the `.navbar`s value
+ padding-left: 0;
+ margin-bottom: 0;
+ list-style: none;
+
+ .nav-link {
+ padding-right: 0;
+ padding-left: 0;
+ }
+
+ .dropdown-menu {
+ position: static;
+ float: none;
+ }
+}
+
+
+// Navbar text
+//
+//
+
+.navbar-text {
+ display: inline-block;
+ padding-top: $nav-link-padding-y;
+ padding-bottom: $nav-link-padding-y;
+}
+
+
+// Responsive navbar
+//
+// Custom styles for responsive collapsing and toggling of navbar contents.
+// Powered by the collapse Bootstrap JavaScript plugin.
+
+// When collapsed, prevent the toggleable navbar contents from appearing in
+// the default flexbox row orientation. Requires the use of `flex-wrap: wrap`
+// on the `.navbar` parent.
+.navbar-collapse {
+ flex-basis: 100%;
+ flex-grow: 1;
+ // For always expanded or extra full navbars, ensure content aligns itself
+ // properly vertically. Can be easily overridden with flex utilities.
+ align-items: center;
+}
+
+// Button for toggling the navbar when in its collapsed state
+.navbar-toggler {
+ padding: $navbar-toggler-padding-y $navbar-toggler-padding-x;
+ @include font-size($navbar-toggler-font-size);
+ line-height: 1;
+ background-color: transparent; // remove default button style
+ border: $border-width solid transparent; // remove default button style
+ @include border-radius($navbar-toggler-border-radius);
+
+ @include hover-focus() {
+ text-decoration: none;
+ }
+}
+
+// Keep as a separate element so folks can easily override it with another icon
+// or image file as needed.
+.navbar-toggler-icon {
+ display: inline-block;
+ width: 1.5em;
+ height: 1.5em;
+ vertical-align: middle;
+ content: "";
+ background: no-repeat center center;
+ background-size: 100% 100%;
+}
+
+// Generate series of `.navbar-expand-*` responsive classes for configuring
+// where your navbar collapses.
+.navbar-expand {
+ @each $breakpoint in map-keys($grid-breakpoints) {
+ $next: breakpoint-next($breakpoint, $grid-breakpoints);
+ $infix: breakpoint-infix($next, $grid-breakpoints);
+
+ {$infix} {
+ @include media-breakpoint-down($breakpoint) {
+ %container-navbar-expand-#{$breakpoint} {
+ padding-right: 0;
+ padding-left: 0;
+ }
+
+ > .container,
+ > .container-fluid {
+ @extend %container-navbar-expand-#{$breakpoint};
+ }
+
+ @each $size, $container-max-width in $container-max-widths {
+ > .container#{breakpoint-infix($size, $container-max-widths)} {
+ @extend %container-navbar-expand-#{$breakpoint};
+ }
+ }
+ }
+
+ @include media-breakpoint-up($next) {
+ flex-flow: row nowrap;
+ justify-content: flex-start;
+
+ .navbar-nav {
+ flex-direction: row;
+
+ .dropdown-menu {
+ position: absolute;
+ }
+
+ .nav-link {
+ padding-right: $navbar-nav-link-padding-x;
+ padding-left: $navbar-nav-link-padding-x;
+ }
+ }
+
+ // For nesting containers, have to redeclare for alignment purposes
+ %container-nesting-#{$breakpoint} {
+ flex-wrap: nowrap;
+ }
+
+ > .container,
+ > .container-fluid {
+ @extend %container-nesting-#{$breakpoint};
+ }
+
+ @each $size, $container-max-width in $container-max-widths {
+ > .container#{breakpoint-infix($size, $container-max-widths)} {
+ @extend %container-nesting-#{$breakpoint};
+ }
+ }
+
+ .navbar-collapse {
+ display: flex !important; // stylelint-disable-line declaration-no-important
+
+ // Changes flex-bases to auto because of an IE10 bug
+ flex-basis: auto;
+ }
+
+ .navbar-toggler {
+ display: none;
+ }
+ }
+ }
+ }
+}
+
+
+// Navbar themes
+//
+// Styles for switching between navbars with light or dark background.
+
+// Dark links against a light background
+.navbar-light {
+ .navbar-brand {
+ color: $navbar-light-brand-color;
+
+ @include hover-focus() {
+ color: $navbar-light-brand-hover-color;
+ }
+ }
+
+ .navbar-nav {
+ .nav-link {
+ color: $navbar-light-color;
+
+ @include hover-focus() {
+ color: $navbar-light-hover-color;
+ }
+
+ &.disabled {
+ color: $navbar-light-disabled-color;
+ }
+ }
+
+ .show > .nav-link,
+ .active > .nav-link,
+ .nav-link.show,
+ .nav-link.active {
+ color: $navbar-light-active-color;
+ }
+ }
+
+ .navbar-toggler {
+ color: $navbar-light-color;
+ border-color: $navbar-light-toggler-border-color;
+ }
+
+ .navbar-toggler-icon {
+ background-image: escape-svg($navbar-light-toggler-icon-bg);
+ }
+
+ .navbar-text {
+ color: $navbar-light-color;
+ a {
+ color: $navbar-light-active-color;
+
+ @include hover-focus() {
+ color: $navbar-light-active-color;
+ }
+ }
+ }
+}
+
+// White links against a dark background
+.navbar-dark {
+ .navbar-brand {
+ color: $navbar-dark-brand-color;
+
+ @include hover-focus() {
+ color: $navbar-dark-brand-hover-color;
+ }
+ }
+
+ .navbar-nav {
+ .nav-link {
+ color: $navbar-dark-color;
+
+ @include hover-focus() {
+ color: $navbar-dark-hover-color;
+ }
+
+ &.disabled {
+ color: $navbar-dark-disabled-color;
+ }
+ }
+
+ .show > .nav-link,
+ .active > .nav-link,
+ .nav-link.show,
+ .nav-link.active {
+ color: $navbar-dark-active-color;
+ }
+ }
+
+ .navbar-toggler {
+ color: $navbar-dark-color;
+ border-color: $navbar-dark-toggler-border-color;
+ }
+
+ .navbar-toggler-icon {
+ background-image: escape-svg($navbar-dark-toggler-icon-bg);
+ }
+
+ .navbar-text {
+ color: $navbar-dark-color;
+ a {
+ color: $navbar-dark-active-color;
+
+ @include hover-focus() {
+ color: $navbar-dark-active-color;
+ }
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_pagination.scss b/jekyll-openapi/_sass/bootstrap/scss/_pagination.scss
new file mode 100644
index 0000000..d7d553c
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_pagination.scss
@@ -0,0 +1,74 @@
+.pagination {
+ display: flex;
+ @include list-unstyled();
+ @include border-radius();
+}
+
+.page-link {
+ position: relative;
+ display: block;
+ padding: $pagination-padding-y $pagination-padding-x;
+ margin-left: -$pagination-border-width;
+ line-height: $pagination-line-height;
+ color: $pagination-color;
+ text-decoration: if($link-decoration == none, null, none);
+ background-color: $pagination-bg;
+ border: $pagination-border-width solid $pagination-border-color;
+
+ &:hover {
+ z-index: 2;
+ color: $pagination-hover-color;
+ text-decoration: none;
+ background-color: $pagination-hover-bg;
+ border-color: $pagination-hover-border-color;
+ }
+
+ &:focus {
+ z-index: 3;
+ outline: $pagination-focus-outline;
+ box-shadow: $pagination-focus-box-shadow;
+ }
+}
+
+.page-item {
+ &:first-child {
+ .page-link {
+ margin-left: 0;
+ @include border-left-radius($border-radius);
+ }
+ }
+ &:last-child {
+ .page-link {
+ @include border-right-radius($border-radius);
+ }
+ }
+
+ &.active .page-link {
+ z-index: 3;
+ color: $pagination-active-color;
+ background-color: $pagination-active-bg;
+ border-color: $pagination-active-border-color;
+ }
+
+ &.disabled .page-link {
+ color: $pagination-disabled-color;
+ pointer-events: none;
+ // Opinionated: remove the "hand" cursor set previously for .page-link
+ cursor: auto;
+ background-color: $pagination-disabled-bg;
+ border-color: $pagination-disabled-border-color;
+ }
+}
+
+
+//
+// Sizing
+//
+
+.pagination-lg {
+ @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg);
+}
+
+.pagination-sm {
+ @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm);
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_popover.scss b/jekyll-openapi/_sass/bootstrap/scss/_popover.scss
new file mode 100644
index 0000000..0ad76af
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_popover.scss
@@ -0,0 +1,170 @@
+.popover {
+ position: absolute;
+ top: 0;
+ left: 0;
+ z-index: $zindex-popover;
+ display: block;
+ max-width: $popover-max-width;
+ // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
+ // So reset our font and text properties to avoid inheriting weird values.
+ @include reset-text();
+ @include font-size($popover-font-size);
+ // Allow breaking very long words so they don't overflow the popover's bounds
+ word-wrap: break-word;
+ background-color: $popover-bg;
+ background-clip: padding-box;
+ border: $popover-border-width solid $popover-border-color;
+ @include border-radius($popover-border-radius);
+ @include box-shadow($popover-box-shadow);
+
+ .arrow {
+ position: absolute;
+ display: block;
+ width: $popover-arrow-width;
+ height: $popover-arrow-height;
+ margin: 0 $popover-border-radius;
+
+ &::before,
+ &::after {
+ position: absolute;
+ display: block;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+ }
+ }
+}
+
+.bs-popover-top {
+ margin-bottom: $popover-arrow-height;
+
+ > .arrow {
+ bottom: subtract(-$popover-arrow-height, $popover-border-width);
+
+ &::before {
+ bottom: 0;
+ border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
+ border-top-color: $popover-arrow-outer-color;
+ }
+
+ &::after {
+ bottom: $popover-border-width;
+ border-width: $popover-arrow-height ($popover-arrow-width / 2) 0;
+ border-top-color: $popover-arrow-color;
+ }
+ }
+}
+
+.bs-popover-right {
+ margin-left: $popover-arrow-height;
+
+ > .arrow {
+ left: subtract(-$popover-arrow-height, $popover-border-width);
+ width: $popover-arrow-height;
+ height: $popover-arrow-width;
+ margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners
+
+ &::before {
+ left: 0;
+ border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
+ border-right-color: $popover-arrow-outer-color;
+ }
+
+ &::after {
+ left: $popover-border-width;
+ border-width: ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2) 0;
+ border-right-color: $popover-arrow-color;
+ }
+ }
+}
+
+.bs-popover-bottom {
+ margin-top: $popover-arrow-height;
+
+ > .arrow {
+ top: subtract(-$popover-arrow-height, $popover-border-width);
+
+ &::before {
+ top: 0;
+ border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
+ border-bottom-color: $popover-arrow-outer-color;
+ }
+
+ &::after {
+ top: $popover-border-width;
+ border-width: 0 ($popover-arrow-width / 2) $popover-arrow-height ($popover-arrow-width / 2);
+ border-bottom-color: $popover-arrow-color;
+ }
+ }
+
+ // This will remove the popover-header's border just below the arrow
+ .popover-header::before {
+ position: absolute;
+ top: 0;
+ left: 50%;
+ display: block;
+ width: $popover-arrow-width;
+ margin-left: -$popover-arrow-width / 2;
+ content: "";
+ border-bottom: $popover-border-width solid $popover-header-bg;
+ }
+}
+
+.bs-popover-left {
+ margin-right: $popover-arrow-height;
+
+ > .arrow {
+ right: subtract(-$popover-arrow-height, $popover-border-width);
+ width: $popover-arrow-height;
+ height: $popover-arrow-width;
+ margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners
+
+ &::before {
+ right: 0;
+ border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
+ border-left-color: $popover-arrow-outer-color;
+ }
+
+ &::after {
+ right: $popover-border-width;
+ border-width: ($popover-arrow-width / 2) 0 ($popover-arrow-width / 2) $popover-arrow-height;
+ border-left-color: $popover-arrow-color;
+ }
+ }
+}
+
+.bs-popover-auto {
+ &[x-placement^="top"] {
+ @extend .bs-popover-top;
+ }
+ &[x-placement^="right"] {
+ @extend .bs-popover-right;
+ }
+ &[x-placement^="bottom"] {
+ @extend .bs-popover-bottom;
+ }
+ &[x-placement^="left"] {
+ @extend .bs-popover-left;
+ }
+}
+
+
+// Offset the popover to account for the popover arrow
+.popover-header {
+ padding: $popover-header-padding-y $popover-header-padding-x;
+ margin-bottom: 0; // Reset the default from Reboot
+ @include font-size($font-size-base);
+ color: $popover-header-color;
+ background-color: $popover-header-bg;
+ border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);
+ @include border-top-radius($popover-inner-border-radius);
+
+ &:empty {
+ display: none;
+ }
+}
+
+.popover-body {
+ padding: $popover-body-padding-y $popover-body-padding-x;
+ color: $popover-body-color;
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_print.scss b/jekyll-openapi/_sass/bootstrap/scss/_print.scss
new file mode 100644
index 0000000..8f73024
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_print.scss
@@ -0,0 +1,141 @@
+// stylelint-disable declaration-no-important, selector-no-qualifying-type
+
+// Source: https://github.com/h5bp/main.css/blob/master/src/_print.css
+
+// ==========================================================================
+// Print styles.
+// Inlined to avoid the additional HTTP request:
+// https://www.phpied.com/delay-loading-your-print-css/
+// ==========================================================================
+
+@if $enable-print-styles {
+ @media print {
+ *,
+ *::before,
+ *::after {
+ // Bootstrap specific; comment out `color` and `background`
+ //color: $black !important; // Black prints faster
+ text-shadow: none !important;
+ //background: transparent !important;
+ box-shadow: none !important;
+ }
+
+ a {
+ &:not(.btn) {
+ text-decoration: underline;
+ }
+ }
+
+ // Bootstrap specific; comment the following selector out
+ //a[href]::after {
+ // content: " (" attr(href) ")";
+ //}
+
+ abbr[title]::after {
+ content: " (" attr(title) ")";
+ }
+
+ // Bootstrap specific; comment the following selector out
+ //
+ // Don't show links that are fragment identifiers,
+ // or use the `javascript:` pseudo protocol
+ //
+
+ //a[href^="#"]::after,
+ //a[href^="javascript:"]::after {
+ // content: "";
+ //}
+
+ pre {
+ white-space: pre-wrap !important;
+ }
+ pre,
+ blockquote {
+ border: $border-width solid $gray-500; // Bootstrap custom code; using `$border-width` instead of 1px
+ page-break-inside: avoid;
+ }
+
+ //
+ // Printing Tables:
+ // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
+ //
+
+ thead {
+ display: table-header-group;
+ }
+
+ tr,
+ img {
+ page-break-inside: avoid;
+ }
+
+ p,
+ h2,
+ h3 {
+ orphans: 3;
+ widows: 3;
+ }
+
+ h2,
+ h3 {
+ page-break-after: avoid;
+ }
+
+ // Bootstrap specific changes start
+
+ // Specify a size and min-width to make printing closer across browsers.
+ // We don't set margin here because it breaks `size` in Chrome. We also
+ // don't use `!important` on `size` as it breaks in Chrome.
+ @page {
+ size: $print-page-size;
+ }
+ body {
+ min-width: $print-body-min-width !important;
+ }
+ .container {
+ min-width: $print-body-min-width !important;
+ }
+
+ // Bootstrap components
+ .navbar {
+ display: none;
+ }
+ .badge {
+ border: $border-width solid $black;
+ }
+
+ .table {
+ border-collapse: collapse !important;
+
+ td,
+ th {
+ background-color: $white !important;
+ }
+ }
+
+ .table-bordered {
+ th,
+ td {
+ border: 1px solid $gray-300 !important;
+ }
+ }
+
+ .table-dark {
+ color: inherit;
+
+ th,
+ td,
+ thead th,
+ tbody + tbody {
+ border-color: $table-border-color;
+ }
+ }
+
+ .table .thead-dark th {
+ color: inherit;
+ border-color: $table-border-color;
+ }
+
+ // Bootstrap specific changes end
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_progress.scss b/jekyll-openapi/_sass/bootstrap/scss/_progress.scss
new file mode 100644
index 0000000..1a03704
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_progress.scss
@@ -0,0 +1,47 @@
+// Disable animation if transitions are disabled
+@if $enable-transitions {
+ @keyframes progress-bar-stripes {
+ from { background-position: $progress-height 0; }
+ to { background-position: 0 0; }
+ }
+}
+
+.progress {
+ display: flex;
+ height: $progress-height;
+ overflow: hidden; // force rounded corners by cropping it
+ line-height: 0;
+ @include font-size($progress-font-size);
+ background-color: $progress-bg;
+ @include border-radius($progress-border-radius);
+ @include box-shadow($progress-box-shadow);
+}
+
+.progress-bar {
+ display: flex;
+ flex-direction: column;
+ justify-content: center;
+ overflow: hidden;
+ color: $progress-bar-color;
+ text-align: center;
+ white-space: nowrap;
+ background-color: $progress-bar-bg;
+ @include transition($progress-bar-transition);
+}
+
+.progress-bar-striped {
+ @include gradient-striped();
+ background-size: $progress-height $progress-height;
+}
+
+@if $enable-transitions {
+ .progress-bar-animated {
+ animation: progress-bar-stripes $progress-bar-animation-timing;
+
+ @if $enable-prefers-reduced-motion-media-query {
+ @media (prefers-reduced-motion: reduce) {
+ animation: none;
+ }
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_reboot.scss b/jekyll-openapi/_sass/bootstrap/scss/_reboot.scss
new file mode 100644
index 0000000..6f73466
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_reboot.scss
@@ -0,0 +1,484 @@
+// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix
+
+// Reboot
+//
+// Normalization of HTML elements, manually forked from Normalize.css to remove
+// styles targeting irrelevant browsers while applying new styles.
+//
+// Normalize is licensed MIT. https://github.com/necolas/normalize.css
+
+
+// Document
+//
+// 1. Change from `box-sizing: content-box` so that `width` is not affected by `padding` or `border`.
+// 2. Change the default font family in all browsers.
+// 3. Correct the line height in all browsers.
+// 4. Prevent adjustments of font size after orientation changes in IE on Windows Phone and in iOS.
+// 5. Change the default tap highlight to be completely transparent in iOS.
+
+*,
+*::before,
+*::after {
+ box-sizing: border-box; // 1
+}
+
+html {
+ font-family: sans-serif; // 2
+ line-height: 1.15; // 3
+ -webkit-text-size-adjust: 100%; // 4
+ -webkit-tap-highlight-color: rgba($black, 0); // 5
+}
+
+// Shim for "new" HTML5 structural elements to display correctly (IE10, older browsers)
+// TODO: remove in v5
+// stylelint-disable-next-line selector-list-comma-newline-after
+article, aside, figcaption, figure, footer, header, hgroup, main, nav, section {
+ display: block;
+}
+
+// Body
+//
+// 1. Remove the margin in all browsers.
+// 2. As a best practice, apply a default `background-color`.
+// 3. Set an explicit initial text-align value so that we can later use
+// the `inherit` value on things like `` elements.
+
+body {
+ margin: 0; // 1
+ font-family: $font-family-base;
+ @include font-size($font-size-base);
+ font-weight: $font-weight-base;
+ line-height: $line-height-base;
+ color: $body-color;
+ text-align: left; // 3
+ background-color: $body-bg; // 2
+}
+
+// Future-proof rule: in browsers that support :focus-visible, suppress the focus outline
+// on elements that programmatically receive focus but wouldn't normally show a visible
+// focus outline. In general, this would mean that the outline is only applied if the
+// interaction that led to the element receiving programmatic focus was a keyboard interaction,
+// or the browser has somehow determined that the user is primarily a keyboard user and/or
+// wants focus outlines to always be presented.
+//
+// See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible
+// and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/
+[tabindex="-1"]:focus:not(:focus-visible) {
+ outline: 0 !important;
+}
+
+
+// Content grouping
+//
+// 1. Add the correct box sizing in Firefox.
+// 2. Show the overflow in Edge and IE.
+
+hr {
+ box-sizing: content-box; // 1
+ height: 0; // 1
+ overflow: visible; // 2
+}
+
+
+//
+// Typography
+//
+
+// Remove top margins from headings
+//
+// By default, ``-`` all receive top and bottom margins. We nuke the top
+// margin for easier control within type scales as it avoids margin collapsing.
+// stylelint-disable-next-line selector-list-comma-newline-after
+h1, h2, h3, h4, h5, h6 {
+ margin-top: 0;
+ margin-bottom: $headings-margin-bottom;
+}
+
+// Reset margins on paragraphs
+//
+// Similarly, the top margin on ` `s get reset. However, we also reset the
+// bottom margin to use `rem` units instead of `em`.
+p {
+ margin-top: 0;
+ margin-bottom: $paragraph-margin-bottom;
+}
+
+// Abbreviations
+//
+// 1. Duplicate behavior to the data-* attribute for our tooltip plugin
+// 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
+// 3. Add explicit cursor to indicate changed behavior.
+// 4. Remove the bottom border in Firefox 39-.
+// 5. Prevent the text-decoration to be skipped.
+
+abbr[title],
+abbr[data-original-title] { // 1
+ text-decoration: underline; // 2
+ text-decoration: underline dotted; // 2
+ cursor: help; // 3
+ border-bottom: 0; // 4
+ text-decoration-skip-ink: none; // 5
+}
+
+address {
+ margin-bottom: 1rem;
+ font-style: normal;
+ line-height: inherit;
+}
+
+ol,
+ul,
+dl {
+ margin-top: 0;
+ margin-bottom: 1rem;
+}
+
+ol ol,
+ul ul,
+ol ul,
+ul ol {
+ margin-bottom: 0;
+}
+
+dt {
+ font-weight: $dt-font-weight;
+}
+
+dd {
+ margin-bottom: .5rem;
+ margin-left: 0; // Undo browser default
+}
+
+blockquote {
+ margin: 0 0 1rem;
+}
+
+b,
+strong {
+ font-weight: $font-weight-bolder; // Add the correct font weight in Chrome, Edge, and Safari
+}
+
+small {
+ @include font-size(80%); // Add the correct font size in all browsers
+}
+
+//
+// Prevent `sub` and `sup` elements from affecting the line height in
+// all browsers.
+//
+
+sub,
+sup {
+ position: relative;
+ @include font-size(75%);
+ line-height: 0;
+ vertical-align: baseline;
+}
+
+sub { bottom: -.25em; }
+sup { top: -.5em; }
+
+
+//
+// Links
+//
+
+a {
+ color: $link-color;
+ text-decoration: $link-decoration;
+ background-color: transparent; // Remove the gray background on active links in IE 10.
+
+ @include hover() {
+ color: $link-hover-color;
+ text-decoration: $link-hover-decoration;
+ }
+}
+
+// And undo these styles for placeholder links/named anchors (without href).
+// It would be more straightforward to just use a[href] in previous block, but that
+// causes specificity issues in many other styles that are too complex to fix.
+// See https://github.com/twbs/bootstrap/issues/19402
+
+a:not([href]):not([class]) {
+ color: inherit;
+ text-decoration: none;
+
+ @include hover() {
+ color: inherit;
+ text-decoration: none;
+ }
+}
+
+
+//
+// Code
+//
+
+pre,
+code,
+kbd,
+samp {
+ font-family: $font-family-monospace;
+ @include font-size(1em); // Correct the odd `em` font sizing in all browsers.
+}
+
+pre {
+ // Remove browser default top margin
+ margin-top: 0;
+ // Reset browser default of `1em` to use `rem`s
+ margin-bottom: 1rem;
+ // Don't allow content to break outside
+ overflow: auto;
+ // Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,
+ // making it impossible to interact with the content
+ -ms-overflow-style: scrollbar;
+}
+
+
+//
+// Figures
+//
+
+figure {
+ // Apply a consistent margin strategy (matches our type styles).
+ margin: 0 0 1rem;
+}
+
+
+//
+// Images and content
+//
+
+img {
+ vertical-align: middle;
+ border-style: none; // Remove the border on images inside links in IE 10-.
+}
+
+svg {
+ // Workaround for the SVG overflow bug in IE10/11 is still required.
+ // See https://github.com/twbs/bootstrap/issues/26878
+ overflow: hidden;
+ vertical-align: middle;
+}
+
+
+//
+// Tables
+//
+
+table {
+ border-collapse: collapse; // Prevent double borders
+}
+
+caption {
+ padding-top: $table-cell-padding;
+ padding-bottom: $table-cell-padding;
+ color: $table-caption-color;
+ text-align: left;
+ caption-side: bottom;
+}
+
+// 1. Removes font-weight bold by inheriting
+// 2. Matches default `
` alignment by inheriting `text-align`.
+// 3. Fix alignment for Safari
+
+th {
+ font-weight: $table-th-font-weight; // 1
+ text-align: inherit; // 2
+ text-align: -webkit-match-parent; // 3
+}
+
+
+//
+// Forms
+//
+
+label {
+ // Allow labels to use `margin` for spacing.
+ display: inline-block;
+ margin-bottom: $label-margin-bottom;
+}
+
+// Remove the default `border-radius` that macOS Chrome adds.
+//
+// Details at https://github.com/twbs/bootstrap/issues/24093
+button {
+ // stylelint-disable-next-line property-disallowed-list
+ border-radius: 0;
+}
+
+// Work around a Firefox/IE bug where the transparent `button` background
+// results in a loss of the default `button` focus styles.
+//
+// Credit: https://github.com/suitcss/base/
+button:focus {
+ outline: 1px dotted;
+ outline: 5px auto -webkit-focus-ring-color;
+}
+
+input,
+button,
+select,
+optgroup,
+textarea {
+ margin: 0; // Remove the margin in Firefox and Safari
+ font-family: inherit;
+ @include font-size(inherit);
+ line-height: inherit;
+}
+
+button,
+input {
+ overflow: visible; // Show the overflow in Edge
+}
+
+button,
+select {
+ text-transform: none; // Remove the inheritance of text transform in Firefox
+}
+
+// Set the cursor for non-`` buttons
+//
+// Details at https://github.com/twbs/bootstrap/pull/30562
+[role="button"] {
+ cursor: pointer;
+}
+
+// Remove the inheritance of word-wrap in Safari.
+//
+// Details at https://github.com/twbs/bootstrap/issues/24990
+select {
+ word-wrap: normal;
+}
+
+
+// 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
+// controls in Android 4.
+// 2. Correct the inability to style clickable types in iOS and Safari.
+button,
+[type="button"], // 1
+[type="reset"],
+[type="submit"] {
+ -webkit-appearance: button; // 2
+}
+
+// Opinionated: add "hand" cursor to non-disabled button elements.
+@if $enable-pointer-cursor-for-buttons {
+ button,
+ [type="button"],
+ [type="reset"],
+ [type="submit"] {
+ &:not(:disabled) {
+ cursor: pointer;
+ }
+ }
+}
+
+// Remove inner border and padding from Firefox, but don't restore the outline like Normalize.
+button::-moz-focus-inner,
+[type="button"]::-moz-focus-inner,
+[type="reset"]::-moz-focus-inner,
+[type="submit"]::-moz-focus-inner {
+ padding: 0;
+ border-style: none;
+}
+
+input[type="radio"],
+input[type="checkbox"] {
+ box-sizing: border-box; // 1. Add the correct box sizing in IE 10-
+ padding: 0; // 2. Remove the padding in IE 10-
+}
+
+
+textarea {
+ overflow: auto; // Remove the default vertical scrollbar in IE.
+ // Textareas should really only resize vertically so they don't break their (horizontal) containers.
+ resize: vertical;
+}
+
+fieldset {
+ // Browsers set a default `min-width: min-content;` on fieldsets,
+ // unlike e.g. ``s, which have `min-width: 0;` by default.
+ // So we reset that to ensure fieldsets behave more like a standard block element.
+ // See https://github.com/twbs/bootstrap/issues/12359
+ // and https://html.spec.whatwg.org/multipage/#the-fieldset-and-legend-elements
+ min-width: 0;
+ // Reset the default outline behavior of fieldsets so they don't affect page layout.
+ padding: 0;
+ margin: 0;
+ border: 0;
+}
+
+// 1. Correct the text wrapping in Edge and IE.
+// 2. Correct the color inheritance from `fieldset` elements in IE.
+legend {
+ display: block;
+ width: 100%;
+ max-width: 100%; // 1
+ padding: 0;
+ margin-bottom: .5rem;
+ @include font-size(1.5rem);
+ line-height: inherit;
+ color: inherit; // 2
+ white-space: normal; // 1
+}
+
+progress {
+ vertical-align: baseline; // Add the correct vertical alignment in Chrome, Firefox, and Opera.
+}
+
+// Correct the cursor style of increment and decrement buttons in Chrome.
+[type="number"]::-webkit-inner-spin-button,
+[type="number"]::-webkit-outer-spin-button {
+ height: auto;
+}
+
+[type="search"] {
+ // This overrides the extra rounded corners on search inputs in iOS so that our
+ // `.form-control` class can properly style them. Note that this cannot simply
+ // be added to `.form-control` as it's not specific enough. For details, see
+ // https://github.com/twbs/bootstrap/issues/11586.
+ outline-offset: -2px; // 2. Correct the outline style in Safari.
+ -webkit-appearance: none;
+}
+
+//
+// Remove the inner padding in Chrome and Safari on macOS.
+//
+
+[type="search"]::-webkit-search-decoration {
+ -webkit-appearance: none;
+}
+
+//
+// 1. Correct the inability to style clickable types in iOS and Safari.
+// 2. Change font properties to `inherit` in Safari.
+//
+
+::-webkit-file-upload-button {
+ font: inherit; // 2
+ -webkit-appearance: button; // 1
+}
+
+//
+// Correct element displays
+//
+
+output {
+ display: inline-block;
+}
+
+summary {
+ display: list-item; // Add the correct display in all browsers
+ cursor: pointer;
+}
+
+template {
+ display: none; // Add the correct display in IE
+}
+
+// Always hide an element with the `hidden` HTML attribute (from PureCSS).
+// Needed for proper display in IE 10-.
+[hidden] {
+ display: none !important;
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_root.scss b/jekyll-openapi/_sass/bootstrap/scss/_root.scss
new file mode 100644
index 0000000..8110030
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_root.scss
@@ -0,0 +1,20 @@
+// Do not forget to update getting-started/theming.md!
+:root {
+ // Custom variable values only support SassScript inside `#{}`.
+ @each $color, $value in $colors {
+ --#{$color}: #{$value};
+ }
+
+ @each $color, $value in $theme-colors {
+ --#{$color}: #{$value};
+ }
+
+ @each $bp, $value in $grid-breakpoints {
+ --breakpoint-#{$bp}: #{$value};
+ }
+
+ // Use `inspect` for lists so that quoted items keep the quotes.
+ // See https://github.com/sass/sass/issues/2383#issuecomment-336349172
+ --font-family-sans-serif: #{inspect($font-family-sans-serif)};
+ --font-family-monospace: #{inspect($font-family-monospace)};
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_spinners.scss b/jekyll-openapi/_sass/bootstrap/scss/_spinners.scss
new file mode 100644
index 0000000..146c820
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_spinners.scss
@@ -0,0 +1,56 @@
+//
+// Rotating border
+//
+
+@keyframes spinner-border {
+ to { transform: rotate(360deg); }
+}
+
+.spinner-border {
+ display: inline-block;
+ width: $spinner-width;
+ height: $spinner-height;
+ vertical-align: text-bottom;
+ border: $spinner-border-width solid currentColor;
+ border-right-color: transparent;
+ // stylelint-disable-next-line property-disallowed-list
+ border-radius: 50%;
+ animation: spinner-border .75s linear infinite;
+}
+
+.spinner-border-sm {
+ width: $spinner-width-sm;
+ height: $spinner-height-sm;
+ border-width: $spinner-border-width-sm;
+}
+
+//
+// Growing circle
+//
+
+@keyframes spinner-grow {
+ 0% {
+ transform: scale(0);
+ }
+ 50% {
+ opacity: 1;
+ transform: none;
+ }
+}
+
+.spinner-grow {
+ display: inline-block;
+ width: $spinner-width;
+ height: $spinner-height;
+ vertical-align: text-bottom;
+ background-color: currentColor;
+ // stylelint-disable-next-line property-disallowed-list
+ border-radius: 50%;
+ opacity: 0;
+ animation: spinner-grow .75s linear infinite;
+}
+
+.spinner-grow-sm {
+ width: $spinner-width-sm;
+ height: $spinner-height-sm;
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_tables.scss b/jekyll-openapi/_sass/bootstrap/scss/_tables.scss
new file mode 100644
index 0000000..5fd77a4
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_tables.scss
@@ -0,0 +1,185 @@
+//
+// Basic Bootstrap table
+//
+
+.table {
+ width: 100%;
+ margin-bottom: $spacer;
+ color: $table-color;
+ background-color: $table-bg; // Reset for nesting within parents with `background-color`.
+
+ th,
+ td {
+ padding: $table-cell-padding;
+ vertical-align: top;
+ border-top: $table-border-width solid $table-border-color;
+ }
+
+ thead th {
+ vertical-align: bottom;
+ border-bottom: (2 * $table-border-width) solid $table-border-color;
+ }
+
+ tbody + tbody {
+ border-top: (2 * $table-border-width) solid $table-border-color;
+ }
+}
+
+
+//
+// Condensed table w/ half padding
+//
+
+.table-sm {
+ th,
+ td {
+ padding: $table-cell-padding-sm;
+ }
+}
+
+
+// Border versions
+//
+// Add or remove borders all around the table and between all the columns.
+
+.table-bordered {
+ border: $table-border-width solid $table-border-color;
+
+ th,
+ td {
+ border: $table-border-width solid $table-border-color;
+ }
+
+ thead {
+ th,
+ td {
+ border-bottom-width: 2 * $table-border-width;
+ }
+ }
+}
+
+.table-borderless {
+ th,
+ td,
+ thead th,
+ tbody + tbody {
+ border: 0;
+ }
+}
+
+// Zebra-striping
+//
+// Default zebra-stripe styles (alternating gray and transparent backgrounds)
+
+.table-striped {
+ tbody tr:nth-of-type(#{$table-striped-order}) {
+ background-color: $table-accent-bg;
+ }
+}
+
+
+// Hover effect
+//
+// Placed here since it has to come after the potential zebra striping
+
+.table-hover {
+ tbody tr {
+ @include hover() {
+ color: $table-hover-color;
+ background-color: $table-hover-bg;
+ }
+ }
+}
+
+
+// Table backgrounds
+//
+// Exact selectors below required to override `.table-striped` and prevent
+// inheritance to nested tables.
+
+@each $color, $value in $theme-colors {
+ @include table-row-variant($color, theme-color-level($color, $table-bg-level), theme-color-level($color, $table-border-level));
+}
+
+@include table-row-variant(active, $table-active-bg);
+
+
+// Dark styles
+//
+// Same table markup, but inverted color scheme: dark background and light text.
+
+// stylelint-disable-next-line no-duplicate-selectors
+.table {
+ .thead-dark {
+ th {
+ color: $table-dark-color;
+ background-color: $table-dark-bg;
+ border-color: $table-dark-border-color;
+ }
+ }
+
+ .thead-light {
+ th {
+ color: $table-head-color;
+ background-color: $table-head-bg;
+ border-color: $table-border-color;
+ }
+ }
+}
+
+.table-dark {
+ color: $table-dark-color;
+ background-color: $table-dark-bg;
+
+ th,
+ td,
+ thead th {
+ border-color: $table-dark-border-color;
+ }
+
+ &.table-bordered {
+ border: 0;
+ }
+
+ &.table-striped {
+ tbody tr:nth-of-type(#{$table-striped-order}) {
+ background-color: $table-dark-accent-bg;
+ }
+ }
+
+ &.table-hover {
+ tbody tr {
+ @include hover() {
+ color: $table-dark-hover-color;
+ background-color: $table-dark-hover-bg;
+ }
+ }
+ }
+}
+
+
+// Responsive tables
+//
+// Generate series of `.table-responsive-*` classes for configuring the screen
+// size of where your table will overflow.
+
+.table-responsive {
+ @each $breakpoint in map-keys($grid-breakpoints) {
+ $next: breakpoint-next($breakpoint, $grid-breakpoints);
+ $infix: breakpoint-infix($next, $grid-breakpoints);
+
+ {$infix} {
+ @include media-breakpoint-down($breakpoint) {
+ display: block;
+ width: 100%;
+ overflow-x: auto;
+ -webkit-overflow-scrolling: touch;
+
+ // Prevent double border on horizontal scroll due to use of `display: block;`
+ > .table-bordered {
+ border: 0;
+ }
+ }
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_toasts.scss b/jekyll-openapi/_sass/bootstrap/scss/_toasts.scss
new file mode 100644
index 0000000..f9ca8d9
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_toasts.scss
@@ -0,0 +1,46 @@
+.toast {
+ // Prevents from shrinking in IE11, when in a flex container
+ // See https://github.com/twbs/bootstrap/issues/28341
+ flex-basis: $toast-max-width;
+ max-width: $toast-max-width;
+ @include font-size($toast-font-size);
+ color: $toast-color;
+ background-color: $toast-background-color;
+ background-clip: padding-box;
+ border: $toast-border-width solid $toast-border-color;
+ box-shadow: $toast-box-shadow;
+ opacity: 0;
+ @include border-radius($toast-border-radius);
+
+ &:not(:last-child) {
+ margin-bottom: $toast-padding-x;
+ }
+
+ &.showing {
+ opacity: 1;
+ }
+
+ &.show {
+ display: block;
+ opacity: 1;
+ }
+
+ &.hide {
+ display: none;
+ }
+}
+
+.toast-header {
+ display: flex;
+ align-items: center;
+ padding: $toast-padding-y $toast-padding-x;
+ color: $toast-header-color;
+ background-color: $toast-header-background-color;
+ background-clip: padding-box;
+ border-bottom: $toast-border-width solid $toast-header-border-color;
+ @include border-top-radius(subtract($toast-border-radius, $toast-border-width));
+}
+
+.toast-body {
+ padding: $toast-padding-x; // apply to both vertical and horizontal
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_tooltip.scss b/jekyll-openapi/_sass/bootstrap/scss/_tooltip.scss
new file mode 100644
index 0000000..6b3aa62
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_tooltip.scss
@@ -0,0 +1,115 @@
+// Base class
+.tooltip {
+ position: absolute;
+ z-index: $zindex-tooltip;
+ display: block;
+ margin: $tooltip-margin;
+ // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
+ // So reset our font and text properties to avoid inheriting weird values.
+ @include reset-text();
+ @include font-size($tooltip-font-size);
+ // Allow breaking very long words so they don't overflow the tooltip's bounds
+ word-wrap: break-word;
+ opacity: 0;
+
+ &.show { opacity: $tooltip-opacity; }
+
+ .arrow {
+ position: absolute;
+ display: block;
+ width: $tooltip-arrow-width;
+ height: $tooltip-arrow-height;
+
+ &::before {
+ position: absolute;
+ content: "";
+ border-color: transparent;
+ border-style: solid;
+ }
+ }
+}
+
+.bs-tooltip-top {
+ padding: $tooltip-arrow-height 0;
+
+ .arrow {
+ bottom: 0;
+
+ &::before {
+ top: 0;
+ border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
+ border-top-color: $tooltip-arrow-color;
+ }
+ }
+}
+
+.bs-tooltip-right {
+ padding: 0 $tooltip-arrow-height;
+
+ .arrow {
+ left: 0;
+ width: $tooltip-arrow-height;
+ height: $tooltip-arrow-width;
+
+ &::before {
+ right: 0;
+ border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
+ border-right-color: $tooltip-arrow-color;
+ }
+ }
+}
+
+.bs-tooltip-bottom {
+ padding: $tooltip-arrow-height 0;
+
+ .arrow {
+ top: 0;
+
+ &::before {
+ bottom: 0;
+ border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
+ border-bottom-color: $tooltip-arrow-color;
+ }
+ }
+}
+
+.bs-tooltip-left {
+ padding: 0 $tooltip-arrow-height;
+
+ .arrow {
+ right: 0;
+ width: $tooltip-arrow-height;
+ height: $tooltip-arrow-width;
+
+ &::before {
+ left: 0;
+ border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
+ border-left-color: $tooltip-arrow-color;
+ }
+ }
+}
+
+.bs-tooltip-auto {
+ &[x-placement^="top"] {
+ @extend .bs-tooltip-top;
+ }
+ &[x-placement^="right"] {
+ @extend .bs-tooltip-right;
+ }
+ &[x-placement^="bottom"] {
+ @extend .bs-tooltip-bottom;
+ }
+ &[x-placement^="left"] {
+ @extend .bs-tooltip-left;
+ }
+}
+
+// Wrapper for the tooltip content
+.tooltip-inner {
+ max-width: $tooltip-max-width;
+ padding: $tooltip-padding-y $tooltip-padding-x;
+ color: $tooltip-color;
+ text-align: center;
+ background-color: $tooltip-bg;
+ @include border-radius($tooltip-border-radius);
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_transitions.scss b/jekyll-openapi/_sass/bootstrap/scss/_transitions.scss
new file mode 100644
index 0000000..40be4d9
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_transitions.scss
@@ -0,0 +1,20 @@
+.fade {
+ @include transition($transition-fade);
+
+ &:not(.show) {
+ opacity: 0;
+ }
+}
+
+.collapse {
+ &:not(.show) {
+ display: none;
+ }
+}
+
+.collapsing {
+ position: relative;
+ height: 0;
+ overflow: hidden;
+ @include transition($transition-collapse);
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_type.scss b/jekyll-openapi/_sass/bootstrap/scss/_type.scss
new file mode 100644
index 0000000..43dde7d
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_type.scss
@@ -0,0 +1,125 @@
+// stylelint-disable declaration-no-important, selector-list-comma-newline-after
+
+//
+// Headings
+//
+
+h1, h2, h3, h4, h5, h6,
+.h1, .h2, .h3, .h4, .h5, .h6 {
+ margin-bottom: $headings-margin-bottom;
+ font-family: $headings-font-family;
+ font-weight: $headings-font-weight;
+ line-height: $headings-line-height;
+ color: $headings-color;
+}
+
+h1, .h1 { @include font-size($h1-font-size); }
+h2, .h2 { @include font-size($h2-font-size); }
+h3, .h3 { @include font-size($h3-font-size); }
+h4, .h4 { @include font-size($h4-font-size); }
+h5, .h5 { @include font-size($h5-font-size); }
+h6, .h6 { @include font-size($h6-font-size); }
+
+.lead {
+ @include font-size($lead-font-size);
+ font-weight: $lead-font-weight;
+}
+
+// Type display classes
+.display-1 {
+ @include font-size($display1-size);
+ font-weight: $display1-weight;
+ line-height: $display-line-height;
+}
+.display-2 {
+ @include font-size($display2-size);
+ font-weight: $display2-weight;
+ line-height: $display-line-height;
+}
+.display-3 {
+ @include font-size($display3-size);
+ font-weight: $display3-weight;
+ line-height: $display-line-height;
+}
+.display-4 {
+ @include font-size($display4-size);
+ font-weight: $display4-weight;
+ line-height: $display-line-height;
+}
+
+
+//
+// Horizontal rules
+//
+
+hr {
+ margin-top: $hr-margin-y;
+ margin-bottom: $hr-margin-y;
+ border: 0;
+ border-top: $hr-border-width solid $hr-border-color;
+}
+
+
+//
+// Emphasis
+//
+
+small,
+.small {
+ @include font-size($small-font-size);
+ font-weight: $font-weight-normal;
+}
+
+mark,
+.mark {
+ padding: $mark-padding;
+ background-color: $mark-bg;
+}
+
+
+//
+// Lists
+//
+
+.list-unstyled {
+ @include list-unstyled();
+}
+
+// Inline turns list items into inline-block
+.list-inline {
+ @include list-unstyled();
+}
+.list-inline-item {
+ display: inline-block;
+
+ &:not(:last-child) {
+ margin-right: $list-inline-padding;
+ }
+}
+
+
+//
+// Misc
+//
+
+// Builds on `abbr`
+.initialism {
+ @include font-size(90%);
+ text-transform: uppercase;
+}
+
+// Blockquotes
+.blockquote {
+ margin-bottom: $spacer;
+ @include font-size($blockquote-font-size);
+}
+
+.blockquote-footer {
+ display: block;
+ @include font-size($blockquote-small-font-size);
+ color: $blockquote-small-color;
+
+ &::before {
+ content: "\2014\00A0"; // em dash, nbsp
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_utilities.scss b/jekyll-openapi/_sass/bootstrap/scss/_utilities.scss
new file mode 100644
index 0000000..10e31dd
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_utilities.scss
@@ -0,0 +1,18 @@
+@import "utilities/align";
+@import "utilities/background";
+@import "utilities/borders";
+@import "utilities/clearfix";
+@import "utilities/display";
+@import "utilities/embed";
+@import "utilities/flex";
+@import "utilities/float";
+@import "utilities/interactions";
+@import "utilities/overflow";
+@import "utilities/position";
+@import "utilities/screenreaders";
+@import "utilities/shadows";
+@import "utilities/sizing";
+@import "utilities/spacing";
+@import "utilities/stretched-link";
+@import "utilities/text";
+@import "utilities/visibility";
diff --git a/jekyll-openapi/_sass/bootstrap/scss/_variables.scss b/jekyll-openapi/_sass/bootstrap/scss/_variables.scss
new file mode 100644
index 0000000..d7171e5
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/_variables.scss
@@ -0,0 +1,1142 @@
+// Variables
+//
+// Variables should follow the `$component-state-property-size` formula for
+// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs.
+
+// Color system
+
+$white: #fff !default;
+$gray-100: #f8f9fa !default;
+$gray-200: #e9ecef !default;
+$gray-300: #dee2e6 !default;
+$gray-400: #ced4da !default;
+$gray-500: #adb5bd !default;
+$gray-600: #6c757d !default;
+$gray-700: #495057 !default;
+$gray-800: #343a40 !default;
+$gray-900: #212529 !default;
+$black: #000 !default;
+
+$grays: () !default;
+$grays: map-merge(
+ (
+ "100": $gray-100,
+ "200": $gray-200,
+ "300": $gray-300,
+ "400": $gray-400,
+ "500": $gray-500,
+ "600": $gray-600,
+ "700": $gray-700,
+ "800": $gray-800,
+ "900": $gray-900
+ ),
+ $grays
+);
+
+$blue: #007bff !default;
+$indigo: #6610f2 !default;
+$purple: #6f42c1 !default;
+$pink: #e83e8c !default;
+$red: #dc3545 !default;
+$orange: #fd7e14 !default;
+$yellow: #ffc107 !default;
+$green: #28a745 !default;
+$teal: #20c997 !default;
+$cyan: #17a2b8 !default;
+
+$colors: () !default;
+$colors: map-merge(
+ (
+ "blue": $blue,
+ "indigo": $indigo,
+ "purple": $purple,
+ "pink": $pink,
+ "red": $red,
+ "orange": $orange,
+ "yellow": $yellow,
+ "green": $green,
+ "teal": $teal,
+ "cyan": $cyan,
+ "white": $white,
+ "gray": $gray-600,
+ "gray-dark": $gray-800
+ ),
+ $colors
+);
+
+$primary: $blue !default;
+$secondary: $gray-600 !default;
+$success: $green !default;
+$info: $cyan !default;
+$warning: $yellow !default;
+$danger: $red !default;
+$light: $gray-100 !default;
+$dark: $gray-800 !default;
+
+$theme-colors: () !default;
+$theme-colors: map-merge(
+ (
+ "primary": $primary,
+ "secondary": $secondary,
+ "success": $success,
+ "info": $info,
+ "warning": $warning,
+ "danger": $danger,
+ "light": $light,
+ "dark": $dark
+ ),
+ $theme-colors
+);
+
+// Set a specific jump point for requesting color jumps
+$theme-color-interval: 8% !default;
+
+// The yiq lightness value that determines when the lightness of color changes from "dark" to "light". Acceptable values are between 0 and 255.
+$yiq-contrasted-threshold: 150 !default;
+
+// Customize the light and dark text colors for use in our YIQ color contrast function.
+$yiq-text-dark: $gray-900 !default;
+$yiq-text-light: $white !default;
+
+// Characters which are escaped by the escape-svg function
+$escaped-characters: (
+ ("<", "%3c"),
+ (">", "%3e"),
+ ("#", "%23"),
+ ("(", "%28"),
+ (")", "%29"),
+) !default;
+
+
+// Options
+//
+// Quickly modify global styling by enabling or disabling optional features.
+
+$enable-caret: true !default;
+$enable-rounded: true !default;
+$enable-shadows: false !default;
+$enable-gradients: false !default;
+$enable-transitions: true !default;
+$enable-prefers-reduced-motion-media-query: true !default;
+$enable-hover-media-query: false !default; // Deprecated, no longer affects any compiled CSS
+$enable-grid-classes: true !default;
+$enable-pointer-cursor-for-buttons: true !default;
+$enable-print-styles: true !default;
+$enable-responsive-font-sizes: false !default;
+$enable-validation-icons: true !default;
+$enable-deprecation-messages: true !default;
+
+
+// Spacing
+//
+// Control the default styling of most Bootstrap elements by modifying these
+// variables. Mostly focused on spacing.
+// You can add more entries to the $spacers map, should you need more variation.
+
+$spacer: 1rem !default;
+$spacers: () !default;
+$spacers: map-merge(
+ (
+ 0: 0,
+ 1: ($spacer * .25),
+ 2: ($spacer * .5),
+ 3: $spacer,
+ 4: ($spacer * 1.5),
+ 5: ($spacer * 3)
+ ),
+ $spacers
+);
+
+// This variable affects the `.h-*` and `.w-*` classes.
+$sizes: () !default;
+$sizes: map-merge(
+ (
+ 25: 25%,
+ 50: 50%,
+ 75: 75%,
+ 100: 100%,
+ auto: auto
+ ),
+ $sizes
+);
+
+
+// Body
+//
+// Settings for the `` element.
+
+$body-bg: $white !default;
+$body-color: $gray-900 !default;
+
+
+// Links
+//
+// Style anchor elements.
+
+$link-color: theme-color("primary") !default;
+$link-decoration: none !default;
+$link-hover-color: darken($link-color, 15%) !default;
+$link-hover-decoration: underline !default;
+// Darken percentage for links with `.text-*` class (e.g. `.text-success`)
+$emphasized-link-hover-darken-percentage: 15% !default;
+
+// Paragraphs
+//
+// Style p element.
+
+$paragraph-margin-bottom: 1rem !default;
+
+
+// Grid breakpoints
+//
+// Define the minimum dimensions at which your layout will change,
+// adapting to different screen sizes, for use in media queries.
+
+$grid-breakpoints: (
+ xs: 0,
+ sm: 576px,
+ md: 768px,
+ lg: 992px,
+ xl: 1200px
+) !default;
+
+@include _assert-ascending($grid-breakpoints, "$grid-breakpoints");
+@include _assert-starts-at-zero($grid-breakpoints, "$grid-breakpoints");
+
+
+// Grid containers
+//
+// Define the maximum width of `.container` for different screen sizes.
+
+$container-max-widths: (
+ sm: 540px,
+ md: 720px,
+ lg: 960px,
+ xl: 1140px
+) !default;
+
+@include _assert-ascending($container-max-widths, "$container-max-widths");
+
+
+// Grid columns
+//
+// Set the number of columns and specify the width of the gutters.
+
+$grid-columns: 12 !default;
+$grid-gutter-width: 30px !default;
+$grid-row-columns: 6 !default;
+
+
+// Components
+//
+// Define common padding and border radius sizes and more.
+
+$line-height-lg: 1.5 !default;
+$line-height-sm: 1.5 !default;
+
+$border-width: 1px !default;
+$border-color: $gray-300 !default;
+
+$border-radius: .25rem !default;
+$border-radius-lg: .3rem !default;
+$border-radius-sm: .2rem !default;
+
+$rounded-pill: 50rem !default;
+
+$box-shadow-sm: 0 .125rem .25rem rgba($black, .075) !default;
+$box-shadow: 0 .5rem 1rem rgba($black, .15) !default;
+$box-shadow-lg: 0 1rem 3rem rgba($black, .175) !default;
+
+$component-active-color: $white !default;
+$component-active-bg: theme-color("primary") !default;
+
+$caret-width: .3em !default;
+$caret-vertical-align: $caret-width * .85 !default;
+$caret-spacing: $caret-width * .85 !default;
+
+$transition-base: all .2s ease-in-out !default;
+$transition-fade: opacity .15s linear !default;
+$transition-collapse: height .35s ease !default;
+
+$embed-responsive-aspect-ratios: () !default;
+$embed-responsive-aspect-ratios: join(
+ (
+ (21 9),
+ (16 9),
+ (4 3),
+ (1 1),
+ ),
+ $embed-responsive-aspect-ratios
+);
+
+// Typography
+//
+// Font, line-height, and color for body text, headings, and more.
+
+// stylelint-disable value-keyword-case
+$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
+$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
+$font-family-base: $font-family-sans-serif !default;
+// stylelint-enable value-keyword-case
+
+$font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
+$font-size-lg: $font-size-base * 1.25 !default;
+$font-size-sm: $font-size-base * .875 !default;
+
+$font-weight-lighter: lighter !default;
+$font-weight-light: 300 !default;
+$font-weight-normal: 400 !default;
+$font-weight-bold: 700 !default;
+$font-weight-bolder: bolder !default;
+
+$font-weight-base: $font-weight-normal !default;
+$line-height-base: 1.5 !default;
+
+$h1-font-size: $font-size-base * 2.5 !default;
+$h2-font-size: $font-size-base * 2 !default;
+$h3-font-size: $font-size-base * 1.75 !default;
+$h4-font-size: $font-size-base * 1.5 !default;
+$h5-font-size: $font-size-base * 1.25 !default;
+$h6-font-size: $font-size-base !default;
+
+$headings-margin-bottom: $spacer / 2 !default;
+$headings-font-family: null !default;
+$headings-font-weight: 500 !default;
+$headings-line-height: 1.2 !default;
+$headings-color: null !default;
+
+$display1-size: 6rem !default;
+$display2-size: 5.5rem !default;
+$display3-size: 4.5rem !default;
+$display4-size: 3.5rem !default;
+
+$display1-weight: 300 !default;
+$display2-weight: 300 !default;
+$display3-weight: 300 !default;
+$display4-weight: 300 !default;
+$display-line-height: $headings-line-height !default;
+
+$lead-font-size: $font-size-base * 1.25 !default;
+$lead-font-weight: 300 !default;
+
+$small-font-size: 80% !default;
+
+$text-muted: $gray-600 !default;
+
+$blockquote-small-color: $gray-600 !default;
+$blockquote-small-font-size: $small-font-size !default;
+$blockquote-font-size: $font-size-base * 1.25 !default;
+
+$hr-border-color: rgba($black, .1) !default;
+$hr-border-width: $border-width !default;
+
+$mark-padding: .2em !default;
+
+$dt-font-weight: $font-weight-bold !default;
+
+$kbd-box-shadow: inset 0 -.1rem 0 rgba($black, .25) !default;
+$nested-kbd-font-weight: $font-weight-bold !default;
+
+$list-inline-padding: .5rem !default;
+
+$mark-bg: #fcf8e3 !default;
+
+$hr-margin-y: $spacer !default;
+
+
+// Tables
+//
+// Customizes the `.table` component with basic values, each used across all table variations.
+
+$table-cell-padding: .75rem !default;
+$table-cell-padding-sm: .3rem !default;
+
+$table-color: $body-color !default;
+$table-bg: null !default;
+$table-accent-bg: rgba($black, .05) !default;
+$table-hover-color: $table-color !default;
+$table-hover-bg: rgba($black, .075) !default;
+$table-active-bg: $table-hover-bg !default;
+
+$table-border-width: $border-width !default;
+$table-border-color: $border-color !default;
+
+$table-head-bg: $gray-200 !default;
+$table-head-color: $gray-700 !default;
+$table-th-font-weight: null !default;
+
+$table-dark-color: $white !default;
+$table-dark-bg: $gray-800 !default;
+$table-dark-accent-bg: rgba($white, .05) !default;
+$table-dark-hover-color: $table-dark-color !default;
+$table-dark-hover-bg: rgba($white, .075) !default;
+$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;
+
+$table-striped-order: odd !default;
+
+$table-caption-color: $text-muted !default;
+
+$table-bg-level: -9 !default;
+$table-border-level: -6 !default;
+
+
+// Buttons + Forms
+//
+// Shared variables that are reassigned to `$input-` and `$btn-` specific variables.
+
+$input-btn-padding-y: .375rem !default;
+$input-btn-padding-x: .75rem !default;
+$input-btn-font-family: null !default;
+$input-btn-font-size: $font-size-base !default;
+$input-btn-line-height: $line-height-base !default;
+
+$input-btn-focus-width: .2rem !default;
+$input-btn-focus-color: rgba($component-active-bg, .25) !default;
+$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color !default;
+
+$input-btn-padding-y-sm: .25rem !default;
+$input-btn-padding-x-sm: .5rem !default;
+$input-btn-font-size-sm: $font-size-sm !default;
+$input-btn-line-height-sm: $line-height-sm !default;
+
+$input-btn-padding-y-lg: .5rem !default;
+$input-btn-padding-x-lg: 1rem !default;
+$input-btn-font-size-lg: $font-size-lg !default;
+$input-btn-line-height-lg: $line-height-lg !default;
+
+$input-btn-border-width: $border-width !default;
+
+
+// Buttons
+//
+// For each of Bootstrap's buttons, define text, background, and border color.
+
+$btn-padding-y: $input-btn-padding-y !default;
+$btn-padding-x: $input-btn-padding-x !default;
+$btn-font-family: $input-btn-font-family !default;
+$btn-font-size: $input-btn-font-size !default;
+$btn-line-height: $input-btn-line-height !default;
+$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping
+
+$btn-padding-y-sm: $input-btn-padding-y-sm !default;
+$btn-padding-x-sm: $input-btn-padding-x-sm !default;
+$btn-font-size-sm: $input-btn-font-size-sm !default;
+$btn-line-height-sm: $input-btn-line-height-sm !default;
+
+$btn-padding-y-lg: $input-btn-padding-y-lg !default;
+$btn-padding-x-lg: $input-btn-padding-x-lg !default;
+$btn-font-size-lg: $input-btn-font-size-lg !default;
+$btn-line-height-lg: $input-btn-line-height-lg !default;
+
+$btn-border-width: $input-btn-border-width !default;
+
+$btn-font-weight: $font-weight-normal !default;
+$btn-box-shadow: inset 0 1px 0 rgba($white, .15), 0 1px 1px rgba($black, .075) !default;
+$btn-focus-width: $input-btn-focus-width !default;
+$btn-focus-box-shadow: $input-btn-focus-box-shadow !default;
+$btn-disabled-opacity: .65 !default;
+$btn-active-box-shadow: inset 0 3px 5px rgba($black, .125) !default;
+
+$btn-link-disabled-color: $gray-600 !default;
+
+$btn-block-spacing-y: .5rem !default;
+
+// Allows for customizing button radius independently from global border radius
+$btn-border-radius: $border-radius !default;
+$btn-border-radius-lg: $border-radius-lg !default;
+$btn-border-radius-sm: $border-radius-sm !default;
+
+$btn-transition: color .15s ease-in-out, background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
+
+
+// Forms
+
+$label-margin-bottom: .5rem !default;
+
+$input-padding-y: $input-btn-padding-y !default;
+$input-padding-x: $input-btn-padding-x !default;
+$input-font-family: $input-btn-font-family !default;
+$input-font-size: $input-btn-font-size !default;
+$input-font-weight: $font-weight-base !default;
+$input-line-height: $input-btn-line-height !default;
+
+$input-padding-y-sm: $input-btn-padding-y-sm !default;
+$input-padding-x-sm: $input-btn-padding-x-sm !default;
+$input-font-size-sm: $input-btn-font-size-sm !default;
+$input-line-height-sm: $input-btn-line-height-sm !default;
+
+$input-padding-y-lg: $input-btn-padding-y-lg !default;
+$input-padding-x-lg: $input-btn-padding-x-lg !default;
+$input-font-size-lg: $input-btn-font-size-lg !default;
+$input-line-height-lg: $input-btn-line-height-lg !default;
+
+$input-bg: $white !default;
+$input-disabled-bg: $gray-200 !default;
+
+$input-color: $gray-700 !default;
+$input-border-color: $gray-400 !default;
+$input-border-width: $input-btn-border-width !default;
+$input-box-shadow: inset 0 1px 1px rgba($black, .075) !default;
+
+$input-border-radius: $border-radius !default;
+$input-border-radius-lg: $border-radius-lg !default;
+$input-border-radius-sm: $border-radius-sm !default;
+
+$input-focus-bg: $input-bg !default;
+$input-focus-border-color: lighten($component-active-bg, 25%) !default;
+$input-focus-color: $input-color !default;
+$input-focus-width: $input-btn-focus-width !default;
+$input-focus-box-shadow: $input-btn-focus-box-shadow !default;
+
+$input-placeholder-color: $gray-600 !default;
+$input-plaintext-color: $body-color !default;
+
+$input-height-border: $input-border-width * 2 !default;
+
+$input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;
+$input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;
+$input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;
+
+$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;
+$input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;
+$input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;
+
+$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
+
+$form-text-margin-top: .25rem !default;
+
+$form-check-input-gutter: 1.25rem !default;
+$form-check-input-margin-y: .3rem !default;
+$form-check-input-margin-x: .25rem !default;
+
+$form-check-inline-margin-x: .75rem !default;
+$form-check-inline-input-margin-x: .3125rem !default;
+
+$form-grid-gutter-width: 10px !default;
+$form-group-margin-bottom: 1rem !default;
+
+$input-group-addon-color: $input-color !default;
+$input-group-addon-bg: $gray-200 !default;
+$input-group-addon-border-color: $input-border-color !default;
+
+$custom-forms-transition: background-color .15s ease-in-out, border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
+
+$custom-control-gutter: .5rem !default;
+$custom-control-spacer-x: 1rem !default;
+$custom-control-cursor: null !default;
+
+$custom-control-indicator-size: 1rem !default;
+$custom-control-indicator-bg: $input-bg !default;
+
+$custom-control-indicator-bg-size: 50% 50% !default;
+$custom-control-indicator-box-shadow: $input-box-shadow !default;
+$custom-control-indicator-border-color: $gray-500 !default;
+$custom-control-indicator-border-width: $input-border-width !default;
+
+$custom-control-label-color: null !default;
+
+$custom-control-indicator-disabled-bg: $input-disabled-bg !default;
+$custom-control-label-disabled-color: $gray-600 !default;
+
+$custom-control-indicator-checked-color: $component-active-color !default;
+$custom-control-indicator-checked-bg: $component-active-bg !default;
+$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;
+$custom-control-indicator-checked-box-shadow: null !default;
+$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;
+
+$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;
+$custom-control-indicator-focus-border-color: $input-focus-border-color !default;
+
+$custom-control-indicator-active-color: $component-active-color !default;
+$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;
+$custom-control-indicator-active-box-shadow: null !default;
+$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;
+
+$custom-checkbox-indicator-border-radius: $border-radius !default;
+$custom-checkbox-indicator-icon-checked: url("data:image/svg+xml,
") !default;
+
+$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
+$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
+$custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml,
") !default;
+$custom-checkbox-indicator-indeterminate-box-shadow: null !default;
+$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;
+
+$custom-radio-indicator-border-radius: 50% !default;
+$custom-radio-indicator-icon-checked: url("data:image/svg+xml,
") !default;
+
+$custom-switch-width: $custom-control-indicator-size * 1.75 !default;
+$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;
+$custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;
+
+$custom-select-padding-y: $input-padding-y !default;
+$custom-select-padding-x: $input-padding-x !default;
+$custom-select-font-family: $input-font-family !default;
+$custom-select-font-size: $input-font-size !default;
+$custom-select-height: $input-height !default;
+$custom-select-indicator-padding: 1rem !default; // Extra padding to account for the presence of the background-image based indicator
+$custom-select-font-weight: $input-font-weight !default;
+$custom-select-line-height: $input-line-height !default;
+$custom-select-color: $input-color !default;
+$custom-select-disabled-color: $gray-600 !default;
+$custom-select-bg: $input-bg !default;
+$custom-select-disabled-bg: $gray-200 !default;
+$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
+$custom-select-indicator-color: $gray-800 !default;
+$custom-select-indicator: url("data:image/svg+xml,
") !default;
+$custom-select-background: escape-svg($custom-select-indicator) no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)
+
+$custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;
+$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;
+$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;
+
+$custom-select-border-width: $input-border-width !default;
+$custom-select-border-color: $input-border-color !default;
+$custom-select-border-radius: $border-radius !default;
+$custom-select-box-shadow: inset 0 1px 2px rgba($black, .075) !default;
+
+$custom-select-focus-border-color: $input-focus-border-color !default;
+$custom-select-focus-width: $input-focus-width !default;
+$custom-select-focus-box-shadow: 0 0 0 $custom-select-focus-width $input-btn-focus-color !default;
+
+$custom-select-padding-y-sm: $input-padding-y-sm !default;
+$custom-select-padding-x-sm: $input-padding-x-sm !default;
+$custom-select-font-size-sm: $input-font-size-sm !default;
+$custom-select-height-sm: $input-height-sm !default;
+
+$custom-select-padding-y-lg: $input-padding-y-lg !default;
+$custom-select-padding-x-lg: $input-padding-x-lg !default;
+$custom-select-font-size-lg: $input-font-size-lg !default;
+$custom-select-height-lg: $input-height-lg !default;
+
+$custom-range-track-width: 100% !default;
+$custom-range-track-height: .5rem !default;
+$custom-range-track-cursor: pointer !default;
+$custom-range-track-bg: $gray-300 !default;
+$custom-range-track-border-radius: 1rem !default;
+$custom-range-track-box-shadow: inset 0 .25rem .25rem rgba($black, .1) !default;
+
+$custom-range-thumb-width: 1rem !default;
+$custom-range-thumb-height: $custom-range-thumb-width !default;
+$custom-range-thumb-bg: $component-active-bg !default;
+$custom-range-thumb-border: 0 !default;
+$custom-range-thumb-border-radius: 1rem !default;
+$custom-range-thumb-box-shadow: 0 .1rem .25rem rgba($black, .1) !default;
+$custom-range-thumb-focus-box-shadow: 0 0 0 1px $body-bg, $input-focus-box-shadow !default;
+$custom-range-thumb-focus-box-shadow-width: $input-focus-width !default; // For focus box shadow issue in IE/Edge
+$custom-range-thumb-active-bg: lighten($component-active-bg, 35%) !default;
+$custom-range-thumb-disabled-bg: $gray-500 !default;
+
+$custom-file-height: $input-height !default;
+$custom-file-height-inner: $input-height-inner !default;
+$custom-file-focus-border-color: $input-focus-border-color !default;
+$custom-file-focus-box-shadow: $input-focus-box-shadow !default;
+$custom-file-disabled-bg: $input-disabled-bg !default;
+
+$custom-file-padding-y: $input-padding-y !default;
+$custom-file-padding-x: $input-padding-x !default;
+$custom-file-line-height: $input-line-height !default;
+$custom-file-font-family: $input-font-family !default;
+$custom-file-font-weight: $input-font-weight !default;
+$custom-file-color: $input-color !default;
+$custom-file-bg: $input-bg !default;
+$custom-file-border-width: $input-border-width !default;
+$custom-file-border-color: $input-border-color !default;
+$custom-file-border-radius: $input-border-radius !default;
+$custom-file-box-shadow: $input-box-shadow !default;
+$custom-file-button-color: $custom-file-color !default;
+$custom-file-button-bg: $input-group-addon-bg !default;
+$custom-file-text: (
+ en: "Browse"
+) !default;
+
+
+// Form validation
+
+$form-feedback-margin-top: $form-text-margin-top !default;
+$form-feedback-font-size: $small-font-size !default;
+$form-feedback-valid-color: theme-color("success") !default;
+$form-feedback-invalid-color: theme-color("danger") !default;
+
+$form-feedback-icon-valid-color: $form-feedback-valid-color !default;
+$form-feedback-icon-valid: url("data:image/svg+xml,
") !default;
+$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;
+$form-feedback-icon-invalid: url("data:image/svg+xml,
") !default;
+
+$form-validation-states: () !default;
+$form-validation-states: map-merge(
+ (
+ "valid": (
+ "color": $form-feedback-valid-color,
+ "icon": $form-feedback-icon-valid
+ ),
+ "invalid": (
+ "color": $form-feedback-invalid-color,
+ "icon": $form-feedback-icon-invalid
+ ),
+ ),
+ $form-validation-states
+);
+
+// Z-index master list
+//
+// Warning: Avoid customizing these values. They're used for a bird's eye view
+// of components dependent on the z-axis and are designed to all work together.
+
+$zindex-dropdown: 1000 !default;
+$zindex-sticky: 1020 !default;
+$zindex-fixed: 1030 !default;
+$zindex-modal-backdrop: 1040 !default;
+$zindex-modal: 1050 !default;
+$zindex-popover: 1060 !default;
+$zindex-tooltip: 1070 !default;
+
+
+// Navs
+
+$nav-link-padding-y: .5rem !default;
+$nav-link-padding-x: 1rem !default;
+$nav-link-disabled-color: $gray-600 !default;
+
+$nav-tabs-border-color: $gray-300 !default;
+$nav-tabs-border-width: $border-width !default;
+$nav-tabs-border-radius: $border-radius !default;
+$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color !default;
+$nav-tabs-link-active-color: $gray-700 !default;
+$nav-tabs-link-active-bg: $body-bg !default;
+$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg !default;
+
+$nav-pills-border-radius: $border-radius !default;
+$nav-pills-link-active-color: $component-active-color !default;
+$nav-pills-link-active-bg: $component-active-bg !default;
+
+$nav-divider-color: $gray-200 !default;
+$nav-divider-margin-y: $spacer / 2 !default;
+
+
+// Navbar
+
+$navbar-padding-y: $spacer / 2 !default;
+$navbar-padding-x: $spacer !default;
+
+$navbar-nav-link-padding-x: .5rem !default;
+
+$navbar-brand-font-size: $font-size-lg !default;
+// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link
+$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2 !default;
+$navbar-brand-height: $navbar-brand-font-size * $line-height-base !default;
+$navbar-brand-padding-y: ($nav-link-height - $navbar-brand-height) / 2 !default;
+
+$navbar-toggler-padding-y: .25rem !default;
+$navbar-toggler-padding-x: .75rem !default;
+$navbar-toggler-font-size: $font-size-lg !default;
+$navbar-toggler-border-radius: $btn-border-radius !default;
+
+$navbar-dark-color: rgba($white, .5) !default;
+$navbar-dark-hover-color: rgba($white, .75) !default;
+$navbar-dark-active-color: $white !default;
+$navbar-dark-disabled-color: rgba($white, .25) !default;
+$navbar-dark-toggler-icon-bg: url("data:image/svg+xml,
") !default;
+$navbar-dark-toggler-border-color: rgba($white, .1) !default;
+
+$navbar-light-color: rgba($black, .5) !default;
+$navbar-light-hover-color: rgba($black, .7) !default;
+$navbar-light-active-color: rgba($black, .9) !default;
+$navbar-light-disabled-color: rgba($black, .3) !default;
+$navbar-light-toggler-icon-bg: url("data:image/svg+xml,
") !default;
+$navbar-light-toggler-border-color: rgba($black, .1) !default;
+
+$navbar-light-brand-color: $navbar-light-active-color !default;
+$navbar-light-brand-hover-color: $navbar-light-active-color !default;
+$navbar-dark-brand-color: $navbar-dark-active-color !default;
+$navbar-dark-brand-hover-color: $navbar-dark-active-color !default;
+
+
+// Dropdowns
+//
+// Dropdown menu container and contents.
+
+$dropdown-min-width: 10rem !default;
+$dropdown-padding-x: 0 !default;
+$dropdown-padding-y: .5rem !default;
+$dropdown-spacer: .125rem !default;
+$dropdown-font-size: $font-size-base !default;
+$dropdown-color: $body-color !default;
+$dropdown-bg: $white !default;
+$dropdown-border-color: rgba($black, .15) !default;
+$dropdown-border-radius: $border-radius !default;
+$dropdown-border-width: $border-width !default;
+$dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;
+$dropdown-divider-bg: $gray-200 !default;
+$dropdown-divider-margin-y: $nav-divider-margin-y !default;
+$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;
+
+$dropdown-link-color: $gray-900 !default;
+$dropdown-link-hover-color: darken($gray-900, 5%) !default;
+$dropdown-link-hover-bg: $gray-100 !default;
+
+$dropdown-link-active-color: $component-active-color !default;
+$dropdown-link-active-bg: $component-active-bg !default;
+
+$dropdown-link-disabled-color: $gray-600 !default;
+
+$dropdown-item-padding-y: .25rem !default;
+$dropdown-item-padding-x: 1.5rem !default;
+
+$dropdown-header-color: $gray-600 !default;
+$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;
+
+
+// Pagination
+
+$pagination-padding-y: .5rem !default;
+$pagination-padding-x: .75rem !default;
+$pagination-padding-y-sm: .25rem !default;
+$pagination-padding-x-sm: .5rem !default;
+$pagination-padding-y-lg: .75rem !default;
+$pagination-padding-x-lg: 1.5rem !default;
+$pagination-line-height: 1.25 !default;
+
+$pagination-color: $link-color !default;
+$pagination-bg: $white !default;
+$pagination-border-width: $border-width !default;
+$pagination-border-color: $gray-300 !default;
+
+$pagination-focus-box-shadow: $input-btn-focus-box-shadow !default;
+$pagination-focus-outline: 0 !default;
+
+$pagination-hover-color: $link-hover-color !default;
+$pagination-hover-bg: $gray-200 !default;
+$pagination-hover-border-color: $gray-300 !default;
+
+$pagination-active-color: $component-active-color !default;
+$pagination-active-bg: $component-active-bg !default;
+$pagination-active-border-color: $pagination-active-bg !default;
+
+$pagination-disabled-color: $gray-600 !default;
+$pagination-disabled-bg: $white !default;
+$pagination-disabled-border-color: $gray-300 !default;
+
+
+// Jumbotron
+
+$jumbotron-padding: 2rem !default;
+$jumbotron-color: null !default;
+$jumbotron-bg: $gray-200 !default;
+
+
+// Cards
+
+$card-spacer-y: .75rem !default;
+$card-spacer-x: 1.25rem !default;
+$card-border-width: $border-width !default;
+$card-border-radius: $border-radius !default;
+$card-border-color: rgba($black, .125) !default;
+$card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;
+$card-cap-bg: rgba($black, .03) !default;
+$card-cap-color: null !default;
+$card-height: null !default;
+$card-color: null !default;
+$card-bg: $white !default;
+
+$card-img-overlay-padding: 1.25rem !default;
+
+$card-group-margin: $grid-gutter-width / 2 !default;
+$card-deck-margin: $card-group-margin !default;
+
+$card-columns-count: 3 !default;
+$card-columns-gap: 1.25rem !default;
+$card-columns-margin: $card-spacer-y !default;
+
+
+// Tooltips
+
+$tooltip-font-size: $font-size-sm !default;
+$tooltip-max-width: 200px !default;
+$tooltip-color: $white !default;
+$tooltip-bg: $black !default;
+$tooltip-border-radius: $border-radius !default;
+$tooltip-opacity: .9 !default;
+$tooltip-padding-y: .25rem !default;
+$tooltip-padding-x: .5rem !default;
+$tooltip-margin: 0 !default;
+
+$tooltip-arrow-width: .8rem !default;
+$tooltip-arrow-height: .4rem !default;
+$tooltip-arrow-color: $tooltip-bg !default;
+
+// Form tooltips must come after regular tooltips
+$form-feedback-tooltip-padding-y: $tooltip-padding-y !default;
+$form-feedback-tooltip-padding-x: $tooltip-padding-x !default;
+$form-feedback-tooltip-font-size: $tooltip-font-size !default;
+$form-feedback-tooltip-line-height: $line-height-base !default;
+$form-feedback-tooltip-opacity: $tooltip-opacity !default;
+$form-feedback-tooltip-border-radius: $tooltip-border-radius !default;
+
+
+// Popovers
+
+$popover-font-size: $font-size-sm !default;
+$popover-bg: $white !default;
+$popover-max-width: 276px !default;
+$popover-border-width: $border-width !default;
+$popover-border-color: rgba($black, .2) !default;
+$popover-border-radius: $border-radius-lg !default;
+$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;
+$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;
+
+$popover-header-bg: darken($popover-bg, 3%) !default;
+$popover-header-color: $headings-color !default;
+$popover-header-padding-y: .5rem !default;
+$popover-header-padding-x: .75rem !default;
+
+$popover-body-color: $body-color !default;
+$popover-body-padding-y: $popover-header-padding-y !default;
+$popover-body-padding-x: $popover-header-padding-x !default;
+
+$popover-arrow-width: 1rem !default;
+$popover-arrow-height: .5rem !default;
+$popover-arrow-color: $popover-bg !default;
+
+$popover-arrow-outer-color: fade-in($popover-border-color, .05) !default;
+
+
+// Toasts
+
+$toast-max-width: 350px !default;
+$toast-padding-x: .75rem !default;
+$toast-padding-y: .25rem !default;
+$toast-font-size: .875rem !default;
+$toast-color: null !default;
+$toast-background-color: rgba($white, .85) !default;
+$toast-border-width: 1px !default;
+$toast-border-color: rgba(0, 0, 0, .1) !default;
+$toast-border-radius: .25rem !default;
+$toast-box-shadow: 0 .25rem .75rem rgba($black, .1) !default;
+
+$toast-header-color: $gray-600 !default;
+$toast-header-background-color: rgba($white, .85) !default;
+$toast-header-border-color: rgba(0, 0, 0, .05) !default;
+
+
+// Badges
+
+$badge-font-size: 75% !default;
+$badge-font-weight: $font-weight-bold !default;
+$badge-padding-y: .25em !default;
+$badge-padding-x: .4em !default;
+$badge-border-radius: $border-radius !default;
+
+$badge-transition: $btn-transition !default;
+$badge-focus-width: $input-btn-focus-width !default;
+
+$badge-pill-padding-x: .6em !default;
+// Use a higher than normal value to ensure completely rounded edges when
+// customizing padding or font-size on labels.
+$badge-pill-border-radius: 10rem !default;
+
+
+// Modals
+
+// Padding applied to the modal body
+$modal-inner-padding: 1rem !default;
+
+// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding
+$modal-footer-margin-between: .5rem !default;
+
+$modal-dialog-margin: .5rem !default;
+$modal-dialog-margin-y-sm-up: 1.75rem !default;
+
+$modal-title-line-height: $line-height-base !default;
+
+$modal-content-color: null !default;
+$modal-content-bg: $white !default;
+$modal-content-border-color: rgba($black, .2) !default;
+$modal-content-border-width: $border-width !default;
+$modal-content-border-radius: $border-radius-lg !default;
+$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;
+$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;
+$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;
+
+$modal-backdrop-bg: $black !default;
+$modal-backdrop-opacity: .5 !default;
+$modal-header-border-color: $border-color !default;
+$modal-footer-border-color: $modal-header-border-color !default;
+$modal-header-border-width: $modal-content-border-width !default;
+$modal-footer-border-width: $modal-header-border-width !default;
+$modal-header-padding-y: 1rem !default;
+$modal-header-padding-x: 1rem !default;
+$modal-header-padding: $modal-header-padding-y $modal-header-padding-x !default; // Keep this for backwards compatibility
+
+$modal-xl: 1140px !default;
+$modal-lg: 800px !default;
+$modal-md: 500px !default;
+$modal-sm: 300px !default;
+
+$modal-fade-transform: translate(0, -50px) !default;
+$modal-show-transform: none !default;
+$modal-transition: transform .3s ease-out !default;
+$modal-scale-transform: scale(1.02) !default;
+
+
+// Alerts
+//
+// Define alert colors, border radius, and padding.
+
+$alert-padding-y: .75rem !default;
+$alert-padding-x: 1.25rem !default;
+$alert-margin-bottom: 1rem !default;
+$alert-border-radius: $border-radius !default;
+$alert-link-font-weight: $font-weight-bold !default;
+$alert-border-width: $border-width !default;
+
+$alert-bg-level: -10 !default;
+$alert-border-level: -9 !default;
+$alert-color-level: 6 !default;
+
+
+// Progress bars
+
+$progress-height: 1rem !default;
+$progress-font-size: $font-size-base * .75 !default;
+$progress-bg: $gray-200 !default;
+$progress-border-radius: $border-radius !default;
+$progress-box-shadow: inset 0 .1rem .1rem rgba($black, .1) !default;
+$progress-bar-color: $white !default;
+$progress-bar-bg: theme-color("primary") !default;
+$progress-bar-animation-timing: 1s linear infinite !default;
+$progress-bar-transition: width .6s ease !default;
+
+
+// List group
+
+$list-group-color: null !default;
+$list-group-bg: $white !default;
+$list-group-border-color: rgba($black, .125) !default;
+$list-group-border-width: $border-width !default;
+$list-group-border-radius: $border-radius !default;
+
+$list-group-item-padding-y: .75rem !default;
+$list-group-item-padding-x: 1.25rem !default;
+
+$list-group-hover-bg: $gray-100 !default;
+$list-group-active-color: $component-active-color !default;
+$list-group-active-bg: $component-active-bg !default;
+$list-group-active-border-color: $list-group-active-bg !default;
+
+$list-group-disabled-color: $gray-600 !default;
+$list-group-disabled-bg: $list-group-bg !default;
+
+$list-group-action-color: $gray-700 !default;
+$list-group-action-hover-color: $list-group-action-color !default;
+
+$list-group-action-active-color: $body-color !default;
+$list-group-action-active-bg: $gray-200 !default;
+
+
+// Image thumbnails
+
+$thumbnail-padding: .25rem !default;
+$thumbnail-bg: $body-bg !default;
+$thumbnail-border-width: $border-width !default;
+$thumbnail-border-color: $gray-300 !default;
+$thumbnail-border-radius: $border-radius !default;
+$thumbnail-box-shadow: 0 1px 2px rgba($black, .075) !default;
+
+
+// Figures
+
+$figure-caption-font-size: 90% !default;
+$figure-caption-color: $gray-600 !default;
+
+
+// Breadcrumbs
+
+$breadcrumb-font-size: null !default;
+
+$breadcrumb-padding-y: .75rem !default;
+$breadcrumb-padding-x: 1rem !default;
+$breadcrumb-item-padding: .5rem !default;
+
+$breadcrumb-margin-bottom: 1rem !default;
+
+$breadcrumb-bg: $gray-200 !default;
+$breadcrumb-divider-color: $gray-600 !default;
+$breadcrumb-active-color: $gray-600 !default;
+$breadcrumb-divider: quote("/") !default;
+
+$breadcrumb-border-radius: $border-radius !default;
+
+
+// Carousel
+
+$carousel-control-color: $white !default;
+$carousel-control-width: 15% !default;
+$carousel-control-opacity: .5 !default;
+$carousel-control-hover-opacity: .9 !default;
+$carousel-control-transition: opacity .15s ease !default;
+
+$carousel-indicator-width: 30px !default;
+$carousel-indicator-height: 3px !default;
+$carousel-indicator-hit-area-height: 10px !default;
+$carousel-indicator-spacer: 3px !default;
+$carousel-indicator-active-bg: $white !default;
+$carousel-indicator-transition: opacity .6s ease !default;
+
+$carousel-caption-width: 70% !default;
+$carousel-caption-color: $white !default;
+
+$carousel-control-icon-width: 20px !default;
+
+$carousel-control-prev-icon-bg: url("data:image/svg+xml,
") !default;
+$carousel-control-next-icon-bg: url("data:image/svg+xml,
") !default;
+
+$carousel-transition-duration: .6s !default;
+$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)
+
+
+// Spinners
+
+$spinner-width: 2rem !default;
+$spinner-height: $spinner-width !default;
+$spinner-border-width: .25em !default;
+
+$spinner-width-sm: 1rem !default;
+$spinner-height-sm: $spinner-width-sm !default;
+$spinner-border-width-sm: .2em !default;
+
+
+// Close
+
+$close-font-size: $font-size-base * 1.5 !default;
+$close-font-weight: $font-weight-bold !default;
+$close-color: $black !default;
+$close-text-shadow: 0 1px 0 $white !default;
+
+
+// Code
+
+$code-font-size: 87.5% !default;
+$code-color: $pink !default;
+
+$kbd-padding-y: .2rem !default;
+$kbd-padding-x: .4rem !default;
+$kbd-font-size: $code-font-size !default;
+$kbd-color: $white !default;
+$kbd-bg: $gray-900 !default;
+
+$pre-color: $gray-900 !default;
+$pre-scrollable-max-height: 340px !default;
+
+
+// Utilities
+
+$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;
+$overflows: auto, hidden !default;
+$positions: static, relative, absolute, fixed, sticky !default;
+$user-selects: all, auto, none !default;
+
+
+// Printing
+
+$print-page-size: a3 !default;
+$print-body-min-width: map-get($grid-breakpoints, "lg") !default;
diff --git a/jekyll-openapi/_sass/bootstrap/scss/bootstrap-grid.scss b/jekyll-openapi/_sass/bootstrap/scss/bootstrap-grid.scss
new file mode 100644
index 0000000..a5cf3b7
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/bootstrap-grid.scss
@@ -0,0 +1,29 @@
+/*!
+ * Bootstrap Grid v4.5.3 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */
+
+html {
+ box-sizing: border-box;
+ -ms-overflow-style: scrollbar;
+}
+
+*,
+*::before,
+*::after {
+ box-sizing: inherit;
+}
+
+@import "functions";
+@import "variables";
+
+@import "mixins/breakpoints";
+@import "mixins/grid-framework";
+@import "mixins/grid";
+
+@import "grid";
+@import "utilities/display";
+@import "utilities/flex";
+@import "utilities/spacing";
diff --git a/jekyll-openapi/_sass/bootstrap/scss/bootstrap-reboot.scss b/jekyll-openapi/_sass/bootstrap/scss/bootstrap-reboot.scss
new file mode 100644
index 0000000..de63f52
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/bootstrap-reboot.scss
@@ -0,0 +1,12 @@
+/*!
+ * Bootstrap Reboot v4.5.3 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
+ */
+
+@import "functions";
+@import "variables";
+@import "mixins";
+@import "reboot";
diff --git a/jekyll-openapi/_sass/bootstrap/scss/bootstrap.scss b/jekyll-openapi/_sass/bootstrap/scss/bootstrap.scss
new file mode 100644
index 0000000..0a20655
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/bootstrap.scss
@@ -0,0 +1,44 @@
+/*!
+ * Bootstrap v4.5.3 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors
+ * Copyright 2011-2020 Twitter, Inc.
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */
+
+@import "functions";
+@import "variables";
+@import "mixins";
+@import "root";
+@import "reboot";
+@import "type";
+@import "images";
+@import "code";
+@import "grid";
+@import "tables";
+@import "forms";
+@import "buttons";
+@import "transitions";
+@import "dropdown";
+@import "button-group";
+@import "input-group";
+@import "custom-forms";
+@import "nav";
+@import "navbar";
+@import "card";
+@import "breadcrumb";
+@import "pagination";
+@import "badge";
+@import "jumbotron";
+@import "alert";
+@import "progress";
+@import "media";
+@import "list-group";
+@import "close";
+@import "toasts";
+@import "modal";
+@import "tooltip";
+@import "popover";
+@import "carousel";
+@import "spinners";
+@import "utilities";
+@import "print";
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_alert.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_alert.scss
new file mode 100644
index 0000000..db5a7eb
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_alert.scss
@@ -0,0 +1,13 @@
+@mixin alert-variant($background, $border, $color) {
+ color: $color;
+ @include gradient-bg($background);
+ border-color: $border;
+
+ hr {
+ border-top-color: darken($border, 5%);
+ }
+
+ .alert-link {
+ color: darken($color, 10%);
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_background-variant.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_background-variant.scss
new file mode 100644
index 0000000..8058018
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_background-variant.scss
@@ -0,0 +1,23 @@
+// stylelint-disable declaration-no-important
+
+// Contextual backgrounds
+
+@mixin bg-variant($parent, $color, $ignore-warning: false) {
+ #{$parent} {
+ background-color: $color !important;
+ }
+ a#{$parent},
+ button#{$parent} {
+ @include hover-focus() {
+ background-color: darken($color, 10%) !important;
+ }
+ }
+ @include deprecate("The `bg-variant` mixin", "v4.4.0", "v5", $ignore-warning);
+}
+
+@mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {
+ #{$parent} {
+ background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
+ }
+ @include deprecate("The `bg-gradient-variant` mixin", "v4.5.0", "v5", $ignore-warning);
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_badge.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_badge.scss
new file mode 100644
index 0000000..f1c4991
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_badge.scss
@@ -0,0 +1,17 @@
+@mixin badge-variant($bg) {
+ color: color-yiq($bg);
+ background-color: $bg;
+
+ @at-root a#{&} {
+ @include hover-focus() {
+ color: color-yiq($bg);
+ background-color: darken($bg, 10%);
+ }
+
+ &:focus,
+ &.focus {
+ outline: 0;
+ box-shadow: 0 0 0 $badge-focus-width rgba($bg, .5);
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_border-radius.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_border-radius.scss
new file mode 100644
index 0000000..4fad91d
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_border-radius.scss
@@ -0,0 +1,76 @@
+// stylelint-disable property-disallowed-list
+// Single side border-radius
+
+// Helper function to replace negative values with 0
+@function valid-radius($radius) {
+ $return: ();
+ @each $value in $radius {
+ @if type-of($value) == number {
+ $return: append($return, max($value, 0));
+ } @else {
+ $return: append($return, $value);
+ }
+ }
+ @return $return;
+}
+
+@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {
+ @if $enable-rounded {
+ border-radius: valid-radius($radius);
+ }
+ @else if $fallback-border-radius != false {
+ border-radius: $fallback-border-radius;
+ }
+}
+
+@mixin border-top-radius($radius) {
+ @if $enable-rounded {
+ border-top-left-radius: valid-radius($radius);
+ border-top-right-radius: valid-radius($radius);
+ }
+}
+
+@mixin border-right-radius($radius) {
+ @if $enable-rounded {
+ border-top-right-radius: valid-radius($radius);
+ border-bottom-right-radius: valid-radius($radius);
+ }
+}
+
+@mixin border-bottom-radius($radius) {
+ @if $enable-rounded {
+ border-bottom-right-radius: valid-radius($radius);
+ border-bottom-left-radius: valid-radius($radius);
+ }
+}
+
+@mixin border-left-radius($radius) {
+ @if $enable-rounded {
+ border-top-left-radius: valid-radius($radius);
+ border-bottom-left-radius: valid-radius($radius);
+ }
+}
+
+@mixin border-top-left-radius($radius) {
+ @if $enable-rounded {
+ border-top-left-radius: valid-radius($radius);
+ }
+}
+
+@mixin border-top-right-radius($radius) {
+ @if $enable-rounded {
+ border-top-right-radius: valid-radius($radius);
+ }
+}
+
+@mixin border-bottom-right-radius($radius) {
+ @if $enable-rounded {
+ border-bottom-right-radius: valid-radius($radius);
+ }
+}
+
+@mixin border-bottom-left-radius($radius) {
+ @if $enable-rounded {
+ border-bottom-left-radius: valid-radius($radius);
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_box-shadow.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_box-shadow.scss
new file mode 100644
index 0000000..0726d43
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_box-shadow.scss
@@ -0,0 +1,20 @@
+@mixin box-shadow($shadow...) {
+ @if $enable-shadows {
+ $result: ();
+
+ @if (length($shadow) == 1) {
+ // We can pass `@include box-shadow(none);`
+ $result: $shadow;
+ } @else {
+ // Filter to avoid invalid properties for example `box-shadow: none, 1px 1px black;`
+ @for $i from 1 through length($shadow) {
+ @if nth($shadow, $i) != "none" {
+ $result: append($result, nth($shadow, $i), "comma");
+ }
+ }
+ }
+ @if (length($result) > 0) {
+ box-shadow: $result;
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_breakpoints.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_breakpoints.scss
new file mode 100644
index 0000000..23a5de9
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_breakpoints.scss
@@ -0,0 +1,123 @@
+// Breakpoint viewport sizes and media queries.
+//
+// Breakpoints are defined as a map of (name: minimum width), order from small to large:
+//
+// (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px)
+//
+// The map defined in the `$grid-breakpoints` global variable is used as the `$breakpoints` argument by default.
+
+// Name of the next breakpoint, or null for the last breakpoint.
+//
+// >> breakpoint-next(sm)
+// md
+// >> breakpoint-next(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
+// md
+// >> breakpoint-next(sm, $breakpoint-names: (xs sm md lg xl))
+// md
+@function breakpoint-next($name, $breakpoints: $grid-breakpoints, $breakpoint-names: map-keys($breakpoints)) {
+ $n: index($breakpoint-names, $name);
+ @return if($n != null and $n < length($breakpoint-names), nth($breakpoint-names, $n + 1), null);
+}
+
+// Minimum breakpoint width. Null for the smallest (first) breakpoint.
+//
+// >> breakpoint-min(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
+// 576px
+@function breakpoint-min($name, $breakpoints: $grid-breakpoints) {
+ $min: map-get($breakpoints, $name);
+ @return if($min != 0, $min, null);
+}
+
+// Maximum breakpoint width. Null for the largest (last) breakpoint.
+// The maximum value is calculated as the minimum of the next one less 0.02px
+// to work around the limitations of `min-` and `max-` prefixes and viewports with fractional widths.
+// See https://www.w3.org/TR/mediaqueries-4/#mq-min-max
+// Uses 0.02px rather than 0.01px to work around a current rounding bug in Safari.
+// See https://bugs.webkit.org/show_bug.cgi?id=178261
+//
+// >> breakpoint-max(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
+// 767.98px
+@function breakpoint-max($name, $breakpoints: $grid-breakpoints) {
+ $next: breakpoint-next($name, $breakpoints);
+ @return if($next, breakpoint-min($next, $breakpoints) - .02, null);
+}
+
+// Returns a blank string if smallest breakpoint, otherwise returns the name with a dash in front.
+// Useful for making responsive utilities.
+//
+// >> breakpoint-infix(xs, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
+// "" (Returns a blank string)
+// >> breakpoint-infix(sm, (xs: 0, sm: 576px, md: 768px, lg: 992px, xl: 1200px))
+// "-sm"
+@function breakpoint-infix($name, $breakpoints: $grid-breakpoints) {
+ @return if(breakpoint-min($name, $breakpoints) == null, "", "-#{$name}");
+}
+
+// Media of at least the minimum breakpoint width. No query for the smallest breakpoint.
+// Makes the @content apply to the given breakpoint and wider.
+@mixin media-breakpoint-up($name, $breakpoints: $grid-breakpoints) {
+ $min: breakpoint-min($name, $breakpoints);
+ @if $min {
+ @media (min-width: $min) {
+ @content;
+ }
+ } @else {
+ @content;
+ }
+}
+
+// Media of at most the maximum breakpoint width. No query for the largest breakpoint.
+// Makes the @content apply to the given breakpoint and narrower.
+@mixin media-breakpoint-down($name, $breakpoints: $grid-breakpoints) {
+ $max: breakpoint-max($name, $breakpoints);
+ @if $max {
+ @media (max-width: $max) {
+ @content;
+ }
+ } @else {
+ @content;
+ }
+}
+
+// Media that spans multiple breakpoint widths.
+// Makes the @content apply between the min and max breakpoints
+@mixin media-breakpoint-between($lower, $upper, $breakpoints: $grid-breakpoints) {
+ $min: breakpoint-min($lower, $breakpoints);
+ $max: breakpoint-max($upper, $breakpoints);
+
+ @if $min != null and $max != null {
+ @media (min-width: $min) and (max-width: $max) {
+ @content;
+ }
+ } @else if $max == null {
+ @include media-breakpoint-up($lower, $breakpoints) {
+ @content;
+ }
+ } @else if $min == null {
+ @include media-breakpoint-down($upper, $breakpoints) {
+ @content;
+ }
+ }
+}
+
+// Media between the breakpoint's minimum and maximum widths.
+// No minimum for the smallest breakpoint, and no maximum for the largest one.
+// Makes the @content apply only to the given breakpoint, not viewports any wider or narrower.
+@mixin media-breakpoint-only($name, $breakpoints: $grid-breakpoints) {
+ $min: breakpoint-min($name, $breakpoints);
+ $max: breakpoint-max($name, $breakpoints);
+
+ @if $min != null and $max != null {
+ @media (min-width: $min) and (max-width: $max) {
+ @content;
+ }
+ } @else if $max == null {
+ @include media-breakpoint-up($name, $breakpoints) {
+ @content;
+ }
+ } @else if $min == null {
+ @include media-breakpoint-down($name, $breakpoints) {
+ @content;
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_buttons.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_buttons.scss
new file mode 100644
index 0000000..d6235aa
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_buttons.scss
@@ -0,0 +1,110 @@
+// Button variants
+//
+// Easily pump out default styles, as well as :hover, :focus, :active,
+// and disabled options for all buttons
+
+@mixin button-variant($background, $border, $hover-background: darken($background, 7.5%), $hover-border: darken($border, 10%), $active-background: darken($background, 10%), $active-border: darken($border, 12.5%)) {
+ color: color-yiq($background);
+ @include gradient-bg($background);
+ border-color: $border;
+ @include box-shadow($btn-box-shadow);
+
+ @include hover() {
+ color: color-yiq($hover-background);
+ @include gradient-bg($hover-background);
+ border-color: $hover-border;
+ }
+
+ &:focus,
+ &.focus {
+ color: color-yiq($hover-background);
+ @include gradient-bg($hover-background);
+ border-color: $hover-border;
+ @if $enable-shadows {
+ @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));
+ } @else {
+ // Avoid using mixin so we can pass custom focus shadow properly
+ box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
+ }
+ }
+
+ // Disabled comes first so active can properly restyle
+ &.disabled,
+ &:disabled {
+ color: color-yiq($background);
+ background-color: $background;
+ border-color: $border;
+ // Remove CSS gradients if they're enabled
+ @if $enable-gradients {
+ background-image: none;
+ }
+ }
+
+ &:not(:disabled):not(.disabled):active,
+ &:not(:disabled):not(.disabled).active,
+ .show > &.dropdown-toggle {
+ color: color-yiq($active-background);
+ background-color: $active-background;
+ @if $enable-gradients {
+ background-image: none; // Remove the gradient for the pressed/active state
+ }
+ border-color: $active-border;
+
+ &:focus {
+ @if $enable-shadows and $btn-active-box-shadow != none {
+ @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));
+ } @else {
+ // Avoid using mixin so we can pass custom focus shadow properly
+ box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
+ }
+ }
+ }
+}
+
+@mixin button-outline-variant($color, $color-hover: color-yiq($color), $active-background: $color, $active-border: $color) {
+ color: $color;
+ border-color: $color;
+
+ @include hover() {
+ color: $color-hover;
+ background-color: $active-background;
+ border-color: $active-border;
+ }
+
+ &:focus,
+ &.focus {
+ box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
+ }
+
+ &.disabled,
+ &:disabled {
+ color: $color;
+ background-color: transparent;
+ }
+
+ &:not(:disabled):not(.disabled):active,
+ &:not(:disabled):not(.disabled).active,
+ .show > &.dropdown-toggle {
+ color: color-yiq($active-background);
+ background-color: $active-background;
+ border-color: $active-border;
+
+ &:focus {
+ @if $enable-shadows and $btn-active-box-shadow != none {
+ @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));
+ } @else {
+ // Avoid using mixin so we can pass custom focus shadow properly
+ box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
+ }
+ }
+ }
+}
+
+// Button sizes
+@mixin button-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {
+ padding: $padding-y $padding-x;
+ @include font-size($font-size);
+ line-height: $line-height;
+ // Manually declare to provide an override to the browser default
+ @include border-radius($border-radius, 0);
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_caret.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_caret.scss
new file mode 100644
index 0000000..2746649
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_caret.scss
@@ -0,0 +1,62 @@
+@mixin caret-down() {
+ border-top: $caret-width solid;
+ border-right: $caret-width solid transparent;
+ border-bottom: 0;
+ border-left: $caret-width solid transparent;
+}
+
+@mixin caret-up() {
+ border-top: 0;
+ border-right: $caret-width solid transparent;
+ border-bottom: $caret-width solid;
+ border-left: $caret-width solid transparent;
+}
+
+@mixin caret-right() {
+ border-top: $caret-width solid transparent;
+ border-right: 0;
+ border-bottom: $caret-width solid transparent;
+ border-left: $caret-width solid;
+}
+
+@mixin caret-left() {
+ border-top: $caret-width solid transparent;
+ border-right: $caret-width solid;
+ border-bottom: $caret-width solid transparent;
+}
+
+@mixin caret($direction: down) {
+ @if $enable-caret {
+ &::after {
+ display: inline-block;
+ margin-left: $caret-spacing;
+ vertical-align: $caret-vertical-align;
+ content: "";
+ @if $direction == down {
+ @include caret-down();
+ } @else if $direction == up {
+ @include caret-up();
+ } @else if $direction == right {
+ @include caret-right();
+ }
+ }
+
+ @if $direction == left {
+ &::after {
+ display: none;
+ }
+
+ &::before {
+ display: inline-block;
+ margin-right: $caret-spacing;
+ vertical-align: $caret-vertical-align;
+ content: "";
+ @include caret-left();
+ }
+ }
+
+ &:empty::after {
+ margin-left: 0;
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_clearfix.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_clearfix.scss
new file mode 100644
index 0000000..11a977b
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_clearfix.scss
@@ -0,0 +1,7 @@
+@mixin clearfix() {
+ &::after {
+ display: block;
+ clear: both;
+ content: "";
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_deprecate.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_deprecate.scss
new file mode 100644
index 0000000..df070bc
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_deprecate.scss
@@ -0,0 +1,10 @@
+// Deprecate mixin
+//
+// This mixin can be used to deprecate mixins or functions.
+// `$enable-deprecation-messages` is a global variable, `$ignore-warning` is a variable that can be passed to
+// some deprecated mixins to suppress the warning (for example if the mixin is still be used in the current version of Bootstrap)
+@mixin deprecate($name, $deprecate-version, $remove-version, $ignore-warning: false) {
+ @if ($enable-deprecation-messages != false and $ignore-warning != true) {
+ @warn "#{$name} has been deprecated as of #{$deprecate-version}. It will be removed entirely in #{$remove-version}.";
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_float.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_float.scss
new file mode 100644
index 0000000..6b376a2
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_float.scss
@@ -0,0 +1,14 @@
+// stylelint-disable declaration-no-important
+
+@mixin float-left() {
+ float: left !important;
+ @include deprecate("The `float-left` mixin", "v4.3.0", "v5");
+}
+@mixin float-right() {
+ float: right !important;
+ @include deprecate("The `float-right` mixin", "v4.3.0", "v5");
+}
+@mixin float-none() {
+ float: none !important;
+ @include deprecate("The `float-none` mixin", "v4.3.0", "v5");
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_forms.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_forms.scss
new file mode 100644
index 0000000..39b52f3
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_forms.scss
@@ -0,0 +1,178 @@
+// Form control focus state
+//
+// Generate a customized focus state and for any input with the specified color,
+// which defaults to the `$input-focus-border-color` variable.
+//
+// We highly encourage you to not customize the default value, but instead use
+// this to tweak colors on an as-needed basis. This aesthetic change is based on
+// WebKit's default styles, but applicable to a wider range of browsers. Its
+// usability and accessibility should be taken into account with any change.
+//
+// Example usage: change the default blue border and shadow to white for better
+// contrast against a dark gray background.
+@mixin form-control-focus($ignore-warning: false) {
+ &:focus {
+ color: $input-focus-color;
+ background-color: $input-focus-bg;
+ border-color: $input-focus-border-color;
+ outline: 0;
+ @if $enable-shadows {
+ @include box-shadow($input-box-shadow, $input-focus-box-shadow);
+ } @else {
+ // Avoid using mixin so we can pass custom focus shadow properly
+ box-shadow: $input-focus-box-shadow;
+ }
+ }
+ @include deprecate("The `form-control-focus()` mixin", "v4.4.0", "v5", $ignore-warning);
+}
+
+// This mixin uses an `if()` technique to be compatible with Dart Sass
+// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details
+@mixin form-validation-state-selector($state) {
+ @if ($state == "valid" or $state == "invalid") {
+ .was-validated #{if(&, "&", "")}:#{$state},
+ #{if(&, "&", "")}.is-#{$state} {
+ @content;
+ }
+ } @else {
+ #{if(&, "&", "")}.is-#{$state} {
+ @content;
+ }
+ }
+}
+
+@mixin form-validation-state($state, $color, $icon) {
+ .#{$state}-feedback {
+ display: none;
+ width: 100%;
+ margin-top: $form-feedback-margin-top;
+ @include font-size($form-feedback-font-size);
+ color: $color;
+ }
+
+ .#{$state}-tooltip {
+ position: absolute;
+ top: 100%;
+ left: 0;
+ z-index: 5;
+ display: none;
+ max-width: 100%; // Contain to parent when possible
+ padding: $form-feedback-tooltip-padding-y $form-feedback-tooltip-padding-x;
+ margin-top: .1rem;
+ @include font-size($form-feedback-tooltip-font-size);
+ line-height: $form-feedback-tooltip-line-height;
+ color: color-yiq($color);
+ background-color: rgba($color, $form-feedback-tooltip-opacity);
+ @include border-radius($form-feedback-tooltip-border-radius);
+ }
+
+ @include form-validation-state-selector($state) {
+ ~ .#{$state}-feedback,
+ ~ .#{$state}-tooltip {
+ display: block;
+ }
+ }
+
+ .form-control {
+ @include form-validation-state-selector($state) {
+ border-color: $color;
+
+ @if $enable-validation-icons {
+ padding-right: $input-height-inner;
+ background-image: escape-svg($icon);
+ background-repeat: no-repeat;
+ background-position: right $input-height-inner-quarter center;
+ background-size: $input-height-inner-half $input-height-inner-half;
+ }
+
+ &:focus {
+ border-color: $color;
+ box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
+ }
+ }
+ }
+
+ // stylelint-disable-next-line selector-no-qualifying-type
+ textarea.form-control {
+ @include form-validation-state-selector($state) {
+ @if $enable-validation-icons {
+ padding-right: $input-height-inner;
+ background-position: top $input-height-inner-quarter right $input-height-inner-quarter;
+ }
+ }
+ }
+
+ .custom-select {
+ @include form-validation-state-selector($state) {
+ border-color: $color;
+
+ @if $enable-validation-icons {
+ padding-right: $custom-select-feedback-icon-padding-right;
+ background: $custom-select-background, escape-svg($icon) $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size;
+ }
+
+ &:focus {
+ border-color: $color;
+ box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
+ }
+ }
+ }
+
+ .form-check-input {
+ @include form-validation-state-selector($state) {
+ ~ .form-check-label {
+ color: $color;
+ }
+
+ ~ .#{$state}-feedback,
+ ~ .#{$state}-tooltip {
+ display: block;
+ }
+ }
+ }
+
+ .custom-control-input {
+ @include form-validation-state-selector($state) {
+ ~ .custom-control-label {
+ color: $color;
+
+ &::before {
+ border-color: $color;
+ }
+ }
+
+ &:checked {
+ ~ .custom-control-label::before {
+ border-color: lighten($color, 10%);
+ @include gradient-bg(lighten($color, 10%));
+ }
+ }
+
+ &:focus {
+ ~ .custom-control-label::before {
+ box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
+ }
+
+ &:not(:checked) ~ .custom-control-label::before {
+ border-color: $color;
+ }
+ }
+ }
+ }
+
+ // custom file
+ .custom-file-input {
+ @include form-validation-state-selector($state) {
+ ~ .custom-file-label {
+ border-color: $color;
+ }
+
+ &:focus {
+ ~ .custom-file-label {
+ border-color: $color;
+ box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
+ }
+ }
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_gradients.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_gradients.scss
new file mode 100644
index 0000000..88c4d64
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_gradients.scss
@@ -0,0 +1,45 @@
+// Gradients
+
+@mixin gradient-bg($color) {
+ @if $enable-gradients {
+ background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x;
+ } @else {
+ background-color: $color;
+ }
+}
+
+// Horizontal gradient, from left to right
+//
+// Creates two color stops, start and end, by specifying a color and position for each color stop.
+@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
+ background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
+ background-repeat: repeat-x;
+}
+
+// Vertical gradient, from top to bottom
+//
+// Creates two color stops, start and end, by specifying a color and position for each color stop.
+@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
+ background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
+ background-repeat: repeat-x;
+}
+
+@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {
+ background-image: linear-gradient($deg, $start-color, $end-color);
+ background-repeat: repeat-x;
+}
+@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
+ background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
+ background-repeat: no-repeat;
+}
+@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
+ background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
+ background-repeat: no-repeat;
+}
+@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {
+ background-image: radial-gradient(circle, $inner-color, $outer-color);
+ background-repeat: no-repeat;
+}
+@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {
+ background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_grid-framework.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_grid-framework.scss
new file mode 100644
index 0000000..6fc8e85
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_grid-framework.scss
@@ -0,0 +1,80 @@
+// Framework grid generation
+//
+// Used only by Bootstrap to generate the correct number of grid classes given
+// any value of `$grid-columns`.
+
+@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {
+ // Common properties for all breakpoints
+ %grid-column {
+ position: relative;
+ width: 100%;
+ padding-right: $gutter / 2;
+ padding-left: $gutter / 2;
+ }
+
+ @each $breakpoint in map-keys($breakpoints) {
+ $infix: breakpoint-infix($breakpoint, $breakpoints);
+
+ @if $columns > 0 {
+ // Allow columns to stretch full width below their breakpoints
+ @for $i from 1 through $columns {
+ .col#{$infix}-#{$i} {
+ @extend %grid-column;
+ }
+ }
+ }
+
+ .col#{$infix},
+ .col#{$infix}-auto {
+ @extend %grid-column;
+ }
+
+ @include media-breakpoint-up($breakpoint, $breakpoints) {
+ // Provide basic `.col-{bp}` classes for equal-width flexbox columns
+ .col#{$infix} {
+ flex-basis: 0;
+ flex-grow: 1;
+ max-width: 100%;
+ }
+
+ @if $grid-row-columns > 0 {
+ @for $i from 1 through $grid-row-columns {
+ .row-cols#{$infix}-#{$i} {
+ @include row-cols($i);
+ }
+ }
+ }
+
+ .col#{$infix}-auto {
+ @include make-col-auto();
+ }
+
+ @if $columns > 0 {
+ @for $i from 1 through $columns {
+ .col#{$infix}-#{$i} {
+ @include make-col($i, $columns);
+ }
+ }
+ }
+
+ .order#{$infix}-first { order: -1; }
+
+ .order#{$infix}-last { order: $columns + 1; }
+
+ @for $i from 0 through $columns {
+ .order#{$infix}-#{$i} { order: $i; }
+ }
+
+ @if $columns > 0 {
+ // `$columns - 1` because offsetting by the width of an entire row isn't possible
+ @for $i from 0 through ($columns - 1) {
+ @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
+ .offset#{$infix}-#{$i} {
+ @include make-col-offset($i, $columns);
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_grid.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_grid.scss
new file mode 100644
index 0000000..19babc0
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_grid.scss
@@ -0,0 +1,69 @@
+/// Grid system
+//
+// Generate semantic grid columns with these mixins.
+
+@mixin make-container($gutter: $grid-gutter-width) {
+ width: 100%;
+ padding-right: $gutter / 2;
+ padding-left: $gutter / 2;
+ margin-right: auto;
+ margin-left: auto;
+}
+
+@mixin make-row($gutter: $grid-gutter-width) {
+ display: flex;
+ flex-wrap: wrap;
+ margin-right: -$gutter / 2;
+ margin-left: -$gutter / 2;
+}
+
+// For each breakpoint, define the maximum width of the container in a media query
+@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {
+ @each $breakpoint, $container-max-width in $max-widths {
+ @include media-breakpoint-up($breakpoint, $breakpoints) {
+ max-width: $container-max-width;
+ }
+ }
+ @include deprecate("The `make-container-max-widths` mixin", "v4.5.2", "v5");
+}
+
+@mixin make-col-ready($gutter: $grid-gutter-width) {
+ position: relative;
+ // Prevent columns from becoming too narrow when at smaller grid tiers by
+ // always setting `width: 100%;`. This works because we use `flex` values
+ // later on to override this initial width.
+ width: 100%;
+ padding-right: $gutter / 2;
+ padding-left: $gutter / 2;
+}
+
+@mixin make-col($size, $columns: $grid-columns) {
+ flex: 0 0 percentage($size / $columns);
+ // Add a `max-width` to ensure content within each column does not blow out
+ // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari
+ // do not appear to require this.
+ max-width: percentage($size / $columns);
+}
+
+@mixin make-col-auto() {
+ flex: 0 0 auto;
+ width: auto;
+ max-width: 100%; // Reset earlier grid tiers
+}
+
+@mixin make-col-offset($size, $columns: $grid-columns) {
+ $num: $size / $columns;
+ margin-left: if($num == 0, 0, percentage($num));
+}
+
+// Row columns
+//
+// Specify on a parent element(e.g., .row) to force immediate children into NN
+// numberof columns. Supports wrapping to new lines, but does not do a Masonry
+// style grid.
+@mixin row-cols($count) {
+ > * {
+ flex: 0 0 100% / $count;
+ max-width: 100% / $count;
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_hover.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_hover.scss
new file mode 100644
index 0000000..409f824
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_hover.scss
@@ -0,0 +1,37 @@
+// Hover mixin and `$enable-hover-media-query` are deprecated.
+//
+// Originally added during our alphas and maintained during betas, this mixin was
+// designed to prevent `:hover` stickiness on iOS-an issue where hover styles
+// would persist after initial touch.
+//
+// For backward compatibility, we've kept these mixins and updated them to
+// always return their regular pseudo-classes instead of a shimmed media query.
+//
+// Issue: https://github.com/twbs/bootstrap/issues/25195
+
+@mixin hover() {
+ &:hover { @content; }
+}
+
+@mixin hover-focus() {
+ &:hover,
+ &:focus {
+ @content;
+ }
+}
+
+@mixin plain-hover-focus() {
+ &,
+ &:hover,
+ &:focus {
+ @content;
+ }
+}
+
+@mixin hover-focus-active() {
+ &:hover,
+ &:focus,
+ &:active {
+ @content;
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_image.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_image.scss
new file mode 100644
index 0000000..c971e03
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_image.scss
@@ -0,0 +1,36 @@
+// Image Mixins
+// - Responsive image
+// - Retina image
+
+
+// Responsive image
+//
+// Keep images from scaling beyond the width of their parents.
+
+@mixin img-fluid() {
+ // Part 1: Set a maximum relative to the parent
+ max-width: 100%;
+ // Part 2: Override the height to auto, otherwise images will be stretched
+ // when setting a width and height attribute on the img element.
+ height: auto;
+}
+
+
+// Retina image
+//
+// Short retina mixin for setting background-image and -size.
+
+@mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) {
+ background-image: url($file-1x);
+
+ // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,
+ // but doesn't convert dppx=>dpi.
+ // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.
+ // Compatibility info: https://caniuse.com/#feat=css-media-resolution
+ @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx
+ only screen and (min-resolution: 2dppx) { // Standardized
+ background-image: url($file-2x);
+ background-size: $width-1x $height-1x;
+ }
+ @include deprecate("`img-retina()`", "v4.3.0", "v5");
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_list-group.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_list-group.scss
new file mode 100644
index 0000000..0da3531
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_list-group.scss
@@ -0,0 +1,21 @@
+// List Groups
+
+@mixin list-group-item-variant($state, $background, $color) {
+ .list-group-item-#{$state} {
+ color: $color;
+ background-color: $background;
+
+ &.list-group-item-action {
+ @include hover-focus() {
+ color: $color;
+ background-color: darken($background, 5%);
+ }
+
+ &.active {
+ color: $white;
+ background-color: $color;
+ border-color: $color;
+ }
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_lists.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_lists.scss
new file mode 100644
index 0000000..251cb07
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_lists.scss
@@ -0,0 +1,7 @@
+// Lists
+
+// Unstyled keeps list items block level, just removes default browser padding and list-style
+@mixin list-unstyled() {
+ padding-left: 0;
+ list-style: none;
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_nav-divider.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_nav-divider.scss
new file mode 100644
index 0000000..3e0ccea
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_nav-divider.scss
@@ -0,0 +1,11 @@
+// Horizontal dividers
+//
+// Dividers (basically an hr) within dropdowns and nav lists
+
+@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {
+ height: 0;
+ margin: $margin-y 0;
+ overflow: hidden;
+ border-top: 1px solid $color;
+ @include deprecate("The `nav-divider()` mixin", "v4.4.0", "v5", $ignore-warning);
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_pagination.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_pagination.scss
new file mode 100644
index 0000000..af8e16d
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_pagination.scss
@@ -0,0 +1,22 @@
+// Pagination
+
+@mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) {
+ .page-link {
+ padding: $padding-y $padding-x;
+ @include font-size($font-size);
+ line-height: $line-height;
+ }
+
+ .page-item {
+ &:first-child {
+ .page-link {
+ @include border-left-radius($border-radius);
+ }
+ }
+ &:last-child {
+ .page-link {
+ @include border-right-radius($border-radius);
+ }
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_reset-text.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_reset-text.scss
new file mode 100644
index 0000000..15b4407
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_reset-text.scss
@@ -0,0 +1,17 @@
+@mixin reset-text() {
+ font-family: $font-family-base;
+ // We deliberately do NOT reset font-size or word-wrap.
+ font-style: normal;
+ font-weight: $font-weight-normal;
+ line-height: $line-height-base;
+ text-align: left; // Fallback for where `start` is not supported
+ text-align: start;
+ text-decoration: none;
+ text-shadow: none;
+ text-transform: none;
+ letter-spacing: normal;
+ word-break: normal;
+ word-spacing: normal;
+ white-space: normal;
+ line-break: auto;
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_resize.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_resize.scss
new file mode 100644
index 0000000..66f233a
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_resize.scss
@@ -0,0 +1,6 @@
+// Resize anything
+
+@mixin resizable($direction) {
+ overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible`
+ resize: $direction; // Options: horizontal, vertical, both
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_screen-reader.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_screen-reader.scss
new file mode 100644
index 0000000..6913442
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_screen-reader.scss
@@ -0,0 +1,34 @@
+// Only display content to screen readers
+//
+// See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/
+// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
+
+@mixin sr-only() {
+ position: absolute;
+ width: 1px;
+ height: 1px;
+ padding: 0;
+ margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686
+ overflow: hidden;
+ clip: rect(0, 0, 0, 0);
+ white-space: nowrap;
+ border: 0;
+}
+
+// Use in conjunction with .sr-only to only display content when it's focused.
+//
+// Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1
+//
+// Credit: HTML5 Boilerplate
+
+@mixin sr-only-focusable() {
+ &:active,
+ &:focus {
+ position: static;
+ width: auto;
+ height: auto;
+ overflow: visible;
+ clip: auto;
+ white-space: normal;
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_size.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_size.scss
new file mode 100644
index 0000000..69e056d
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_size.scss
@@ -0,0 +1,7 @@
+// Sizing shortcuts
+
+@mixin size($width, $height: $width) {
+ width: $width;
+ height: $height;
+ @include deprecate("`size()`", "v4.3.0", "v5");
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_table-row.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_table-row.scss
new file mode 100644
index 0000000..1ccde6b
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_table-row.scss
@@ -0,0 +1,39 @@
+// Tables
+
+@mixin table-row-variant($state, $background, $border: null) {
+ // Exact selectors below required to override `.table-striped` and prevent
+ // inheritance to nested tables.
+ .table-#{$state} {
+ &,
+ > th,
+ > td {
+ background-color: $background;
+ }
+
+ @if $border != null {
+ th,
+ td,
+ thead th,
+ tbody + tbody {
+ border-color: $border;
+ }
+ }
+ }
+
+ // Hover states for `.table-hover`
+ // Note: this is not available for cells or rows within `thead` or `tfoot`.
+ .table-hover {
+ $hover-background: darken($background, 5%);
+
+ .table-#{$state} {
+ @include hover() {
+ background-color: $hover-background;
+
+ > td,
+ > th {
+ background-color: $hover-background;
+ }
+ }
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_text-emphasis.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_text-emphasis.scss
new file mode 100644
index 0000000..5eb8a55
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_text-emphasis.scss
@@ -0,0 +1,17 @@
+// stylelint-disable declaration-no-important
+
+// Typography
+
+@mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {
+ #{$parent} {
+ color: $color !important;
+ }
+ @if $emphasized-link-hover-darken-percentage != 0 {
+ a#{$parent} {
+ @include hover-focus() {
+ color: darken($color, $emphasized-link-hover-darken-percentage) !important;
+ }
+ }
+ }
+ @include deprecate("`text-emphasis-variant()`", "v4.4.0", "v5", $ignore-warning);
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_text-hide.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_text-hide.scss
new file mode 100644
index 0000000..3a92301
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_text-hide.scss
@@ -0,0 +1,11 @@
+// CSS image replacement
+@mixin text-hide($ignore-warning: false) {
+ // stylelint-disable-next-line font-family-no-missing-generic-family-keyword
+ font: 0/0 a;
+ color: transparent;
+ text-shadow: none;
+ background-color: transparent;
+ border: 0;
+
+ @include deprecate("`text-hide()`", "v4.1.0", "v5", $ignore-warning);
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_text-truncate.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_text-truncate.scss
new file mode 100644
index 0000000..3504bb1
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_text-truncate.scss
@@ -0,0 +1,8 @@
+// Text truncate
+// Requires inline-block or block for proper styling
+
+@mixin text-truncate() {
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_transition.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_transition.scss
new file mode 100644
index 0000000..54870bf
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_transition.scss
@@ -0,0 +1,26 @@
+// stylelint-disable property-disallowed-list
+@mixin transition($transition...) {
+ @if length($transition) == 0 {
+ $transition: $transition-base;
+ }
+
+ @if length($transition) > 1 {
+ @each $value in $transition {
+ @if $value == null or $value == none {
+ @warn "The keyword 'none' or 'null' must be used as a single argument.";
+ }
+ }
+ }
+
+ @if $enable-transitions {
+ @if nth($transition, 1) != null {
+ transition: $transition;
+ }
+
+ @if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {
+ @media (prefers-reduced-motion: reduce) {
+ transition: none;
+ }
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/mixins/_visibility.scss b/jekyll-openapi/_sass/bootstrap/scss/mixins/_visibility.scss
new file mode 100644
index 0000000..f174673
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/mixins/_visibility.scss
@@ -0,0 +1,8 @@
+// stylelint-disable declaration-no-important
+
+// Visibility
+
+@mixin invisible($visibility) {
+ visibility: $visibility !important;
+ @include deprecate("`invisible()`", "v4.3.0", "v5");
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_align.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_align.scss
new file mode 100644
index 0000000..8b7df9f
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_align.scss
@@ -0,0 +1,8 @@
+// stylelint-disable declaration-no-important
+
+.align-baseline { vertical-align: baseline !important; } // Browser default
+.align-top { vertical-align: top !important; }
+.align-middle { vertical-align: middle !important; }
+.align-bottom { vertical-align: bottom !important; }
+.align-text-bottom { vertical-align: text-bottom !important; }
+.align-text-top { vertical-align: text-top !important; }
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_background.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_background.scss
new file mode 100644
index 0000000..3accbc4
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_background.scss
@@ -0,0 +1,19 @@
+// stylelint-disable declaration-no-important
+
+@each $color, $value in $theme-colors {
+ @include bg-variant(".bg-#{$color}", $value, true);
+}
+
+@if $enable-gradients {
+ @each $color, $value in $theme-colors {
+ @include bg-gradient-variant(".bg-gradient-#{$color}", $value, true);
+ }
+}
+
+.bg-white {
+ background-color: $white !important;
+}
+
+.bg-transparent {
+ background-color: transparent !important;
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_borders.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_borders.scss
new file mode 100644
index 0000000..205f3fc
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_borders.scss
@@ -0,0 +1,75 @@
+// stylelint-disable property-disallowed-list, declaration-no-important
+
+//
+// Border
+//
+
+.border { border: $border-width solid $border-color !important; }
+.border-top { border-top: $border-width solid $border-color !important; }
+.border-right { border-right: $border-width solid $border-color !important; }
+.border-bottom { border-bottom: $border-width solid $border-color !important; }
+.border-left { border-left: $border-width solid $border-color !important; }
+
+.border-0 { border: 0 !important; }
+.border-top-0 { border-top: 0 !important; }
+.border-right-0 { border-right: 0 !important; }
+.border-bottom-0 { border-bottom: 0 !important; }
+.border-left-0 { border-left: 0 !important; }
+
+@each $color, $value in $theme-colors {
+ .border-#{$color} {
+ border-color: $value !important;
+ }
+}
+
+.border-white {
+ border-color: $white !important;
+}
+
+//
+// Border-radius
+//
+
+.rounded-sm {
+ border-radius: $border-radius-sm !important;
+}
+
+.rounded {
+ border-radius: $border-radius !important;
+}
+
+.rounded-top {
+ border-top-left-radius: $border-radius !important;
+ border-top-right-radius: $border-radius !important;
+}
+
+.rounded-right {
+ border-top-right-radius: $border-radius !important;
+ border-bottom-right-radius: $border-radius !important;
+}
+
+.rounded-bottom {
+ border-bottom-right-radius: $border-radius !important;
+ border-bottom-left-radius: $border-radius !important;
+}
+
+.rounded-left {
+ border-top-left-radius: $border-radius !important;
+ border-bottom-left-radius: $border-radius !important;
+}
+
+.rounded-lg {
+ border-radius: $border-radius-lg !important;
+}
+
+.rounded-circle {
+ border-radius: 50% !important;
+}
+
+.rounded-pill {
+ border-radius: $rounded-pill !important;
+}
+
+.rounded-0 {
+ border-radius: 0 !important;
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_clearfix.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_clearfix.scss
new file mode 100644
index 0000000..e92522a
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_clearfix.scss
@@ -0,0 +1,3 @@
+.clearfix {
+ @include clearfix();
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_display.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_display.scss
new file mode 100644
index 0000000..1303679
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_display.scss
@@ -0,0 +1,26 @@
+// stylelint-disable declaration-no-important
+
+//
+// Utilities for common `display` values
+//
+
+@each $breakpoint in map-keys($grid-breakpoints) {
+ @include media-breakpoint-up($breakpoint) {
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+
+ @each $value in $displays {
+ .d#{$infix}-#{$value} { display: $value !important; }
+ }
+ }
+}
+
+
+//
+// Utilities for toggling `display` in print
+//
+
+@media print {
+ @each $value in $displays {
+ .d-print-#{$value} { display: $value !important; }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_embed.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_embed.scss
new file mode 100644
index 0000000..4497ac0
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_embed.scss
@@ -0,0 +1,39 @@
+// Credit: Nicolas Gallagher and SUIT CSS.
+
+.embed-responsive {
+ position: relative;
+ display: block;
+ width: 100%;
+ padding: 0;
+ overflow: hidden;
+
+ &::before {
+ display: block;
+ content: "";
+ }
+
+ .embed-responsive-item,
+ iframe,
+ embed,
+ object,
+ video {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ border: 0;
+ }
+}
+
+@each $embed-responsive-aspect-ratio in $embed-responsive-aspect-ratios {
+ $embed-responsive-aspect-ratio-x: nth($embed-responsive-aspect-ratio, 1);
+ $embed-responsive-aspect-ratio-y: nth($embed-responsive-aspect-ratio, 2);
+
+ .embed-responsive-#{$embed-responsive-aspect-ratio-x}by#{$embed-responsive-aspect-ratio-y} {
+ &::before {
+ padding-top: percentage($embed-responsive-aspect-ratio-y / $embed-responsive-aspect-ratio-x);
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_flex.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_flex.scss
new file mode 100644
index 0000000..3d4266e
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_flex.scss
@@ -0,0 +1,51 @@
+// stylelint-disable declaration-no-important
+
+// Flex variation
+//
+// Custom styles for additional flex alignment options.
+
+@each $breakpoint in map-keys($grid-breakpoints) {
+ @include media-breakpoint-up($breakpoint) {
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+
+ .flex#{$infix}-row { flex-direction: row !important; }
+ .flex#{$infix}-column { flex-direction: column !important; }
+ .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }
+ .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }
+
+ .flex#{$infix}-wrap { flex-wrap: wrap !important; }
+ .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }
+ .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }
+ .flex#{$infix}-fill { flex: 1 1 auto !important; }
+ .flex#{$infix}-grow-0 { flex-grow: 0 !important; }
+ .flex#{$infix}-grow-1 { flex-grow: 1 !important; }
+ .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }
+ .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }
+
+ .justify-content#{$infix}-start { justify-content: flex-start !important; }
+ .justify-content#{$infix}-end { justify-content: flex-end !important; }
+ .justify-content#{$infix}-center { justify-content: center !important; }
+ .justify-content#{$infix}-between { justify-content: space-between !important; }
+ .justify-content#{$infix}-around { justify-content: space-around !important; }
+
+ .align-items#{$infix}-start { align-items: flex-start !important; }
+ .align-items#{$infix}-end { align-items: flex-end !important; }
+ .align-items#{$infix}-center { align-items: center !important; }
+ .align-items#{$infix}-baseline { align-items: baseline !important; }
+ .align-items#{$infix}-stretch { align-items: stretch !important; }
+
+ .align-content#{$infix}-start { align-content: flex-start !important; }
+ .align-content#{$infix}-end { align-content: flex-end !important; }
+ .align-content#{$infix}-center { align-content: center !important; }
+ .align-content#{$infix}-between { align-content: space-between !important; }
+ .align-content#{$infix}-around { align-content: space-around !important; }
+ .align-content#{$infix}-stretch { align-content: stretch !important; }
+
+ .align-self#{$infix}-auto { align-self: auto !important; }
+ .align-self#{$infix}-start { align-self: flex-start !important; }
+ .align-self#{$infix}-end { align-self: flex-end !important; }
+ .align-self#{$infix}-center { align-self: center !important; }
+ .align-self#{$infix}-baseline { align-self: baseline !important; }
+ .align-self#{$infix}-stretch { align-self: stretch !important; }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_float.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_float.scss
new file mode 100644
index 0000000..5425084
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_float.scss
@@ -0,0 +1,11 @@
+// stylelint-disable declaration-no-important
+
+@each $breakpoint in map-keys($grid-breakpoints) {
+ @include media-breakpoint-up($breakpoint) {
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+
+ .float#{$infix}-left { float: left !important; }
+ .float#{$infix}-right { float: right !important; }
+ .float#{$infix}-none { float: none !important; }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_interactions.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_interactions.scss
new file mode 100644
index 0000000..cc75fc2
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_interactions.scss
@@ -0,0 +1,5 @@
+// stylelint-disable declaration-no-important
+
+@each $value in $user-selects {
+ .user-select-#{$value} { user-select: $value !important; }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_overflow.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_overflow.scss
new file mode 100644
index 0000000..8326c30
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_overflow.scss
@@ -0,0 +1,5 @@
+// stylelint-disable declaration-no-important
+
+@each $value in $overflows {
+ .overflow-#{$value} { overflow: $value !important; }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_position.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_position.scss
new file mode 100644
index 0000000..cdf6c11
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_position.scss
@@ -0,0 +1,32 @@
+// stylelint-disable declaration-no-important
+
+// Common values
+@each $position in $positions {
+ .position-#{$position} { position: $position !important; }
+}
+
+// Shorthand
+
+.fixed-top {
+ position: fixed;
+ top: 0;
+ right: 0;
+ left: 0;
+ z-index: $zindex-fixed;
+}
+
+.fixed-bottom {
+ position: fixed;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: $zindex-fixed;
+}
+
+.sticky-top {
+ @supports (position: sticky) {
+ position: sticky;
+ top: 0;
+ z-index: $zindex-sticky;
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_screenreaders.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_screenreaders.scss
new file mode 100644
index 0000000..9f26fde
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_screenreaders.scss
@@ -0,0 +1,11 @@
+//
+// Screenreaders
+//
+
+.sr-only {
+ @include sr-only();
+}
+
+.sr-only-focusable {
+ @include sr-only-focusable();
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_shadows.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_shadows.scss
new file mode 100644
index 0000000..f5d03fc
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_shadows.scss
@@ -0,0 +1,6 @@
+// stylelint-disable declaration-no-important
+
+.shadow-sm { box-shadow: $box-shadow-sm !important; }
+.shadow { box-shadow: $box-shadow !important; }
+.shadow-lg { box-shadow: $box-shadow-lg !important; }
+.shadow-none { box-shadow: none !important; }
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_sizing.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_sizing.scss
new file mode 100644
index 0000000..f376488
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_sizing.scss
@@ -0,0 +1,20 @@
+// stylelint-disable declaration-no-important
+
+// Width and height
+
+@each $prop, $abbrev in (width: w, height: h) {
+ @each $size, $length in $sizes {
+ .#{$abbrev}-#{$size} { #{$prop}: $length !important; }
+ }
+}
+
+.mw-100 { max-width: 100% !important; }
+.mh-100 { max-height: 100% !important; }
+
+// Viewport additional helpers
+
+.min-vw-100 { min-width: 100vw !important; }
+.min-vh-100 { min-height: 100vh !important; }
+
+.vw-100 { width: 100vw !important; }
+.vh-100 { height: 100vh !important; }
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_spacing.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_spacing.scss
new file mode 100644
index 0000000..3511367
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_spacing.scss
@@ -0,0 +1,73 @@
+// stylelint-disable declaration-no-important
+
+// Margin and Padding
+
+@each $breakpoint in map-keys($grid-breakpoints) {
+ @include media-breakpoint-up($breakpoint) {
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+
+ @each $prop, $abbrev in (margin: m, padding: p) {
+ @each $size, $length in $spacers {
+ .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; }
+ .#{$abbrev}t#{$infix}-#{$size},
+ .#{$abbrev}y#{$infix}-#{$size} {
+ #{$prop}-top: $length !important;
+ }
+ .#{$abbrev}r#{$infix}-#{$size},
+ .#{$abbrev}x#{$infix}-#{$size} {
+ #{$prop}-right: $length !important;
+ }
+ .#{$abbrev}b#{$infix}-#{$size},
+ .#{$abbrev}y#{$infix}-#{$size} {
+ #{$prop}-bottom: $length !important;
+ }
+ .#{$abbrev}l#{$infix}-#{$size},
+ .#{$abbrev}x#{$infix}-#{$size} {
+ #{$prop}-left: $length !important;
+ }
+ }
+ }
+
+ // Negative margins (e.g., where `.mb-n1` is negative version of `.mb-1`)
+ @each $size, $length in $spacers {
+ @if $size != 0 {
+ .m#{$infix}-n#{$size} { margin: -$length !important; }
+ .mt#{$infix}-n#{$size},
+ .my#{$infix}-n#{$size} {
+ margin-top: -$length !important;
+ }
+ .mr#{$infix}-n#{$size},
+ .mx#{$infix}-n#{$size} {
+ margin-right: -$length !important;
+ }
+ .mb#{$infix}-n#{$size},
+ .my#{$infix}-n#{$size} {
+ margin-bottom: -$length !important;
+ }
+ .ml#{$infix}-n#{$size},
+ .mx#{$infix}-n#{$size} {
+ margin-left: -$length !important;
+ }
+ }
+ }
+
+ // Some special margin utils
+ .m#{$infix}-auto { margin: auto !important; }
+ .mt#{$infix}-auto,
+ .my#{$infix}-auto {
+ margin-top: auto !important;
+ }
+ .mr#{$infix}-auto,
+ .mx#{$infix}-auto {
+ margin-right: auto !important;
+ }
+ .mb#{$infix}-auto,
+ .my#{$infix}-auto {
+ margin-bottom: auto !important;
+ }
+ .ml#{$infix}-auto,
+ .mx#{$infix}-auto {
+ margin-left: auto !important;
+ }
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_stretched-link.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_stretched-link.scss
new file mode 100644
index 0000000..fb5066b
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_stretched-link.scss
@@ -0,0 +1,19 @@
+//
+// Stretched link
+//
+
+.stretched-link {
+ &::after {
+ position: absolute;
+ top: 0;
+ right: 0;
+ bottom: 0;
+ left: 0;
+ z-index: 1;
+ // Just in case `pointer-events: none` is set on a parent
+ pointer-events: auto;
+ content: "";
+ // IE10 bugfix, see https://stackoverflow.com/questions/16947967/ie10-hover-pseudo-class-doesnt-work-without-background-color
+ background-color: rgba(0, 0, 0, 0);
+ }
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_text.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_text.scss
new file mode 100644
index 0000000..3a9f83e
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_text.scss
@@ -0,0 +1,72 @@
+// stylelint-disable declaration-no-important
+
+//
+// Text
+//
+
+.text-monospace { font-family: $font-family-monospace !important; }
+
+// Alignment
+
+.text-justify { text-align: justify !important; }
+.text-wrap { white-space: normal !important; }
+.text-nowrap { white-space: nowrap !important; }
+.text-truncate { @include text-truncate(); }
+
+// Responsive alignment
+
+@each $breakpoint in map-keys($grid-breakpoints) {
+ @include media-breakpoint-up($breakpoint) {
+ $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
+
+ .text#{$infix}-left { text-align: left !important; }
+ .text#{$infix}-right { text-align: right !important; }
+ .text#{$infix}-center { text-align: center !important; }
+ }
+}
+
+// Transformation
+
+.text-lowercase { text-transform: lowercase !important; }
+.text-uppercase { text-transform: uppercase !important; }
+.text-capitalize { text-transform: capitalize !important; }
+
+// Weight and italics
+
+.font-weight-light { font-weight: $font-weight-light !important; }
+.font-weight-lighter { font-weight: $font-weight-lighter !important; }
+.font-weight-normal { font-weight: $font-weight-normal !important; }
+.font-weight-bold { font-weight: $font-weight-bold !important; }
+.font-weight-bolder { font-weight: $font-weight-bolder !important; }
+.font-italic { font-style: italic !important; }
+
+// Contextual colors
+
+.text-white { color: $white !important; }
+
+@each $color, $value in $theme-colors {
+ @include text-emphasis-variant(".text-#{$color}", $value, true);
+}
+
+.text-body { color: $body-color !important; }
+.text-muted { color: $text-muted !important; }
+
+.text-black-50 { color: rgba($black, .5) !important; }
+.text-white-50 { color: rgba($white, .5) !important; }
+
+// Misc
+
+.text-hide {
+ @include text-hide($ignore-warning: true);
+}
+
+.text-decoration-none { text-decoration: none !important; }
+
+.text-break {
+ word-break: break-word !important; // Deprecated, but avoids issues with flex containers
+ word-wrap: break-word !important; // Used instead of `overflow-wrap` for IE & Edge Legacy
+}
+
+// Reset
+
+.text-reset { color: inherit !important; }
diff --git a/jekyll-openapi/_sass/bootstrap/scss/utilities/_visibility.scss b/jekyll-openapi/_sass/bootstrap/scss/utilities/_visibility.scss
new file mode 100644
index 0000000..7756c3b
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/utilities/_visibility.scss
@@ -0,0 +1,13 @@
+// stylelint-disable declaration-no-important
+
+//
+// Visibility utilities
+//
+
+.visible {
+ visibility: visible !important;
+}
+
+.invisible {
+ visibility: hidden !important;
+}
diff --git a/jekyll-openapi/_sass/bootstrap/scss/vendor/_rfs.scss b/jekyll-openapi/_sass/bootstrap/scss/vendor/_rfs.scss
new file mode 100644
index 0000000..497e07e
--- /dev/null
+++ b/jekyll-openapi/_sass/bootstrap/scss/vendor/_rfs.scss
@@ -0,0 +1,204 @@
+// stylelint-disable property-blacklist, scss/dollar-variable-default
+
+// SCSS RFS mixin
+//
+// Automated font-resizing
+//
+// See https://github.com/twbs/rfs
+
+// Configuration
+
+// Base font size
+$rfs-base-font-size: 1.25rem !default;
+$rfs-font-size-unit: rem !default;
+
+// Breakpoint at where font-size starts decreasing if screen width is smaller
+$rfs-breakpoint: 1200px !default;
+$rfs-breakpoint-unit: px !default;
+
+// Resize font-size based on screen height and width
+$rfs-two-dimensional: false !default;
+
+// Factor of decrease
+$rfs-factor: 10 !default;
+
+@if type-of($rfs-factor) != "number" or $rfs-factor <= 1 {
+ @error "`#{$rfs-factor}` is not a valid $rfs-factor, it must be greater than 1.";
+}
+
+// Generate enable or disable classes. Possibilities: false, "enable" or "disable"
+$rfs-class: false !default;
+
+// 1 rem = $rfs-rem-value px
+$rfs-rem-value: 16 !default;
+
+// Safari iframe resize bug: https://github.com/twbs/rfs/issues/14
+$rfs-safari-iframe-resize-bug-fix: false !default;
+
+// Disable RFS by setting $enable-responsive-font-sizes to false
+$enable-responsive-font-sizes: true !default;
+
+// Cache $rfs-base-font-size unit
+$rfs-base-font-size-unit: unit($rfs-base-font-size);
+
+// Remove px-unit from $rfs-base-font-size for calculations
+@if $rfs-base-font-size-unit == "px" {
+ $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1);
+}
+@else if $rfs-base-font-size-unit == "rem" {
+ $rfs-base-font-size: $rfs-base-font-size / ($rfs-base-font-size * 0 + 1 / $rfs-rem-value);
+}
+
+// Cache $rfs-breakpoint unit to prevent multiple calls
+$rfs-breakpoint-unit-cache: unit($rfs-breakpoint);
+
+// Remove unit from $rfs-breakpoint for calculations
+@if $rfs-breakpoint-unit-cache == "px" {
+ $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1);
+}
+@else if $rfs-breakpoint-unit-cache == "rem" or $rfs-breakpoint-unit-cache == "em" {
+ $rfs-breakpoint: $rfs-breakpoint / ($rfs-breakpoint * 0 + 1 / $rfs-rem-value);
+}
+
+// Responsive font-size mixin
+@mixin rfs($fs, $important: false) {
+ // Cache $fs unit
+ $fs-unit: if(type-of($fs) == "number", unit($fs), false);
+
+ // Add !important suffix if needed
+ $rfs-suffix: if($important, " !important", "");
+
+ // If $fs isn't a number (like inherit) or $fs has a unit (not px or rem, like 1.5em) or $ is 0, just print the value
+ @if not $fs-unit or $fs-unit != "" and $fs-unit != "px" and $fs-unit != "rem" or $fs == 0 {
+ font-size: #{$fs}#{$rfs-suffix};
+ }
+ @else {
+ // Variables for storing static and fluid rescaling
+ $rfs-static: null;
+ $rfs-fluid: null;
+
+ // Remove px-unit from $fs for calculations
+ @if $fs-unit == "px" {
+ $fs: $fs / ($fs * 0 + 1);
+ }
+ @else if $fs-unit == "rem" {
+ $fs: $fs / ($fs * 0 + 1 / $rfs-rem-value);
+ }
+
+ // Set default font-size
+ @if $rfs-font-size-unit == rem {
+ $rfs-static: #{$fs / $rfs-rem-value}rem#{$rfs-suffix};
+ }
+ @else if $rfs-font-size-unit == px {
+ $rfs-static: #{$fs}px#{$rfs-suffix};
+ }
+ @else {
+ @error "`#{$rfs-font-size-unit}` is not a valid unit for $rfs-font-size-unit. Use `px` or `rem`.";
+ }
+
+ // Only add media query if font-size is bigger as the minimum font-size
+ // If $rfs-factor == 1, no rescaling will take place
+ @if $fs > $rfs-base-font-size and $enable-responsive-font-sizes {
+ $min-width: null;
+ $variable-unit: null;
+
+ // Calculate minimum font-size for given font-size
+ $fs-min: $rfs-base-font-size + ($fs - $rfs-base-font-size) / $rfs-factor;
+
+ // Calculate difference between given font-size and minimum font-size for given font-size
+ $fs-diff: $fs - $fs-min;
+
+ // Base font-size formatting
+ // No need to check if the unit is valid, because we did that before
+ $min-width: if($rfs-font-size-unit == rem, #{$fs-min / $rfs-rem-value}rem, #{$fs-min}px);
+
+ // If two-dimensional, use smallest of screen width and height
+ $variable-unit: if($rfs-two-dimensional, vmin, vw);
+
+ // Calculate the variable width between 0 and $rfs-breakpoint
+ $variable-width: #{$fs-diff * 100 / $rfs-breakpoint}#{$variable-unit};
+
+ // Set the calculated font-size.
+ $rfs-fluid: calc(#{$min-width} + #{$variable-width}) #{$rfs-suffix};
+ }
+
+ // Rendering
+ @if $rfs-fluid == null {
+ // Only render static font-size if no fluid font-size is available
+ font-size: $rfs-static;
+ }
+ @else {
+ $mq-value: null;
+
+ // RFS breakpoint formatting
+ @if $rfs-breakpoint-unit == em or $rfs-breakpoint-unit == rem {
+ $mq-value: #{$rfs-breakpoint / $rfs-rem-value}#{$rfs-breakpoint-unit};
+ }
+ @else if $rfs-breakpoint-unit == px {
+ $mq-value: #{$rfs-breakpoint}px;
+ }
+ @else {
+ @error "`#{$rfs-breakpoint-unit}` is not a valid unit for $rfs-breakpoint-unit. Use `px`, `em` or `rem`.";
+ }
+
+ @if $rfs-class == "disable" {
+ // Adding an extra class increases specificity,
+ // which prevents the media query to override the font size
+ &,
+ .disable-responsive-font-size &,
+ &.disable-responsive-font-size {
+ font-size: $rfs-static;
+ }
+ }
+ @else {
+ font-size: $rfs-static;
+ }
+
+ @if $rfs-two-dimensional {
+ @media (max-width: #{$mq-value}), (max-height: #{$mq-value}) {
+ @if $rfs-class == "enable" {
+ .enable-responsive-font-size &,
+ &.enable-responsive-font-size {
+ font-size: $rfs-fluid;
+ }
+ }
+ @else {
+ font-size: $rfs-fluid;
+ }
+
+ @if $rfs-safari-iframe-resize-bug-fix {
+ // stylelint-disable-next-line length-zero-no-unit
+ min-width: 0vw;
+ }
+ }
+ }
+ @else {
+ @media (max-width: #{$mq-value}) {
+ @if $rfs-class == "enable" {
+ .enable-responsive-font-size &,
+ &.enable-responsive-font-size {
+ font-size: $rfs-fluid;
+ }
+ }
+ @else {
+ font-size: $rfs-fluid;
+ }
+
+ @if $rfs-safari-iframe-resize-bug-fix {
+ // stylelint-disable-next-line length-zero-no-unit
+ min-width: 0vw;
+ }
+ }
+ }
+ }
+ }
+}
+
+// The font-size & responsive-font-size mixin uses RFS to rescale font sizes
+@mixin font-size($fs, $important: false) {
+ @include rfs($fs, $important);
+}
+
+@mixin responsive-font-size($fs, $important: false) {
+ @include rfs($fs, $important);
+}
diff --git a/jekyll-openapi/assets/css/style.scss b/jekyll-openapi/assets/css/style.scss
new file mode 100755
index 0000000..bb68e5c
--- /dev/null
+++ b/jekyll-openapi/assets/css/style.scss
@@ -0,0 +1,54 @@
+---
+---
+
+@import "variables";
+@import "bootstrap/scss/bootstrap";
+
+$navbar-height: $navbar-brand-height + ($navbar-brand-padding-y * 2) + ($navbar-padding-y * 2) !default;
+$offset-top: $navbar-height + map-get($spacers, 4) !default;
+
+nav {
+ padding-top: $offset-top;
+ padding-bottom: map-get($spacers, 4);
+}
+
+nav .nav-link span {
+ min-width: 3rem;
+}
+
+.bg-black {
+ background-color: $gray-900 !important;
+}
+
+.max-vh-50 {
+ max-height: 50vh !important
+}
+
+.navbar {
+ z-index: 9999;
+}
+
+.offset-top {
+ margin-top: -($offset-top);
+ padding-top: $offset-top;
+}
+
+.response .token.operator,
+.response .token.punctuation {
+ color: $light;
+}
+
+.response .token.boolean,
+.response .token.keyword,
+.response .token.null,
+.response .token.number {
+ color: $warning;
+}
+
+.response .token.property {
+ color: $danger;
+}
+
+.response .token.string {
+ color: $success;
+}
diff --git a/jekyll-openapi/assets/img/android-chrome-192x192.png b/jekyll-openapi/assets/img/android-chrome-192x192.png
new file mode 100644
index 0000000..0fa92a7
Binary files /dev/null and b/jekyll-openapi/assets/img/android-chrome-192x192.png differ
diff --git a/jekyll-openapi/assets/img/android-chrome-384x384.png b/jekyll-openapi/assets/img/android-chrome-384x384.png
new file mode 100644
index 0000000..b2bb3b0
Binary files /dev/null and b/jekyll-openapi/assets/img/android-chrome-384x384.png differ
diff --git a/jekyll-openapi/assets/img/android-chrome-512x512.png b/jekyll-openapi/assets/img/android-chrome-512x512.png
new file mode 100644
index 0000000..4b5fa88
Binary files /dev/null and b/jekyll-openapi/assets/img/android-chrome-512x512.png differ
diff --git a/jekyll-openapi/assets/img/apple-touch-icon.png b/jekyll-openapi/assets/img/apple-touch-icon.png
new file mode 100644
index 0000000..4a4b834
Binary files /dev/null and b/jekyll-openapi/assets/img/apple-touch-icon.png differ
diff --git a/jekyll-openapi/assets/img/favicon-16x16.png b/jekyll-openapi/assets/img/favicon-16x16.png
new file mode 100755
index 0000000..5dc4a5a
Binary files /dev/null and b/jekyll-openapi/assets/img/favicon-16x16.png differ
diff --git a/jekyll-openapi/assets/img/favicon-32x32.png b/jekyll-openapi/assets/img/favicon-32x32.png
new file mode 100755
index 0000000..c959bae
Binary files /dev/null and b/jekyll-openapi/assets/img/favicon-32x32.png differ
diff --git a/jekyll-openapi/assets/img/image.png b/jekyll-openapi/assets/img/image.png
new file mode 100644
index 0000000..2bda827
Binary files /dev/null and b/jekyll-openapi/assets/img/image.png differ
diff --git a/jekyll-openapi/assets/img/mstile-150x150.png b/jekyll-openapi/assets/img/mstile-150x150.png
new file mode 100644
index 0000000..b98db6f
Binary files /dev/null and b/jekyll-openapi/assets/img/mstile-150x150.png differ
diff --git a/jekyll-openapi/assets/img/safari-pinned-tab.svg b/jekyll-openapi/assets/img/safari-pinned-tab.svg
new file mode 100644
index 0000000..4630627
--- /dev/null
+++ b/jekyll-openapi/assets/img/safari-pinned-tab.svg
@@ -0,0 +1,3 @@
+
+
+
diff --git a/jekyll-openapi/assets/js/bootstrap.min.js b/jekyll-openapi/assets/js/bootstrap.min.js
new file mode 100644
index 0000000..2245627
--- /dev/null
+++ b/jekyll-openapi/assets/js/bootstrap.min.js
@@ -0,0 +1,6 @@
+/*!
+ * Bootstrap v4.5.3 (https://getbootstrap.com/)
+ * Copyright 2011-2020 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors)
+ * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
+ */
+!function(t,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("jquery"),require("popper.js")):"function"==typeof define&&define.amd?define(["exports","jquery","popper.js"],e):e((t="undefined"!=typeof globalThis?globalThis:t||self).bootstrap={},t.jQuery,t.Popper)}(this,(function(t,e,n){"use strict";function i(t){return t&&"object"==typeof t&&"default"in t?t:{default:t}}var o=i(e),a=i(n);function s(t,e){for(var n=0;n
=4)throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0")}};d.jQueryDetection(),o.default.fn.emulateTransitionEnd=u,o.default.event.special[d.TRANSITION_END]={bindType:"transitionend",delegateType:"transitionend",handle:function(t){if(o.default(t.target).is(this))return t.handleObj.handler.apply(this,arguments)}};var f="alert",c=o.default.fn[f],h=function(){function t(t){this._element=t}var e=t.prototype;return e.close=function(t){var e=this._element;t&&(e=this._getRootElement(t)),this._triggerCloseEvent(e).isDefaultPrevented()||this._removeElement(e)},e.dispose=function(){o.default.removeData(this._element,"bs.alert"),this._element=null},e._getRootElement=function(t){var e=d.getSelectorFromElement(t),n=!1;return e&&(n=document.querySelector(e)),n||(n=o.default(t).closest(".alert")[0]),n},e._triggerCloseEvent=function(t){var e=o.default.Event("close.bs.alert");return o.default(t).trigger(e),e},e._removeElement=function(t){var e=this;if(o.default(t).removeClass("show"),o.default(t).hasClass("fade")){var n=d.getTransitionDurationFromElement(t);o.default(t).one(d.TRANSITION_END,(function(n){return e._destroyElement(t,n)})).emulateTransitionEnd(n)}else this._destroyElement(t)},e._destroyElement=function(t){o.default(t).detach().trigger("closed.bs.alert").remove()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.alert");i||(i=new t(this),n.data("bs.alert",i)),"close"===e&&i[e](this)}))},t._handleDismiss=function(t){return function(e){e&&e.preventDefault(),t.close(this)}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.alert.data-api",'[data-dismiss="alert"]',h._handleDismiss(new h)),o.default.fn[f]=h._jQueryInterface,o.default.fn[f].Constructor=h,o.default.fn[f].noConflict=function(){return o.default.fn[f]=c,h._jQueryInterface};var g=o.default.fn.button,m=function(){function t(t){this._element=t,this.shouldAvoidTriggerChange=!1}var e=t.prototype;return e.toggle=function(){var t=!0,e=!0,n=o.default(this._element).closest('[data-toggle="buttons"]')[0];if(n){var i=this._element.querySelector('input:not([type="hidden"])');if(i){if("radio"===i.type)if(i.checked&&this._element.classList.contains("active"))t=!1;else{var a=n.querySelector(".active");a&&o.default(a).removeClass("active")}t&&("checkbox"!==i.type&&"radio"!==i.type||(i.checked=!this._element.classList.contains("active")),this.shouldAvoidTriggerChange||o.default(i).trigger("change")),i.focus(),e=!1}}this._element.hasAttribute("disabled")||this._element.classList.contains("disabled")||(e&&this._element.setAttribute("aria-pressed",!this._element.classList.contains("active")),t&&o.default(this._element).toggleClass("active"))},e.dispose=function(){o.default.removeData(this._element,"bs.button"),this._element=null},t._jQueryInterface=function(e,n){return this.each((function(){var i=o.default(this),a=i.data("bs.button");a||(a=new t(this),i.data("bs.button",a)),a.shouldAvoidTriggerChange=n,"toggle"===e&&a[e]()}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=t.target,n=e;if(o.default(e).hasClass("btn")||(e=o.default(e).closest(".btn")[0]),!e||e.hasAttribute("disabled")||e.classList.contains("disabled"))t.preventDefault();else{var i=e.querySelector('input:not([type="hidden"])');if(i&&(i.hasAttribute("disabled")||i.classList.contains("disabled")))return void t.preventDefault();"INPUT"!==n.tagName&&"LABEL"===e.tagName||m._jQueryInterface.call(o.default(e),"toggle","INPUT"===n.tagName)}})).on("focus.bs.button.data-api blur.bs.button.data-api",'[data-toggle^="button"]',(function(t){var e=o.default(t.target).closest(".btn")[0];o.default(e).toggleClass("focus",/^focus(in)?$/.test(t.type))})),o.default(window).on("load.bs.button.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')),e=0,n=t.length;e0,this._pointerEvent=Boolean(window.PointerEvent||window.MSPointerEvent),this._addEventListeners()}var e=t.prototype;return e.next=function(){this._isSliding||this._slide("next")},e.nextWhenVisible=function(){var t=o.default(this._element);!document.hidden&&t.is(":visible")&&"hidden"!==t.css("visibility")&&this.next()},e.prev=function(){this._isSliding||this._slide("prev")},e.pause=function(t){t||(this._isPaused=!0),this._element.querySelector(".carousel-item-next, .carousel-item-prev")&&(d.triggerTransitionEnd(this._element),this.cycle(!0)),clearInterval(this._interval),this._interval=null},e.cycle=function(t){t||(this._isPaused=!1),this._interval&&(clearInterval(this._interval),this._interval=null),this._config.interval&&!this._isPaused&&(this._interval=setInterval((document.visibilityState?this.nextWhenVisible:this.next).bind(this),this._config.interval))},e.to=function(t){var e=this;this._activeElement=this._element.querySelector(".active.carousel-item");var n=this._getItemIndex(this._activeElement);if(!(t>this._items.length-1||t<0))if(this._isSliding)o.default(this._element).one("slid.bs.carousel",(function(){return e.to(t)}));else{if(n===t)return this.pause(),void this.cycle();var i=t>n?"next":"prev";this._slide(i,this._items[t])}},e.dispose=function(){o.default(this._element).off(_),o.default.removeData(this._element,"bs.carousel"),this._items=null,this._config=null,this._element=null,this._interval=null,this._isPaused=null,this._isSliding=null,this._activeElement=null,this._indicatorsElement=null},e._getConfig=function(t){return t=r({},b,t),d.typeCheckConfig(p,t,y),t},e._handleSwipe=function(){var t=Math.abs(this.touchDeltaX);if(!(t<=40)){var e=t/this.touchDeltaX;this.touchDeltaX=0,e>0&&this.prev(),e<0&&this.next()}},e._addEventListeners=function(){var t=this;this._config.keyboard&&o.default(this._element).on("keydown.bs.carousel",(function(e){return t._keydown(e)})),"hover"===this._config.pause&&o.default(this._element).on("mouseenter.bs.carousel",(function(e){return t.pause(e)})).on("mouseleave.bs.carousel",(function(e){return t.cycle(e)})),this._config.touch&&this._addTouchEventListeners()},e._addTouchEventListeners=function(){var t=this;if(this._touchSupported){var e=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]?t.touchStartX=e.originalEvent.clientX:t._pointerEvent||(t.touchStartX=e.originalEvent.touches[0].clientX)},n=function(e){t._pointerEvent&&E[e.originalEvent.pointerType.toUpperCase()]&&(t.touchDeltaX=e.originalEvent.clientX-t.touchStartX),t._handleSwipe(),"hover"===t._config.pause&&(t.pause(),t.touchTimeout&&clearTimeout(t.touchTimeout),t.touchTimeout=setTimeout((function(e){return t.cycle(e)}),500+t._config.interval))};o.default(this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel",(function(t){return t.preventDefault()})),this._pointerEvent?(o.default(this._element).on("pointerdown.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("pointerup.bs.carousel",(function(t){return n(t)})),this._element.classList.add("pointer-event")):(o.default(this._element).on("touchstart.bs.carousel",(function(t){return e(t)})),o.default(this._element).on("touchmove.bs.carousel",(function(e){return function(e){e.originalEvent.touches&&e.originalEvent.touches.length>1?t.touchDeltaX=0:t.touchDeltaX=e.originalEvent.touches[0].clientX-t.touchStartX}(e)})),o.default(this._element).on("touchend.bs.carousel",(function(t){return n(t)})))}},e._keydown=function(t){if(!/input|textarea/i.test(t.target.tagName))switch(t.which){case 37:t.preventDefault(),this.prev();break;case 39:t.preventDefault(),this.next()}},e._getItemIndex=function(t){return this._items=t&&t.parentNode?[].slice.call(t.parentNode.querySelectorAll(".carousel-item")):[],this._items.indexOf(t)},e._getItemByDirection=function(t,e){var n="next"===t,i="prev"===t,o=this._getItemIndex(e),a=this._items.length-1;if((i&&0===o||n&&o===a)&&!this._config.wrap)return e;var s=(o+("prev"===t?-1:1))%this._items.length;return-1===s?this._items[this._items.length-1]:this._items[s]},e._triggerSlideEvent=function(t,e){var n=this._getItemIndex(t),i=this._getItemIndex(this._element.querySelector(".active.carousel-item")),a=o.default.Event("slide.bs.carousel",{relatedTarget:t,direction:e,from:i,to:n});return o.default(this._element).trigger(a),a},e._setActiveIndicatorElement=function(t){if(this._indicatorsElement){var e=[].slice.call(this._indicatorsElement.querySelectorAll(".active"));o.default(e).removeClass("active");var n=this._indicatorsElement.children[this._getItemIndex(t)];n&&o.default(n).addClass("active")}},e._slide=function(t,e){var n,i,a,s=this,l=this._element.querySelector(".active.carousel-item"),r=this._getItemIndex(l),u=e||l&&this._getItemByDirection(t,l),f=this._getItemIndex(u),c=Boolean(this._interval);if("next"===t?(n="carousel-item-left",i="carousel-item-next",a="left"):(n="carousel-item-right",i="carousel-item-prev",a="right"),u&&o.default(u).hasClass("active"))this._isSliding=!1;else if(!this._triggerSlideEvent(u,a).isDefaultPrevented()&&l&&u){this._isSliding=!0,c&&this.pause(),this._setActiveIndicatorElement(u);var h=o.default.Event("slid.bs.carousel",{relatedTarget:u,direction:a,from:r,to:f});if(o.default(this._element).hasClass("slide")){o.default(u).addClass(i),d.reflow(u),o.default(l).addClass(n),o.default(u).addClass(n);var g=parseInt(u.getAttribute("data-interval"),10);g?(this._config.defaultInterval=this._config.defaultInterval||this._config.interval,this._config.interval=g):this._config.interval=this._config.defaultInterval||this._config.interval;var m=d.getTransitionDurationFromElement(l);o.default(l).one(d.TRANSITION_END,(function(){o.default(u).removeClass(n+" "+i).addClass("active"),o.default(l).removeClass("active "+i+" "+n),s._isSliding=!1,setTimeout((function(){return o.default(s._element).trigger(h)}),0)})).emulateTransitionEnd(m)}else o.default(l).removeClass("active"),o.default(u).addClass("active"),this._isSliding=!1,o.default(this._element).trigger(h);c&&this.cycle()}},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.carousel"),i=r({},b,o.default(this).data());"object"==typeof e&&(i=r({},i,e));var a="string"==typeof e?e:i.slide;if(n||(n=new t(this,i),o.default(this).data("bs.carousel",n)),"number"==typeof e)n.to(e);else if("string"==typeof a){if("undefined"==typeof n[a])throw new TypeError('No method named "'+a+'"');n[a]()}else i.interval&&i.ride&&(n.pause(),n.cycle())}))},t._dataApiClickHandler=function(e){var n=d.getSelectorFromElement(this);if(n){var i=o.default(n)[0];if(i&&o.default(i).hasClass("carousel")){var a=r({},o.default(i).data(),o.default(this).data()),s=this.getAttribute("data-slide-to");s&&(a.interval=!1),t._jQueryInterface.call(o.default(i),a),s&&o.default(i).data("bs.carousel").to(s),e.preventDefault()}}},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return b}}]),t}();o.default(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",w._dataApiClickHandler),o.default(window).on("load.bs.carousel.data-api",(function(){for(var t=[].slice.call(document.querySelectorAll('[data-ride="carousel"]')),e=0,n=t.length;e0&&(this._selector=s,this._triggerArray.push(a))}this._parent=this._config.parent?this._getParent():null,this._config.parent||this._addAriaAndCollapsedClass(this._element,this._triggerArray),this._config.toggle&&this.toggle()}var e=t.prototype;return e.toggle=function(){o.default(this._element).hasClass("show")?this.hide():this.show()},e.show=function(){var e,n,i=this;if(!this._isTransitioning&&!o.default(this._element).hasClass("show")&&(this._parent&&0===(e=[].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter((function(t){return"string"==typeof i._config.parent?t.getAttribute("data-parent")===i._config.parent:t.classList.contains("collapse")}))).length&&(e=null),!(e&&(n=o.default(e).not(this._selector).data("bs.collapse"))&&n._isTransitioning))){var a=o.default.Event("show.bs.collapse");if(o.default(this._element).trigger(a),!a.isDefaultPrevented()){e&&(t._jQueryInterface.call(o.default(e).not(this._selector),"hide"),n||o.default(e).data("bs.collapse",null));var s=this._getDimension();o.default(this._element).removeClass("collapse").addClass("collapsing"),this._element.style[s]=0,this._triggerArray.length&&o.default(this._triggerArray).removeClass("collapsed").attr("aria-expanded",!0),this.setTransitioning(!0);var l="scroll"+(s[0].toUpperCase()+s.slice(1)),r=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,(function(){o.default(i._element).removeClass("collapsing").addClass("collapse show"),i._element.style[s]="",i.setTransitioning(!1),o.default(i._element).trigger("shown.bs.collapse")})).emulateTransitionEnd(r),this._element.style[s]=this._element[l]+"px"}}},e.hide=function(){var t=this;if(!this._isTransitioning&&o.default(this._element).hasClass("show")){var e=o.default.Event("hide.bs.collapse");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){var n=this._getDimension();this._element.style[n]=this._element.getBoundingClientRect()[n]+"px",d.reflow(this._element),o.default(this._element).addClass("collapsing").removeClass("collapse show");var i=this._triggerArray.length;if(i>0)for(var a=0;a0},e._getOffset=function(){var t=this,e={};return"function"==typeof this._config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t._config.offset(e.offsets,t._element)||{}),e}:e.offset=this._config.offset,e},e._getPopperConfig=function(){var t={placement:this._getPlacement(),modifiers:{offset:this._getOffset(),flip:{enabled:this._config.flip},preventOverflow:{boundariesElement:this._config.boundary}}};return"static"===this._config.display&&(t.modifiers.applyStyle={enabled:!1}),r({},t,this._config.popperConfig)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this).data("bs.dropdown");if(n||(n=new t(this,"object"==typeof e?e:null),o.default(this).data("bs.dropdown",n)),"string"==typeof e){if("undefined"==typeof n[e])throw new TypeError('No method named "'+e+'"');n[e]()}}))},t._clearMenus=function(e){if(!e||3!==e.which&&("keyup"!==e.type||9===e.which))for(var n=[].slice.call(document.querySelectorAll('[data-toggle="dropdown"]')),i=0,a=n.length;i0&&s--,40===e.which&&s document.documentElement.clientHeight;n||(this._element.style.overflowY="hidden"),this._element.classList.add("modal-static");var i=d.getTransitionDurationFromElement(this._dialog);o.default(this._element).off(d.TRANSITION_END),o.default(this._element).one(d.TRANSITION_END,(function(){t._element.classList.remove("modal-static"),n||o.default(t._element).one(d.TRANSITION_END,(function(){t._element.style.overflowY=""})).emulateTransitionEnd(t._element,i)})).emulateTransitionEnd(i),this._element.focus()}else this.hide()},e._showElement=function(t){var e=this,n=o.default(this._element).hasClass("fade"),i=this._dialog?this._dialog.querySelector(".modal-body"):null;this._element.parentNode&&this._element.parentNode.nodeType===Node.ELEMENT_NODE||document.body.appendChild(this._element),this._element.style.display="block",this._element.removeAttribute("aria-hidden"),this._element.setAttribute("aria-modal",!0),this._element.setAttribute("role","dialog"),o.default(this._dialog).hasClass("modal-dialog-scrollable")&&i?i.scrollTop=0:this._element.scrollTop=0,n&&d.reflow(this._element),o.default(this._element).addClass("show"),this._config.focus&&this._enforceFocus();var a=o.default.Event("shown.bs.modal",{relatedTarget:t}),s=function(){e._config.focus&&e._element.focus(),e._isTransitioning=!1,o.default(e._element).trigger(a)};if(n){var l=d.getTransitionDurationFromElement(this._dialog);o.default(this._dialog).one(d.TRANSITION_END,s).emulateTransitionEnd(l)}else s()},e._enforceFocus=function(){var t=this;o.default(document).off("focusin.bs.modal").on("focusin.bs.modal",(function(e){document!==e.target&&t._element!==e.target&&0===o.default(t._element).has(e.target).length&&t._element.focus()}))},e._setEscapeEvent=function(){var t=this;this._isShown?o.default(this._element).on("keydown.dismiss.bs.modal",(function(e){t._config.keyboard&&27===e.which?(e.preventDefault(),t.hide()):t._config.keyboard||27!==e.which||t._triggerBackdropTransition()})):this._isShown||o.default(this._element).off("keydown.dismiss.bs.modal")},e._setResizeEvent=function(){var t=this;this._isShown?o.default(window).on("resize.bs.modal",(function(e){return t.handleUpdate(e)})):o.default(window).off("resize.bs.modal")},e._hideModal=function(){var t=this;this._element.style.display="none",this._element.setAttribute("aria-hidden",!0),this._element.removeAttribute("aria-modal"),this._element.removeAttribute("role"),this._isTransitioning=!1,this._showBackdrop((function(){o.default(document.body).removeClass("modal-open"),t._resetAdjustments(),t._resetScrollbar(),o.default(t._element).trigger("hidden.bs.modal")}))},e._removeBackdrop=function(){this._backdrop&&(o.default(this._backdrop).remove(),this._backdrop=null)},e._showBackdrop=function(t){var e=this,n=o.default(this._element).hasClass("fade")?"fade":"";if(this._isShown&&this._config.backdrop){if(this._backdrop=document.createElement("div"),this._backdrop.className="modal-backdrop",n&&this._backdrop.classList.add(n),o.default(this._backdrop).appendTo(document.body),o.default(this._element).on("click.dismiss.bs.modal",(function(t){e._ignoreBackdropClick?e._ignoreBackdropClick=!1:t.target===t.currentTarget&&e._triggerBackdropTransition()})),n&&d.reflow(this._backdrop),o.default(this._backdrop).addClass("show"),!t)return;if(!n)return void t();var i=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,t).emulateTransitionEnd(i)}else if(!this._isShown&&this._backdrop){o.default(this._backdrop).removeClass("show");var a=function(){e._removeBackdrop(),t&&t()};if(o.default(this._element).hasClass("fade")){var s=d.getTransitionDurationFromElement(this._backdrop);o.default(this._backdrop).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a()}else t&&t()},e._adjustDialog=function(){var t=this._element.scrollHeight>document.documentElement.clientHeight;!this._isBodyOverflowing&&t&&(this._element.style.paddingLeft=this._scrollbarWidth+"px"),this._isBodyOverflowing&&!t&&(this._element.style.paddingRight=this._scrollbarWidth+"px")},e._resetAdjustments=function(){this._element.style.paddingLeft="",this._element.style.paddingRight=""},e._checkScrollbar=function(){var t=document.body.getBoundingClientRect();this._isBodyOverflowing=Math.round(t.left+t.right)
',trigger:"hover focus",title:"",delay:0,html:!1,selector:!1,placement:"top",offset:0,container:!1,fallbackPlacement:"flip",boundary:"scrollParent",sanitize:!0,sanitizeFn:null,whiteList:Q,popperConfig:null},$={HIDE:"hide.bs.tooltip",HIDDEN:"hidden.bs.tooltip",SHOW:"show.bs.tooltip",SHOWN:"shown.bs.tooltip",INSERTED:"inserted.bs.tooltip",CLICK:"click.bs.tooltip",FOCUSIN:"focusin.bs.tooltip",FOCUSOUT:"focusout.bs.tooltip",MOUSEENTER:"mouseenter.bs.tooltip",MOUSELEAVE:"mouseleave.bs.tooltip"},J=function(){function t(t,e){if("undefined"==typeof a.default)throw new TypeError("Bootstrap's tooltips require Popper.js (https://popper.js.org/)");this._isEnabled=!0,this._timeout=0,this._hoverState="",this._activeTrigger={},this._popper=null,this.element=t,this.config=this._getConfig(e),this.tip=null,this._setListeners()}var e=t.prototype;return e.enable=function(){this._isEnabled=!0},e.disable=function(){this._isEnabled=!1},e.toggleEnabled=function(){this._isEnabled=!this._isEnabled},e.toggle=function(t){if(this._isEnabled)if(t){var e=this.constructor.DATA_KEY,n=o.default(t.currentTarget).data(e);n||(n=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(e,n)),n._activeTrigger.click=!n._activeTrigger.click,n._isWithActiveTrigger()?n._enter(null,n):n._leave(null,n)}else{if(o.default(this.getTipElement()).hasClass("show"))return void this._leave(null,this);this._enter(null,this)}},e.dispose=function(){clearTimeout(this._timeout),o.default.removeData(this.element,this.constructor.DATA_KEY),o.default(this.element).off(this.constructor.EVENT_KEY),o.default(this.element).closest(".modal").off("hide.bs.modal",this._hideModalHandler),this.tip&&o.default(this.tip).remove(),this._isEnabled=null,this._timeout=null,this._hoverState=null,this._activeTrigger=null,this._popper&&this._popper.destroy(),this._popper=null,this.element=null,this.config=null,this.tip=null},e.show=function(){var t=this;if("none"===o.default(this.element).css("display"))throw new Error("Please use show on visible elements");var e=o.default.Event(this.constructor.Event.SHOW);if(this.isWithContent()&&this._isEnabled){o.default(this.element).trigger(e);var n=d.findShadowRoot(this.element),i=o.default.contains(null!==n?n:this.element.ownerDocument.documentElement,this.element);if(e.isDefaultPrevented()||!i)return;var s=this.getTipElement(),l=d.getUID(this.constructor.NAME);s.setAttribute("id",l),this.element.setAttribute("aria-describedby",l),this.setContent(),this.config.animation&&o.default(s).addClass("fade");var r="function"==typeof this.config.placement?this.config.placement.call(this,s,this.element):this.config.placement,u=this._getAttachment(r);this.addAttachmentClass(u);var f=this._getContainer();o.default(s).data(this.constructor.DATA_KEY,this),o.default.contains(this.element.ownerDocument.documentElement,this.tip)||o.default(s).appendTo(f),o.default(this.element).trigger(this.constructor.Event.INSERTED),this._popper=new a.default(this.element,s,this._getPopperConfig(u)),o.default(s).addClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().on("mouseover",null,o.default.noop);var c=function(){t.config.animation&&t._fixTransition();var e=t._hoverState;t._hoverState=null,o.default(t.element).trigger(t.constructor.Event.SHOWN),"out"===e&&t._leave(null,t)};if(o.default(this.tip).hasClass("fade")){var h=d.getTransitionDurationFromElement(this.tip);o.default(this.tip).one(d.TRANSITION_END,c).emulateTransitionEnd(h)}else c()}},e.hide=function(t){var e=this,n=this.getTipElement(),i=o.default.Event(this.constructor.Event.HIDE),a=function(){"show"!==e._hoverState&&n.parentNode&&n.parentNode.removeChild(n),e._cleanTipClass(),e.element.removeAttribute("aria-describedby"),o.default(e.element).trigger(e.constructor.Event.HIDDEN),null!==e._popper&&e._popper.destroy(),t&&t()};if(o.default(this.element).trigger(i),!i.isDefaultPrevented()){if(o.default(n).removeClass("show"),"ontouchstart"in document.documentElement&&o.default(document.body).children().off("mouseover",null,o.default.noop),this._activeTrigger.click=!1,this._activeTrigger.focus=!1,this._activeTrigger.hover=!1,o.default(this.tip).hasClass("fade")){var s=d.getTransitionDurationFromElement(n);o.default(n).one(d.TRANSITION_END,a).emulateTransitionEnd(s)}else a();this._hoverState=""}},e.update=function(){null!==this._popper&&this._popper.scheduleUpdate()},e.isWithContent=function(){return Boolean(this.getTitle())},e.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-tooltip-"+t)},e.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},e.setContent=function(){var t=this.getTipElement();this.setElementContent(o.default(t.querySelectorAll(".tooltip-inner")),this.getTitle()),o.default(t).removeClass("fade show")},e.setElementContent=function(t,e){"object"!=typeof e||!e.nodeType&&!e.jquery?this.config.html?(this.config.sanitize&&(e=U(e,this.config.whiteList,this.config.sanitizeFn)),t.html(e)):t.text(e):this.config.html?o.default(e).parent().is(t)||t.empty().append(e):t.text(o.default(e).text())},e.getTitle=function(){var t=this.element.getAttribute("data-original-title");return t||(t="function"==typeof this.config.title?this.config.title.call(this.element):this.config.title),t},e._getPopperConfig=function(t){var e=this;return r({},{placement:t,modifiers:{offset:this._getOffset(),flip:{behavior:this.config.fallbackPlacement},arrow:{element:".arrow"},preventOverflow:{boundariesElement:this.config.boundary}},onCreate:function(t){t.originalPlacement!==t.placement&&e._handlePopperPlacementChange(t)},onUpdate:function(t){return e._handlePopperPlacementChange(t)}},this.config.popperConfig)},e._getOffset=function(){var t=this,e={};return"function"==typeof this.config.offset?e.fn=function(e){return e.offsets=r({},e.offsets,t.config.offset(e.offsets,t.element)||{}),e}:e.offset=this.config.offset,e},e._getContainer=function(){return!1===this.config.container?document.body:d.isElement(this.config.container)?o.default(this.config.container):o.default(document).find(this.config.container)},e._getAttachment=function(t){return X[t.toUpperCase()]},e._setListeners=function(){var t=this;this.config.trigger.split(" ").forEach((function(e){if("click"===e)o.default(t.element).on(t.constructor.Event.CLICK,t.config.selector,(function(e){return t.toggle(e)}));else if("manual"!==e){var n="hover"===e?t.constructor.Event.MOUSEENTER:t.constructor.Event.FOCUSIN,i="hover"===e?t.constructor.Event.MOUSELEAVE:t.constructor.Event.FOCUSOUT;o.default(t.element).on(n,t.config.selector,(function(e){return t._enter(e)})).on(i,t.config.selector,(function(e){return t._leave(e)}))}})),this._hideModalHandler=function(){t.element&&t.hide()},o.default(this.element).closest(".modal").on("hide.bs.modal",this._hideModalHandler),this.config.selector?this.config=r({},this.config,{trigger:"manual",selector:""}):this._fixTitle()},e._fixTitle=function(){var t=typeof this.element.getAttribute("data-original-title");(this.element.getAttribute("title")||"string"!==t)&&(this.element.setAttribute("data-original-title",this.element.getAttribute("title")||""),this.element.setAttribute("title",""))},e._enter=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusin"===t.type?"focus":"hover"]=!0),o.default(e.getTipElement()).hasClass("show")||"show"===e._hoverState?e._hoverState="show":(clearTimeout(e._timeout),e._hoverState="show",e.config.delay&&e.config.delay.show?e._timeout=setTimeout((function(){"show"===e._hoverState&&e.show()}),e.config.delay.show):e.show())},e._leave=function(t,e){var n=this.constructor.DATA_KEY;(e=e||o.default(t.currentTarget).data(n))||(e=new this.constructor(t.currentTarget,this._getDelegateConfig()),o.default(t.currentTarget).data(n,e)),t&&(e._activeTrigger["focusout"===t.type?"focus":"hover"]=!1),e._isWithActiveTrigger()||(clearTimeout(e._timeout),e._hoverState="out",e.config.delay&&e.config.delay.hide?e._timeout=setTimeout((function(){"out"===e._hoverState&&e.hide()}),e.config.delay.hide):e.hide())},e._isWithActiveTrigger=function(){for(var t in this._activeTrigger)if(this._activeTrigger[t])return!0;return!1},e._getConfig=function(t){var e=o.default(this.element).data();return Object.keys(e).forEach((function(t){-1!==z.indexOf(t)&&delete e[t]})),"number"==typeof(t=r({},this.constructor.Default,e,"object"==typeof t&&t?t:{})).delay&&(t.delay={show:t.delay,hide:t.delay}),"number"==typeof t.title&&(t.title=t.title.toString()),"number"==typeof t.content&&(t.content=t.content.toString()),d.typeCheckConfig(M,t,this.constructor.DefaultType),t.sanitize&&(t.template=U(t.template,t.whiteList,t.sanitizeFn)),t},e._getDelegateConfig=function(){var t={};if(this.config)for(var e in this.config)this.constructor.Default[e]!==this.config[e]&&(t[e]=this.config[e]);return t},e._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(V);null!==e&&e.length&&t.removeClass(e.join(""))},e._handlePopperPlacementChange=function(t){this.tip=t.instance.popper,this._cleanTipClass(),this.addAttachmentClass(this._getAttachment(t.placement))},e._fixTransition=function(){var t=this.getTipElement(),e=this.config.animation;null===t.getAttribute("x-placement")&&(o.default(t).removeClass("fade"),this.config.animation=!1,this.hide(),this.show(),this.config.animation=e)},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tooltip"),a="object"==typeof e&&e;if((i||!/dispose|hide/.test(e))&&(i||(i=new t(this,a),n.data("bs.tooltip",i)),"string"==typeof e)){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return Y}},{key:"NAME",get:function(){return M}},{key:"DATA_KEY",get:function(){return"bs.tooltip"}},{key:"Event",get:function(){return $}},{key:"EVENT_KEY",get:function(){return".bs.tooltip"}},{key:"DefaultType",get:function(){return K}}]),t}();o.default.fn[M]=J._jQueryInterface,o.default.fn[M].Constructor=J,o.default.fn[M].noConflict=function(){return o.default.fn[M]=W,J._jQueryInterface};var G="popover",Z=o.default.fn[G],tt=new RegExp("(^|\\s)bs-popover\\S+","g"),et=r({},J.Default,{placement:"right",trigger:"click",content:"",template:''}),nt=r({},J.DefaultType,{content:"(string|element|function)"}),it={HIDE:"hide.bs.popover",HIDDEN:"hidden.bs.popover",SHOW:"show.bs.popover",SHOWN:"shown.bs.popover",INSERTED:"inserted.bs.popover",CLICK:"click.bs.popover",FOCUSIN:"focusin.bs.popover",FOCUSOUT:"focusout.bs.popover",MOUSEENTER:"mouseenter.bs.popover",MOUSELEAVE:"mouseleave.bs.popover"},ot=function(t){var e,n;function i(){return t.apply(this,arguments)||this}n=t,(e=i).prototype=Object.create(n.prototype),e.prototype.constructor=e,e.__proto__=n;var a=i.prototype;return a.isWithContent=function(){return this.getTitle()||this._getContent()},a.addAttachmentClass=function(t){o.default(this.getTipElement()).addClass("bs-popover-"+t)},a.getTipElement=function(){return this.tip=this.tip||o.default(this.config.template)[0],this.tip},a.setContent=function(){var t=o.default(this.getTipElement());this.setElementContent(t.find(".popover-header"),this.getTitle());var e=this._getContent();"function"==typeof e&&(e=e.call(this.element)),this.setElementContent(t.find(".popover-body"),e),t.removeClass("fade show")},a._getContent=function(){return this.element.getAttribute("data-content")||this.config.content},a._cleanTipClass=function(){var t=o.default(this.getTipElement()),e=t.attr("class").match(tt);null!==e&&e.length>0&&t.removeClass(e.join(""))},i._jQueryInterface=function(t){return this.each((function(){var e=o.default(this).data("bs.popover"),n="object"==typeof t?t:null;if((e||!/dispose|hide/.test(t))&&(e||(e=new i(this,n),o.default(this).data("bs.popover",e)),"string"==typeof t)){if("undefined"==typeof e[t])throw new TypeError('No method named "'+t+'"');e[t]()}}))},l(i,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"Default",get:function(){return et}},{key:"NAME",get:function(){return G}},{key:"DATA_KEY",get:function(){return"bs.popover"}},{key:"Event",get:function(){return it}},{key:"EVENT_KEY",get:function(){return".bs.popover"}},{key:"DefaultType",get:function(){return nt}}]),i}(J);o.default.fn[G]=ot._jQueryInterface,o.default.fn[G].Constructor=ot,o.default.fn[G].noConflict=function(){return o.default.fn[G]=Z,ot._jQueryInterface};var at="scrollspy",st=o.default.fn[at],lt={offset:10,method:"auto",target:""},rt={offset:"number",method:"string",target:"(string|element)"},ut=function(){function t(t,e){var n=this;this._element=t,this._scrollElement="BODY"===t.tagName?window:t,this._config=this._getConfig(e),this._selector=this._config.target+" .nav-link,"+this._config.target+" .list-group-item,"+this._config.target+" .dropdown-item",this._offsets=[],this._targets=[],this._activeTarget=null,this._scrollHeight=0,o.default(this._scrollElement).on("scroll.bs.scrollspy",(function(t){return n._process(t)})),this.refresh(),this._process()}var e=t.prototype;return e.refresh=function(){var t=this,e=this._scrollElement===this._scrollElement.window?"offset":"position",n="auto"===this._config.method?e:this._config.method,i="position"===n?this._getScrollTop():0;this._offsets=[],this._targets=[],this._scrollHeight=this._getScrollHeight(),[].slice.call(document.querySelectorAll(this._selector)).map((function(t){var e,a=d.getSelectorFromElement(t);if(a&&(e=document.querySelector(a)),e){var s=e.getBoundingClientRect();if(s.width||s.height)return[o.default(e)[n]().top+i,a]}return null})).filter((function(t){return t})).sort((function(t,e){return t[0]-e[0]})).forEach((function(e){t._offsets.push(e[0]),t._targets.push(e[1])}))},e.dispose=function(){o.default.removeData(this._element,"bs.scrollspy"),o.default(this._scrollElement).off(".bs.scrollspy"),this._element=null,this._scrollElement=null,this._config=null,this._selector=null,this._offsets=null,this._targets=null,this._activeTarget=null,this._scrollHeight=null},e._getConfig=function(t){if("string"!=typeof(t=r({},lt,"object"==typeof t&&t?t:{})).target&&d.isElement(t.target)){var e=o.default(t.target).attr("id");e||(e=d.getUID(at),o.default(t.target).attr("id",e)),t.target="#"+e}return d.typeCheckConfig(at,t,rt),t},e._getScrollTop=function(){return this._scrollElement===window?this._scrollElement.pageYOffset:this._scrollElement.scrollTop},e._getScrollHeight=function(){return this._scrollElement.scrollHeight||Math.max(document.body.scrollHeight,document.documentElement.scrollHeight)},e._getOffsetHeight=function(){return this._scrollElement===window?window.innerHeight:this._scrollElement.getBoundingClientRect().height},e._process=function(){var t=this._getScrollTop()+this._config.offset,e=this._getScrollHeight(),n=this._config.offset+e-this._getOffsetHeight();if(this._scrollHeight!==e&&this.refresh(),t>=n){var i=this._targets[this._targets.length-1];this._activeTarget!==i&&this._activate(i)}else{if(this._activeTarget&&t0)return this._activeTarget=null,void this._clear();for(var o=this._offsets.length;o--;){this._activeTarget!==this._targets[o]&&t>=this._offsets[o]&&("undefined"==typeof this._offsets[o+1]||t li > .active":".active";n=(n=o.default.makeArray(o.default(i).find(s)))[n.length-1]}var l=o.default.Event("hide.bs.tab",{relatedTarget:this._element}),r=o.default.Event("show.bs.tab",{relatedTarget:n});if(n&&o.default(n).trigger(l),o.default(this._element).trigger(r),!r.isDefaultPrevented()&&!l.isDefaultPrevented()){a&&(e=document.querySelector(a)),this._activate(this._element,i);var u=function(){var e=o.default.Event("hidden.bs.tab",{relatedTarget:t._element}),i=o.default.Event("shown.bs.tab",{relatedTarget:n});o.default(n).trigger(e),o.default(t._element).trigger(i)};e?this._activate(e,e.parentNode,u):u()}}},e.dispose=function(){o.default.removeData(this._element,"bs.tab"),this._element=null},e._activate=function(t,e,n){var i=this,a=(!e||"UL"!==e.nodeName&&"OL"!==e.nodeName?o.default(e).children(".active"):o.default(e).find("> li > .active"))[0],s=n&&a&&o.default(a).hasClass("fade"),l=function(){return i._transitionComplete(t,a,n)};if(a&&s){var r=d.getTransitionDurationFromElement(a);o.default(a).removeClass("show").one(d.TRANSITION_END,l).emulateTransitionEnd(r)}else l()},e._transitionComplete=function(t,e,n){if(e){o.default(e).removeClass("active");var i=o.default(e.parentNode).find("> .dropdown-menu .active")[0];i&&o.default(i).removeClass("active"),"tab"===e.getAttribute("role")&&e.setAttribute("aria-selected",!1)}if(o.default(t).addClass("active"),"tab"===t.getAttribute("role")&&t.setAttribute("aria-selected",!0),d.reflow(t),t.classList.contains("fade")&&t.classList.add("show"),t.parentNode&&o.default(t.parentNode).hasClass("dropdown-menu")){var a=o.default(t).closest(".dropdown")[0];if(a){var s=[].slice.call(a.querySelectorAll(".dropdown-toggle"));o.default(s).addClass("active")}t.setAttribute("aria-expanded",!0)}n&&n()},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.tab");if(i||(i=new t(this),n.data("bs.tab",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e]()}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}}]),t}();o.default(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]',(function(t){t.preventDefault(),ft._jQueryInterface.call(o.default(this),"show")})),o.default.fn.tab=ft._jQueryInterface,o.default.fn.tab.Constructor=ft,o.default.fn.tab.noConflict=function(){return o.default.fn.tab=dt,ft._jQueryInterface};var ct=o.default.fn.toast,ht={animation:"boolean",autohide:"boolean",delay:"number"},gt={animation:!0,autohide:!0,delay:500},mt=function(){function t(t,e){this._element=t,this._config=this._getConfig(e),this._timeout=null,this._setListeners()}var e=t.prototype;return e.show=function(){var t=this,e=o.default.Event("show.bs.toast");if(o.default(this._element).trigger(e),!e.isDefaultPrevented()){this._clearTimeout(),this._config.animation&&this._element.classList.add("fade");var n=function(){t._element.classList.remove("showing"),t._element.classList.add("show"),o.default(t._element).trigger("shown.bs.toast"),t._config.autohide&&(t._timeout=setTimeout((function(){t.hide()}),t._config.delay))};if(this._element.classList.remove("hide"),d.reflow(this._element),this._element.classList.add("showing"),this._config.animation){var i=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,n).emulateTransitionEnd(i)}else n()}},e.hide=function(){if(this._element.classList.contains("show")){var t=o.default.Event("hide.bs.toast");o.default(this._element).trigger(t),t.isDefaultPrevented()||this._close()}},e.dispose=function(){this._clearTimeout(),this._element.classList.contains("show")&&this._element.classList.remove("show"),o.default(this._element).off("click.dismiss.bs.toast"),o.default.removeData(this._element,"bs.toast"),this._element=null,this._config=null},e._getConfig=function(t){return t=r({},gt,o.default(this._element).data(),"object"==typeof t&&t?t:{}),d.typeCheckConfig("toast",t,this.constructor.DefaultType),t},e._setListeners=function(){var t=this;o.default(this._element).on("click.dismiss.bs.toast",'[data-dismiss="toast"]',(function(){return t.hide()}))},e._close=function(){var t=this,e=function(){t._element.classList.add("hide"),o.default(t._element).trigger("hidden.bs.toast")};if(this._element.classList.remove("show"),this._config.animation){var n=d.getTransitionDurationFromElement(this._element);o.default(this._element).one(d.TRANSITION_END,e).emulateTransitionEnd(n)}else e()},e._clearTimeout=function(){clearTimeout(this._timeout),this._timeout=null},t._jQueryInterface=function(e){return this.each((function(){var n=o.default(this),i=n.data("bs.toast");if(i||(i=new t(this,"object"==typeof e&&e),n.data("bs.toast",i)),"string"==typeof e){if("undefined"==typeof i[e])throw new TypeError('No method named "'+e+'"');i[e](this)}}))},l(t,null,[{key:"VERSION",get:function(){return"4.5.3"}},{key:"DefaultType",get:function(){return ht}},{key:"Default",get:function(){return gt}}]),t}();o.default.fn.toast=mt._jQueryInterface,o.default.fn.toast.Constructor=mt,o.default.fn.toast.noConflict=function(){return o.default.fn.toast=ct,mt._jQueryInterface},t.Alert=h,t.Button=m,t.Carousel=w,t.Collapse=D,t.Dropdown=x,t.Modal=q,t.Popover=ot,t.Scrollspy=ut,t.Tab=ft,t.Toast=mt,t.Tooltip=J,t.Util=d,Object.defineProperty(t,"__esModule",{value:!0})}));
diff --git a/jekyll-openapi/assets/js/jquery.min.js b/jekyll-openapi/assets/js/jquery.min.js
new file mode 100755
index 0000000..b061403
--- /dev/null
+++ b/jekyll-openapi/assets/js/jquery.min.js
@@ -0,0 +1,2 @@
+/*! jQuery v3.5.1 | (c) JS Foundation and other contributors | jquery.org/license */
+!function(e,t){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=e.document?t(e,!0):function(e){if(!e.document)throw new Error("jQuery requires a window with a document");return t(e)}:t(e)}("undefined"!=typeof window?window:this,function(C,e){"use strict";var t=[],r=Object.getPrototypeOf,s=t.slice,g=t.flat?function(e){return t.flat.call(e)}:function(e){return t.concat.apply([],e)},u=t.push,i=t.indexOf,n={},o=n.toString,v=n.hasOwnProperty,a=v.toString,l=a.call(Object),y={},m=function(e){return"function"==typeof e&&"number"!=typeof e.nodeType},x=function(e){return null!=e&&e===e.window},E=C.document,c={type:!0,src:!0,nonce:!0,noModule:!0};function b(e,t,n){var r,i,o=(n=n||E).createElement("script");if(o.text=e,t)for(r in c)(i=t[r]||t.getAttribute&&t.getAttribute(r))&&o.setAttribute(r,i);n.head.appendChild(o).parentNode.removeChild(o)}function w(e){return null==e?e+"":"object"==typeof e||"function"==typeof e?n[o.call(e)]||"object":typeof e}var f="3.5.1",S=function(e,t){return new S.fn.init(e,t)};function p(e){var t=!!e&&"length"in e&&e.length,n=w(e);return!m(e)&&!x(e)&&("array"===n||0===t||"number"==typeof t&&0+~]|"+M+")"+M+"*"),U=new RegExp(M+"|>"),X=new RegExp(F),V=new RegExp("^"+I+"$"),G={ID:new RegExp("^#("+I+")"),CLASS:new RegExp("^\\.("+I+")"),TAG:new RegExp("^("+I+"|[*])"),ATTR:new RegExp("^"+W),PSEUDO:new RegExp("^"+F),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+M+"*(even|odd|(([+-]|)(\\d*)n|)"+M+"*(?:([+-]|)"+M+"*(\\d+)|))"+M+"*\\)|)","i"),bool:new RegExp("^(?:"+R+")$","i"),needsContext:new RegExp("^"+M+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+M+"*((?:-\\d)?\\d*)"+M+"*\\)|)(?=[^-]|$)","i")},Y=/HTML$/i,Q=/^(?:input|select|textarea|button)$/i,J=/^h\d$/i,K=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,ee=/[+~]/,te=new RegExp("\\\\[\\da-fA-F]{1,6}"+M+"?|\\\\([^\\r\\n\\f])","g"),ne=function(e,t){var n="0x"+e.slice(1)-65536;return t||(n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,1023&n|56320))},re=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ie=function(e,t){return t?"\0"===e?"\ufffd":e.slice(0,-1)+"\\"+e.charCodeAt(e.length-1).toString(16)+" ":"\\"+e},oe=function(){T()},ae=be(function(e){return!0===e.disabled&&"fieldset"===e.nodeName.toLowerCase()},{dir:"parentNode",next:"legend"});try{H.apply(t=O.call(p.childNodes),p.childNodes),t[p.childNodes.length].nodeType}catch(e){H={apply:t.length?function(e,t){L.apply(e,O.call(t))}:function(e,t){var n=e.length,r=0;while(e[n++]=t[r++]);e.length=n-1}}}function se(t,e,n,r){var i,o,a,s,u,l,c,f=e&&e.ownerDocument,p=e?e.nodeType:9;if(n=n||[],"string"!=typeof t||!t||1!==p&&9!==p&&11!==p)return n;if(!r&&(T(e),e=e||C,E)){if(11!==p&&(u=Z.exec(t)))if(i=u[1]){if(9===p){if(!(a=e.getElementById(i)))return n;if(a.id===i)return n.push(a),n}else if(f&&(a=f.getElementById(i))&&y(e,a)&&a.id===i)return n.push(a),n}else{if(u[2])return H.apply(n,e.getElementsByTagName(t)),n;if((i=u[3])&&d.getElementsByClassName&&e.getElementsByClassName)return H.apply(n,e.getElementsByClassName(i)),n}if(d.qsa&&!N[t+" "]&&(!v||!v.test(t))&&(1!==p||"object"!==e.nodeName.toLowerCase())){if(c=t,f=e,1===p&&(U.test(t)||z.test(t))){(f=ee.test(t)&&ye(e.parentNode)||e)===e&&d.scope||((s=e.getAttribute("id"))?s=s.replace(re,ie):e.setAttribute("id",s=S)),o=(l=h(t)).length;while(o--)l[o]=(s?"#"+s:":scope")+" "+xe(l[o]);c=l.join(",")}try{return H.apply(n,f.querySelectorAll(c)),n}catch(e){N(t,!0)}finally{s===S&&e.removeAttribute("id")}}}return g(t.replace($,"$1"),e,n,r)}function ue(){var r=[];return function e(t,n){return r.push(t+" ")>b.cacheLength&&delete e[r.shift()],e[t+" "]=n}}function le(e){return e[S]=!0,e}function ce(e){var t=C.createElement("fieldset");try{return!!e(t)}catch(e){return!1}finally{t.parentNode&&t.parentNode.removeChild(t),t=null}}function fe(e,t){var n=e.split("|"),r=n.length;while(r--)b.attrHandle[n[r]]=t}function pe(e,t){var n=t&&e,r=n&&1===e.nodeType&&1===t.nodeType&&e.sourceIndex-t.sourceIndex;if(r)return r;if(n)while(n=n.nextSibling)if(n===t)return-1;return e?1:-1}function de(t){return function(e){return"input"===e.nodeName.toLowerCase()&&e.type===t}}function he(n){return function(e){var t=e.nodeName.toLowerCase();return("input"===t||"button"===t)&&e.type===n}}function ge(t){return function(e){return"form"in e?e.parentNode&&!1===e.disabled?"label"in e?"label"in e.parentNode?e.parentNode.disabled===t:e.disabled===t:e.isDisabled===t||e.isDisabled!==!t&&ae(e)===t:e.disabled===t:"label"in e&&e.disabled===t}}function ve(a){return le(function(o){return o=+o,le(function(e,t){var n,r=a([],e.length,o),i=r.length;while(i--)e[n=r[i]]&&(e[n]=!(t[n]=e[n]))})})}function ye(e){return e&&"undefined"!=typeof e.getElementsByTagName&&e}for(e in d=se.support={},i=se.isXML=function(e){var t=e.namespaceURI,n=(e.ownerDocument||e).documentElement;return!Y.test(t||n&&n.nodeName||"HTML")},T=se.setDocument=function(e){var t,n,r=e?e.ownerDocument||e:p;return r!=C&&9===r.nodeType&&r.documentElement&&(a=(C=r).documentElement,E=!i(C),p!=C&&(n=C.defaultView)&&n.top!==n&&(n.addEventListener?n.addEventListener("unload",oe,!1):n.attachEvent&&n.attachEvent("onunload",oe)),d.scope=ce(function(e){return a.appendChild(e).appendChild(C.createElement("div")),"undefined"!=typeof e.querySelectorAll&&!e.querySelectorAll(":scope fieldset div").length}),d.attributes=ce(function(e){return e.className="i",!e.getAttribute("className")}),d.getElementsByTagName=ce(function(e){return e.appendChild(C.createComment("")),!e.getElementsByTagName("*").length}),d.getElementsByClassName=K.test(C.getElementsByClassName),d.getById=ce(function(e){return a.appendChild(e).id=S,!C.getElementsByName||!C.getElementsByName(S).length}),d.getById?(b.filter.ID=function(e){var t=e.replace(te,ne);return function(e){return e.getAttribute("id")===t}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n=t.getElementById(e);return n?[n]:[]}}):(b.filter.ID=function(e){var n=e.replace(te,ne);return function(e){var t="undefined"!=typeof e.getAttributeNode&&e.getAttributeNode("id");return t&&t.value===n}},b.find.ID=function(e,t){if("undefined"!=typeof t.getElementById&&E){var n,r,i,o=t.getElementById(e);if(o){if((n=o.getAttributeNode("id"))&&n.value===e)return[o];i=t.getElementsByName(e),r=0;while(o=i[r++])if((n=o.getAttributeNode("id"))&&n.value===e)return[o]}return[]}}),b.find.TAG=d.getElementsByTagName?function(e,t){return"undefined"!=typeof t.getElementsByTagName?t.getElementsByTagName(e):d.qsa?t.querySelectorAll(e):void 0}:function(e,t){var n,r=[],i=0,o=t.getElementsByTagName(e);if("*"===e){while(n=o[i++])1===n.nodeType&&r.push(n);return r}return o},b.find.CLASS=d.getElementsByClassName&&function(e,t){if("undefined"!=typeof t.getElementsByClassName&&E)return t.getElementsByClassName(e)},s=[],v=[],(d.qsa=K.test(C.querySelectorAll))&&(ce(function(e){var t;a.appendChild(e).innerHTML=" ",e.querySelectorAll("[msallowcapture^='']").length&&v.push("[*^$]="+M+"*(?:''|\"\")"),e.querySelectorAll("[selected]").length||v.push("\\["+M+"*(?:value|"+R+")"),e.querySelectorAll("[id~="+S+"-]").length||v.push("~="),(t=C.createElement("input")).setAttribute("name",""),e.appendChild(t),e.querySelectorAll("[name='']").length||v.push("\\["+M+"*name"+M+"*="+M+"*(?:''|\"\")"),e.querySelectorAll(":checked").length||v.push(":checked"),e.querySelectorAll("a#"+S+"+*").length||v.push(".#.+[+~]"),e.querySelectorAll("\\\f"),v.push("[\\r\\n\\f]")}),ce(function(e){e.innerHTML=" ";var t=C.createElement("input");t.setAttribute("type","hidden"),e.appendChild(t).setAttribute("name","D"),e.querySelectorAll("[name=d]").length&&v.push("name"+M+"*[*^$|!~]?="),2!==e.querySelectorAll(":enabled").length&&v.push(":enabled",":disabled"),a.appendChild(e).disabled=!0,2!==e.querySelectorAll(":disabled").length&&v.push(":enabled",":disabled"),e.querySelectorAll("*,:x"),v.push(",.*:")})),(d.matchesSelector=K.test(c=a.matches||a.webkitMatchesSelector||a.mozMatchesSelector||a.oMatchesSelector||a.msMatchesSelector))&&ce(function(e){d.disconnectedMatch=c.call(e,"*"),c.call(e,"[s!='']:x"),s.push("!=",F)}),v=v.length&&new RegExp(v.join("|")),s=s.length&&new RegExp(s.join("|")),t=K.test(a.compareDocumentPosition),y=t||K.test(a.contains)?function(e,t){var n=9===e.nodeType?e.documentElement:e,r=t&&t.parentNode;return e===r||!(!r||1!==r.nodeType||!(n.contains?n.contains(r):e.compareDocumentPosition&&16&e.compareDocumentPosition(r)))}:function(e,t){if(t)while(t=t.parentNode)if(t===e)return!0;return!1},D=t?function(e,t){if(e===t)return l=!0,0;var n=!e.compareDocumentPosition-!t.compareDocumentPosition;return n||(1&(n=(e.ownerDocument||e)==(t.ownerDocument||t)?e.compareDocumentPosition(t):1)||!d.sortDetached&&t.compareDocumentPosition(e)===n?e==C||e.ownerDocument==p&&y(p,e)?-1:t==C||t.ownerDocument==p&&y(p,t)?1:u?P(u,e)-P(u,t):0:4&n?-1:1)}:function(e,t){if(e===t)return l=!0,0;var n,r=0,i=e.parentNode,o=t.parentNode,a=[e],s=[t];if(!i||!o)return e==C?-1:t==C?1:i?-1:o?1:u?P(u,e)-P(u,t):0;if(i===o)return pe(e,t);n=e;while(n=n.parentNode)a.unshift(n);n=t;while(n=n.parentNode)s.unshift(n);while(a[r]===s[r])r++;return r?pe(a[r],s[r]):a[r]==p?-1:s[r]==p?1:0}),C},se.matches=function(e,t){return se(e,null,null,t)},se.matchesSelector=function(e,t){if(T(e),d.matchesSelector&&E&&!N[t+" "]&&(!s||!s.test(t))&&(!v||!v.test(t)))try{var n=c.call(e,t);if(n||d.disconnectedMatch||e.document&&11!==e.document.nodeType)return n}catch(e){N(t,!0)}return 0":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace(te,ne),e[3]=(e[3]||e[4]||e[5]||"").replace(te,ne),"~="===e[2]&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),"nth"===e[1].slice(0,3)?(e[3]||se.error(e[0]),e[4]=+(e[4]?e[5]+(e[6]||1):2*("even"===e[3]||"odd"===e[3])),e[5]=+(e[7]+e[8]||"odd"===e[3])):e[3]&&se.error(e[0]),e},PSEUDO:function(e){var t,n=!e[6]&&e[2];return G.CHILD.test(e[0])?null:(e[3]?e[2]=e[4]||e[5]||"":n&&X.test(n)&&(t=h(n,!0))&&(t=n.indexOf(")",n.length-t)-n.length)&&(e[0]=e[0].slice(0,t),e[2]=n.slice(0,t)),e.slice(0,3))}},filter:{TAG:function(e){var t=e.replace(te,ne).toLowerCase();return"*"===e?function(){return!0}:function(e){return e.nodeName&&e.nodeName.toLowerCase()===t}},CLASS:function(e){var t=m[e+" "];return t||(t=new RegExp("(^|"+M+")"+e+"("+M+"|$)"))&&m(e,function(e){return t.test("string"==typeof e.className&&e.className||"undefined"!=typeof e.getAttribute&&e.getAttribute("class")||"")})},ATTR:function(n,r,i){return function(e){var t=se.attr(e,n);return null==t?"!="===r:!r||(t+="","="===r?t===i:"!="===r?t!==i:"^="===r?i&&0===t.indexOf(i):"*="===r?i&&-1:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i;function D(e,n,r){return m(n)?S.grep(e,function(e,t){return!!n.call(e,t,e)!==r}):n.nodeType?S.grep(e,function(e){return e===n!==r}):"string"!=typeof n?S.grep(e,function(e){return-1)[^>]*|#([\w-]+))$/;(S.fn.init=function(e,t,n){var r,i;if(!e)return this;if(n=n||j,"string"==typeof e){if(!(r="<"===e[0]&&">"===e[e.length-1]&&3<=e.length?[null,e,null]:q.exec(e))||!r[1]&&t)return!t||t.jquery?(t||n).find(e):this.constructor(t).find(e);if(r[1]){if(t=t instanceof S?t[0]:t,S.merge(this,S.parseHTML(r[1],t&&t.nodeType?t.ownerDocument||t:E,!0)),N.test(r[1])&&S.isPlainObject(t))for(r in t)m(this[r])?this[r](t[r]):this.attr(r,t[r]);return this}return(i=E.getElementById(r[2]))&&(this[0]=i,this.length=1),this}return e.nodeType?(this[0]=e,this.length=1,this):m(e)?void 0!==n.ready?n.ready(e):e(S):S.makeArray(e,this)}).prototype=S.fn,j=S(E);var L=/^(?:parents|prev(?:Until|All))/,H={children:!0,contents:!0,next:!0,prev:!0};function O(e,t){while((e=e[t])&&1!==e.nodeType);return e}S.fn.extend({has:function(e){var t=S(e,this),n=t.length;return this.filter(function(){for(var e=0;e\x20\t\r\n\f]*)/i,he=/^$|^module$|\/(?:java|ecma)script/i;ce=E.createDocumentFragment().appendChild(E.createElement("div")),(fe=E.createElement("input")).setAttribute("type","radio"),fe.setAttribute("checked","checked"),fe.setAttribute("name","t"),ce.appendChild(fe),y.checkClone=ce.cloneNode(!0).cloneNode(!0).lastChild.checked,ce.innerHTML="",y.noCloneChecked=!!ce.cloneNode(!0).lastChild.defaultValue,ce.innerHTML=" ",y.option=!!ce.lastChild;var ge={thead:[1,""],col:[2,""],tr:[2,""],td:[3,""],_default:[0,"",""]};function ve(e,t){var n;return n="undefined"!=typeof e.getElementsByTagName?e.getElementsByTagName(t||"*"):"undefined"!=typeof e.querySelectorAll?e.querySelectorAll(t||"*"):[],void 0===t||t&&A(e,t)?S.merge([e],n):n}function ye(e,t){for(var n=0,r=e.length;n",""]);var me=/<|?\w+;/;function xe(e,t,n,r,i){for(var o,a,s,u,l,c,f=t.createDocumentFragment(),p=[],d=0,h=e.length;d\s*$/g;function qe(e,t){return A(e,"table")&&A(11!==t.nodeType?t:t.firstChild,"tr")&&S(e).children("tbody")[0]||e}function Le(e){return e.type=(null!==e.getAttribute("type"))+"/"+e.type,e}function He(e){return"true/"===(e.type||"").slice(0,5)?e.type=e.type.slice(5):e.removeAttribute("type"),e}function Oe(e,t){var n,r,i,o,a,s;if(1===t.nodeType){if(Y.hasData(e)&&(s=Y.get(e).events))for(i in Y.remove(t,"handle events"),s)for(n=0,r=s[i].length;n").attr(n.scriptAttrs||{}).prop({charset:n.scriptCharset,src:n.url}).on("load error",i=function(e){r.remove(),i=null,e&&t("error"===e.type?404:200,e.type)}),E.head.appendChild(r[0])},abort:function(){i&&i()}}});var Ut,Xt=[],Vt=/(=)\?(?=&|$)|\?\?/;S.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Xt.pop()||S.expando+"_"+Ct.guid++;return this[e]=!0,e}}),S.ajaxPrefilter("json jsonp",function(e,t,n){var r,i,o,a=!1!==e.jsonp&&(Vt.test(e.url)?"url":"string"==typeof e.data&&0===(e.contentType||"").indexOf("application/x-www-form-urlencoded")&&Vt.test(e.data)&&"data");if(a||"jsonp"===e.dataTypes[0])return r=e.jsonpCallback=m(e.jsonpCallback)?e.jsonpCallback():e.jsonpCallback,a?e[a]=e[a].replace(Vt,"$1"+r):!1!==e.jsonp&&(e.url+=(Et.test(e.url)?"&":"?")+e.jsonp+"="+r),e.converters["script json"]=function(){return o||S.error(r+" was not called"),o[0]},e.dataTypes[0]="json",i=C[r],C[r]=function(){o=arguments},n.always(function(){void 0===i?S(C).removeProp(r):C[r]=i,e[r]&&(e.jsonpCallback=t.jsonpCallback,Xt.push(r)),o&&m(i)&&i(o[0]),o=i=void 0}),"script"}),y.createHTMLDocument=((Ut=E.implementation.createHTMLDocument("").body).innerHTML="",2===Ut.childNodes.length),S.parseHTML=function(e,t,n){return"string"!=typeof e?[]:("boolean"==typeof t&&(n=t,t=!1),t||(y.createHTMLDocument?((r=(t=E.implementation.createHTMLDocument("")).createElement("base")).href=E.location.href,t.head.appendChild(r)):t=E),o=!n&&[],(i=N.exec(e))?[t.createElement(i[1])]:(i=xe([e],t,o),o&&o.length&&S(o).remove(),S.merge([],i.childNodes)));var r,i,o},S.fn.load=function(e,t,n){var r,i,o,a=this,s=e.indexOf(" ");return-1").append(S.parseHTML(e)).find(r):e)}).always(n&&function(e,t){a.each(function(){n.apply(this,o||[e.responseText,t,e])})}),this},S.expr.pseudos.animated=function(t){return S.grep(S.timers,function(e){return t===e.elem}).length},S.offset={setOffset:function(e,t,n){var r,i,o,a,s,u,l=S.css(e,"position"),c=S(e),f={};"static"===l&&(e.style.position="relative"),s=c.offset(),o=S.css(e,"top"),u=S.css(e,"left"),("absolute"===l||"fixed"===l)&&-1<(o+u).indexOf("auto")?(a=(r=c.position()).top,i=r.left):(a=parseFloat(o)||0,i=parseFloat(u)||0),m(t)&&(t=t.call(e,n,S.extend({},s))),null!=t.top&&(f.top=t.top-s.top+a),null!=t.left&&(f.left=t.left-s.left+i),"using"in t?t.using.call(e,f):("number"==typeof f.top&&(f.top+="px"),"number"==typeof f.left&&(f.left+="px"),c.css(f))}},S.fn.extend({offset:function(t){if(arguments.length)return void 0===t?this:this.each(function(e){S.offset.setOffset(this,t,e)});var e,n,r=this[0];return r?r.getClientRects().length?(e=r.getBoundingClientRect(),n=r.ownerDocument.defaultView,{top:e.top+n.pageYOffset,left:e.left+n.pageXOffset}):{top:0,left:0}:void 0},position:function(){if(this[0]){var e,t,n,r=this[0],i={top:0,left:0};if("fixed"===S.css(r,"position"))t=r.getBoundingClientRect();else{t=this.offset(),n=r.ownerDocument,e=r.offsetParent||n.documentElement;while(e&&(e===n.body||e===n.documentElement)&&"static"===S.css(e,"position"))e=e.parentNode;e&&e!==r&&1===e.nodeType&&((i=S(e).offset()).top+=S.css(e,"borderTopWidth",!0),i.left+=S.css(e,"borderLeftWidth",!0))}return{top:t.top-i.top-S.css(r,"marginTop",!0),left:t.left-i.left-S.css(r,"marginLeft",!0)}}},offsetParent:function(){return this.map(function(){var e=this.offsetParent;while(e&&"static"===S.css(e,"position"))e=e.offsetParent;return e||re})}}),S.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(t,i){var o="pageYOffset"===i;S.fn[t]=function(e){return $(this,function(e,t,n){var r;if(x(e)?r=e:9===e.nodeType&&(r=e.defaultView),void 0===n)return r?r[i]:e[t];r?r.scrollTo(o?r.pageXOffset:n,o?n:r.pageYOffset):e[t]=n},t,e,arguments.length)}}),S.each(["top","left"],function(e,n){S.cssHooks[n]=$e(y.pixelPosition,function(e,t){if(t)return t=Be(e,n),Me.test(t)?S(e).position()[n]+"px":t})}),S.each({Height:"height",Width:"width"},function(a,s){S.each({padding:"inner"+a,content:s,"":"outer"+a},function(r,o){S.fn[o]=function(e,t){var n=arguments.length&&(r||"boolean"!=typeof e),i=r||(!0===e||!0===t?"margin":"border");return $(this,function(e,t,n){var r;return x(e)?0===o.indexOf("outer")?e["inner"+a]:e.document.documentElement["client"+a]:9===e.nodeType?(r=e.documentElement,Math.max(e.body["scroll"+a],r["scroll"+a],e.body["offset"+a],r["offset"+a],r["client"+a])):void 0===n?S.css(e,t,i):S.style(e,t,n,i)},s,n?e:void 0,n)}})}),S.each(["ajaxStart","ajaxStop","ajaxComplete","ajaxError","ajaxSuccess","ajaxSend"],function(e,t){S.fn[t]=function(e){return this.on(t,e)}}),S.fn.extend({bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return 1===arguments.length?this.off(e,"**"):this.off(t,e||"**",n)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),S.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(e,n){S.fn[n]=function(e,t){return 0["html","body"].indexOf(a(e));){if("none"!==(r=c(e)).transform||"none"!==r.perspective||r.willChange&&"auto"!==r.willChange){r=e;break e}e=e.parentNode}r=null}return r||t}function v(e){var t=new Map,n=new Set,r=[];return e.forEach((function(e){t.set(e.name,e)})),e.forEach((function(e){n.has(e.name)||function e(o){n.add(o.name),[].concat(o.requires||[],o.requiresIfExists||[]).forEach((function(r){n.has(r)||(r=t.get(r))&&e(r)})),r.push(o)}(e)})),r}function b(e){var t;return function(){return t||(t=new Promise((function(n){Promise.resolve().then((function(){t=void 0,n(e())}))}))),t}}function y(e){return e.split("-")[0]}function O(e,t){var r,o=t.getRootNode&&t.getRootNode();if(e.contains(t))return!0;if((r=o)&&(r=o instanceof(r=n(o).ShadowRoot)||o instanceof ShadowRoot),r)do{if(t&&e.isSameNode(t))return!0;t=t.parentNode||t.host}while(t);return!1}function w(e){return Object.assign(Object.assign({},e),{},{left:e.x,top:e.y,right:e.x+e.width,bottom:e.y+e.height})}function x(e,o){if("viewport"===o){o=n(e);var a=s(e);o=o.visualViewport;var p=a.clientWidth;a=a.clientHeight;var l=0,u=0;o&&(p=o.width,a=o.height,/^((?!chrome|android).)*safari/i.test(navigator.userAgent)||(l=o.offsetLeft,u=o.offsetTop)),e=w(e={width:p,height:a,x:l+f(e),y:u})}else i(o)?((e=t(o)).top+=o.clientTop,e.left+=o.clientLeft,e.bottom=e.top+o.clientHeight,e.right=e.left+o.clientWidth,e.width=o.clientWidth,e.height=o.clientHeight,e.x=e.left,e.y=e.top):(u=s(e),e=s(u),l=r(u),o=u.ownerDocument.body,p=Math.max(e.scrollWidth,e.clientWidth,o?o.scrollWidth:0,o?o.clientWidth:0),a=Math.max(e.scrollHeight,e.clientHeight,o?o.scrollHeight:0,o?o.clientHeight:0),u=-l.scrollLeft+f(u),l=-l.scrollTop,"rtl"===c(o||e).direction&&(u+=Math.max(e.clientWidth,o?o.clientWidth:0)-p),e=w({width:p,height:a,x:u,y:l}));return e}function j(e,t,n){return t="clippingParents"===t?function(e){var t=m(d(e)),n=0<=["absolute","fixed"].indexOf(c(e).position)&&i(e)?g(e):e;return o(n)?t.filter((function(e){return o(e)&&O(e,n)&&"body"!==a(e)})):[]}(e):[].concat(t),(n=(n=[].concat(t,[n])).reduce((function(t,n){return n=x(e,n),t.top=Math.max(n.top,t.top),t.right=Math.min(n.right,t.right),t.bottom=Math.min(n.bottom,t.bottom),t.left=Math.max(n.left,t.left),t}),x(e,n[0]))).width=n.right-n.left,n.height=n.bottom-n.top,n.x=n.left,n.y=n.top,n}function M(e){return 0<=["top","bottom"].indexOf(e)?"x":"y"}function E(e){var t=e.reference,n=e.element,r=(e=e.placement)?y(e):null;e=e?e.split("-")[1]:null;var o=t.x+t.width/2-n.width/2,i=t.y+t.height/2-n.height/2;switch(r){case"top":o={x:o,y:t.y-n.height};break;case"bottom":o={x:o,y:t.y+t.height};break;case"right":o={x:t.x+t.width,y:i};break;case"left":o={x:t.x-n.width,y:i};break;default:o={x:t.x,y:t.y}}if(null!=(r=r?M(r):null))switch(i="y"===r?"height":"width",e){case"start":o[r]=Math.floor(o[r])-Math.floor(t[i]/2-n[i]/2);break;case"end":o[r]=Math.floor(o[r])+Math.ceil(t[i]/2-n[i]/2)}return o}function D(e){return Object.assign(Object.assign({},{top:0,right:0,bottom:0,left:0}),e)}function P(e,t){return t.reduce((function(t,n){return t[n]=e,t}),{})}function L(e,n){void 0===n&&(n={});var r=n;n=void 0===(n=r.placement)?e.placement:n;var i=r.boundary,a=void 0===i?"clippingParents":i,f=void 0===(i=r.rootBoundary)?"viewport":i;i=void 0===(i=r.elementContext)?"popper":i;var c=r.altBoundary,p=void 0!==c&&c;r=D("number"!=typeof(r=void 0===(r=r.padding)?0:r)?r:P(r,T));var l=e.elements.reference;c=e.rects.popper,a=j(o(p=e.elements[p?"popper"===i?"reference":"popper":i])?p:p.contextElement||s(e.elements.popper),a,f),p=E({reference:f=t(l),element:c,strategy:"absolute",placement:n}),c=w(Object.assign(Object.assign({},c),p)),f="popper"===i?c:f;var u={top:a.top-f.top+r.top,bottom:f.bottom-a.bottom+r.bottom,left:a.left-f.left+r.left,right:f.right-a.right+r.right};if(e=e.modifiersData.offset,"popper"===i&&e){var d=e[n];Object.keys(u).forEach((function(e){var t=0<=["right","bottom"].indexOf(e)?1:-1,n=0<=["top","bottom"].indexOf(e)?"y":"x";u[e]+=d[n]*t}))}return u}function k(){for(var e=arguments.length,t=Array(e),n=0;n(v.devicePixelRatio||1)?"translate("+e+"px, "+l+"px)":"translate3d("+e+"px, "+l+"px, 0)",d)):Object.assign(Object.assign({},r),{},((t={})[h]=a?l+"px":"",t[m]=u?e+"px":"",t.transform="",t))}function A(e){return e.replace(/left|right|bottom|top/g,(function(e){return G[e]}))}function H(e){return e.replace(/start|end/g,(function(e){return J[e]}))}function R(e,t,n){return void 0===n&&(n={x:0,y:0}),{top:e.top-t.height-n.y,right:e.right-t.width+n.x,bottom:e.bottom-t.height+n.y,left:e.left-t.width-n.x}}function S(e){return["top","right","bottom","left"].some((function(t){return 0<=e[t]}))}var T=["top","bottom","right","left"],q=T.reduce((function(e,t){return e.concat([t+"-start",t+"-end"])}),[]),C=[].concat(T,["auto"]).reduce((function(e,t){return e.concat([t,t+"-start",t+"-end"])}),[]),N="beforeRead read afterRead beforeMain main afterMain beforeWrite write afterWrite".split(" "),V={placement:"bottom",modifiers:[],strategy:"absolute"},I={passive:!0},_={name:"eventListeners",enabled:!0,phase:"write",fn:function(){},effect:function(e){var t=e.state,r=e.instance,o=(e=e.options).scroll,i=void 0===o||o,a=void 0===(e=e.resize)||e,s=n(t.elements.popper),f=[].concat(t.scrollParents.reference,t.scrollParents.popper);return i&&f.forEach((function(e){e.addEventListener("scroll",r.update,I)})),a&&s.addEventListener("resize",r.update,I),function(){i&&f.forEach((function(e){e.removeEventListener("scroll",r.update,I)})),a&&s.removeEventListener("resize",r.update,I)}},data:{}},U={name:"popperOffsets",enabled:!0,phase:"read",fn:function(e){var t=e.state;t.modifiersData[e.name]=E({reference:t.rects.reference,element:t.rects.popper,strategy:"absolute",placement:t.placement})},data:{}},z={top:"auto",right:"auto",bottom:"auto",left:"auto"},F={name:"computeStyles",enabled:!0,phase:"beforeWrite",fn:function(e){var t=e.state,n=e.options;e=void 0===(e=n.gpuAcceleration)||e,n=void 0===(n=n.adaptive)||n,e={placement:y(t.placement),popper:t.elements.popper,popperRect:t.rects.popper,gpuAcceleration:e},null!=t.modifiersData.popperOffsets&&(t.styles.popper=Object.assign(Object.assign({},t.styles.popper),W(Object.assign(Object.assign({},e),{},{offsets:t.modifiersData.popperOffsets,position:t.options.strategy,adaptive:n})))),null!=t.modifiersData.arrow&&(t.styles.arrow=Object.assign(Object.assign({},t.styles.arrow),W(Object.assign(Object.assign({},e),{},{offsets:t.modifiersData.arrow,position:"absolute",adaptive:!1})))),t.attributes.popper=Object.assign(Object.assign({},t.attributes.popper),{},{"data-popper-placement":t.placement})},data:{}},X={name:"applyStyles",enabled:!0,phase:"write",fn:function(e){var t=e.state;Object.keys(t.elements).forEach((function(e){var n=t.styles[e]||{},r=t.attributes[e]||{},o=t.elements[e];i(o)&&a(o)&&(Object.assign(o.style,n),Object.keys(r).forEach((function(e){var t=r[e];!1===t?o.removeAttribute(e):o.setAttribute(e,!0===t?"":t)})))}))},effect:function(e){var t=e.state,n={popper:{position:t.options.strategy,left:"0",top:"0",margin:"0"},arrow:{position:"absolute"},reference:{}};return Object.assign(t.elements.popper.style,n.popper),t.elements.arrow&&Object.assign(t.elements.arrow.style,n.arrow),function(){Object.keys(t.elements).forEach((function(e){var r=t.elements[e],o=t.attributes[e]||{};e=Object.keys(t.styles.hasOwnProperty(e)?t.styles[e]:n[e]).reduce((function(e,t){return e[t]="",e}),{}),i(r)&&a(r)&&(Object.assign(r.style,e),Object.keys(o).forEach((function(e){r.removeAttribute(e)})))}))}},requires:["computeStyles"]},Y={name:"offset",enabled:!0,phase:"main",requires:["popperOffsets"],fn:function(e){var t=e.state,n=e.name,r=void 0===(e=e.options.offset)?[0,0]:e,o=(e=C.reduce((function(e,n){var o=t.rects,i=y(n),a=0<=["left","top"].indexOf(i)?-1:1,s="function"==typeof r?r(Object.assign(Object.assign({},o),{},{placement:n})):r;return o=(o=s[0])||0,s=((s=s[1])||0)*a,i=0<=["left","right"].indexOf(i)?{x:s,y:o}:{x:o,y:s},e[n]=i,e}),{}))[t.placement],i=o.x;o=o.y,null!=t.modifiersData.popperOffsets&&(t.modifiersData.popperOffsets.x+=i,t.modifiersData.popperOffsets.y+=o),t.modifiersData[n]=e}},G={left:"right",right:"left",bottom:"top",top:"bottom"},J={start:"end",end:"start"},K={name:"flip",enabled:!0,phase:"main",fn:function(e){var t=e.state,n=e.options;if(e=e.name,!t.modifiersData[e]._skip){var r=n.mainAxis;r=void 0===r||r;var o=n.altAxis;o=void 0===o||o;var i=n.fallbackPlacements,a=n.padding,s=n.boundary,f=n.rootBoundary,c=n.altBoundary,p=n.flipVariations,l=void 0===p||p,u=n.allowedAutoPlacements;p=y(n=t.options.placement),i=i||(p!==n&&l?function(e){if("auto"===y(e))return[];var t=A(e);return[H(e),t,H(t)]}(n):[A(n)]);var d=[n].concat(i).reduce((function(e,n){return e.concat("auto"===y(n)?function(e,t){void 0===t&&(t={});var n=t.boundary,r=t.rootBoundary,o=t.padding,i=t.flipVariations,a=t.allowedAutoPlacements,s=void 0===a?C:a,f=t.placement.split("-")[1];0===(i=(t=f?i?q:q.filter((function(e){return e.split("-")[1]===f})):T).filter((function(e){return 0<=s.indexOf(e)}))).length&&(i=t);var c=i.reduce((function(t,i){return t[i]=L(e,{placement:i,boundary:n,rootBoundary:r,padding:o})[y(i)],t}),{});return Object.keys(c).sort((function(e,t){return c[e]-c[t]}))}(t,{placement:n,boundary:s,rootBoundary:f,padding:a,flipVariations:l,allowedAutoPlacements:u}):n)}),[]);n=t.rects.reference,i=t.rects.popper;var m=new Map;p=!0;for(var h=d[0],g=0;gi[x]&&(O=A(O)),x=A(O),w=[],r&&w.push(0>=j[b]),o&&w.push(0>=j[O],0>=j[x]),w.every((function(e){return e}))){h=v,p=!1;break}m.set(v,w)}if(p)for(r=function(e){var t=d.find((function(t){if(t=m.get(t))return t.slice(0,e).every((function(e){return e}))}));if(t)return h=t,"break"},o=l?3:1;0=l.reach);k+=y.value.length,y=y.next){var b=y.value;if(t.length>n.length)return;if(!(b instanceof W)){var x=1;if(h&&y!=t.tail.prev){m.lastIndex=k;var w=m.exec(n);if(!w)break;var A=w.index+(f&&w[1]?w[1].length:0),P=w.index+w[0].length,S=k;for(S+=y.value.length;S<=A;)y=y.next,S+=y.value.length;if(S-=y.value.length,k=S,y.value instanceof W)continue;for(var E=y;E!==t.tail&&(Sl.reach&&(l.reach=j);var C=y.prev;L&&(C=I(t,C,L),k+=L.length),z(t,C,x);var _=new W(o,g?M.tokenize(O,g):O,v,O);y=I(t,C,_),N&&I(t,y,N),1"+a.content+""+a.tag+">"},!u.document)return u.addEventListener&&(M.disableWorkerMessageHandler||u.addEventListener("message",function(e){var n=JSON.parse(e.data),t=n.language,r=n.code,a=n.immediateClose;u.postMessage(M.highlight(r,M.languages[t],t)),a&&u.close()},!1)),M;var e=M.util.currentScript();function t(){M.manual||M.highlightAll()}if(e&&(M.filename=e.src,e.hasAttribute("data-manual")&&(M.manual=!0)),!M.manual){var r=document.readyState;"loading"===r||"interactive"===r&&e&&e.defer?document.addEventListener("DOMContentLoaded",t):window.requestAnimationFrame?window.requestAnimationFrame(t):window.setTimeout(t,16)}return M}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism);
+Prism.languages.json={property:{pattern:/"(?:\\.|[^\\"\r\n])*"(?=\s*:)/,greedy:!0},string:{pattern:/"(?:\\.|[^\\"\r\n])*"(?!\s*:)/,greedy:!0},comment:{pattern:/\/\/.*|\/\*[\s\S]*?(?:\*\/|$)/,greedy:!0},number:/-?\b\d+(?:\.\d+)?(?:e[+-]?\d+)?\b/i,punctuation:/[{}[\],]/,operator:/:/,boolean:/\b(?:true|false)\b/,null:{pattern:/\bnull\b/,alias:"keyword"}},Prism.languages.webmanifest=Prism.languages.json;
diff --git a/jekyll-openapi/assets/js/script.js b/jekyll-openapi/assets/js/script.js
new file mode 100755
index 0000000..924503b
--- /dev/null
+++ b/jekyll-openapi/assets/js/script.js
@@ -0,0 +1,34 @@
+---
+layout: null
+---
+
+{% include_relative jquery.min.js %}
+{% include_relative popper.min.js %}
+{% include_relative bootstrap.min.js %}
+{% include_relative prism.min.js %}
+
+window.Prism = window.Prism || {};
+window.Prism.manual = true;
+
+function isJSON(string) {
+ try {
+ JSON.parse(string);
+ } catch (e) {
+ return false;
+ }
+ return true;
+}
+
+$(function() {
+
+ $(".language-json").each(function() {
+ var string = $(this).html();
+ if (isJSON(string)) {
+ var json = JSON.parse(string);
+ var code = JSON.stringify(json, null, ' ');
+ var html = Prism.highlight(code, Prism.languages.json, 'json');
+ $(this).html(html);
+ }
+ });
+
+});
diff --git a/jekyll-openapi/browserconfig.xml b/jekyll-openapi/browserconfig.xml
new file mode 100644
index 0000000..ac842d0
--- /dev/null
+++ b/jekyll-openapi/browserconfig.xml
@@ -0,0 +1,13 @@
+---
+layout: null
+---
+
+
+
+
+
+
+ {{- site.theme_color -}}
+
+
+
diff --git a/jekyll-openapi/favicon.ico b/jekyll-openapi/favicon.ico
new file mode 100755
index 0000000..12d8e58
Binary files /dev/null and b/jekyll-openapi/favicon.ico differ
diff --git a/jekyll-openapi/index.html b/jekyll-openapi/index.html
new file mode 100644
index 0000000..0f49ba6
--- /dev/null
+++ b/jekyll-openapi/index.html
@@ -0,0 +1,144 @@
+---
+---
+
+{%- include _includes/utilsvariables.html -%}
+
+
+
+
+ {{- api.info.title -}}
+ v{{- api.info.version -}}
+
+ {%- if api.info.description -%}
+
{{- api.info.description | markdownify -}}
+ {%- endif -%}
+
+
+
+
+
+ {%- if api.info.contact -%}
+
+ Contact
+
+ {%- if api.info.contact.name -%}
+ {{- api.info.contact.name -}}
+ {%- endif -%}
+ {%- if api.info.contact.email -%}
+ {{- api.info.contact.email -}}
+ {%- endif -%}
+ {%- if api.info.contact.url -%}
+ {{- api.info.contact.url -}}
+ {%- endif -%}
+
+
+ {%- endif -%}
+ {%- if api.info.license -%}
+
+ License
+
+ {%- if api.info.license.name -%}
+ {{- api.info.license.name -}}
+ {%- endif -%}
+ {%- if api.info.license.url -%}
+ {{- api.info.license.url -}}
+ {%- endif -%}
+
+
+ {%- endif -%}
+ {%- if api.info.termsOfService -%}
+
+ Terms of Service
+ {{- api.info.termsOfService -}}
+
+ {%- endif -%}
+ {%- if api.externalDocs -%}
+
+ {{- api.externalDocs.description -}}
+ {{- api.externalDocs.url -}}
+
+ {%- endif -%}
+
+
+
+
+
+
+{%- unless api.servers.empty? -%}
+
+
+
Server{%- if api.servers.size > 1 %}s{% endif %}
+
+
+
+
+
+ {%- for server in api.servers -%}
+
{{- server.description -}}:
+
{{- server.url -}}
+ {%- endfor -%}
+
+
+
+{%- endunless -%}
+
+{%- for collection in collections -%}
+
+
+
+
{%- include _includes/utilstitleize.html word=collection -%}
+
+
+
+
+ {%- for path in api.paths -%}
+ {%- assign path_parts = path[0] | split: '/' -%}
+ {%- if path_parts[1] == collection -%}
+ {%- for operation in path[1] -%}
+
+ {%- assign request_method = operation[0] -%}
+ {%- assign id = request_method | append: path[0] -%}
+ {%- assign description = operation[1].description -%}
+ {%- assign parameters = operation[1].parameters -%}
+ {%- assign request_body = operation[1].requestBody -%}
+ {%- assign responses = operation[1].responses -%}
+
+
+
+
{% include _includes/utilsrequest_method.html request_method=request_method %} {{ path[0] }}
+
+ {%- if description -%}
+
{{- description | markdownify -}}
+ {%- endif -%}
+
+
{{- server -}}{{- path[0] -}}{% include _includes/utilsquery_string.html parameters=parameters %}
+
+ {%- if parameters -%}
+ {%- include _includes/parameters.html parameters=parameters in='header' -%}
+ {%- include _includes/parameters.html parameters=parameters in='path' -%}
+ {%- include _includes/parameters.html parameters=parameters in='query' -%}
+ {%- include _includes/parameters.html parameters=parameters in='cookie' -%}
+ {%- endif -%}
+
+ {%- if request_body -%}
+
Request Body
+ {%- include _includes/request_body.html request_body=request_body -%}
+ {%- endif -%}
+
+
+
+
+ {%- if responses -%}
+
Responses
+ {%- for response in responses -%}
+ {%- include _includes/response.html response=response -%}
+ {%- endfor -%}
+ {%- endif -%}
+
+
+
+
+ {%- endfor -%}
+ {%- endif -%}
+ {%- endfor -%}
+{%- endfor -%}
diff --git a/jekyll-openapi/robots.txt b/jekyll-openapi/robots.txt
new file mode 100755
index 0000000..c6eb5ea
--- /dev/null
+++ b/jekyll-openapi/robots.txt
@@ -0,0 +1,2 @@
+User-agent: *
+Disallow: /assets/
diff --git a/jekyll-openapi/site.webmanifest b/jekyll-openapi/site.webmanifest
new file mode 100644
index 0000000..7d54d6b
--- /dev/null
+++ b/jekyll-openapi/site.webmanifest
@@ -0,0 +1,30 @@
+---
+layout: null
+---
+
+{%- include utils/variables.html -%}
+
+{
+ "name": "{{- api.info.title -}}",
+ "short_name": "{{- api.info.title -}}",
+ "icons": [
+ {
+ "src": "{{- '/assets/img/android-chrome-192x192.png' | prepend: site.baseurl -}}",
+ "sizes": "192x192",
+ "type": "{{- site.og.image.type -}}"
+ },
+ {
+ "src": "{{- '/assets/img/android-chrome-384x384.png' | prepend: site.baseurl -}}",
+ "sizes": "384x384",
+ "type": "{{- site.og.image.type -}}"
+ },
+ {
+ "src": "{{- '/assets/img/android-chrome-512x512.png' | prepend: site.baseurl -}}",
+ "sizes": "512x512",
+ "type": "{{- site.og.image.type -}}"
+ }
+ ],
+ "theme_color": "{{- site.theme_color -}}",
+ "background_color": "{{- site.theme_color -}}",
+ "display": "standalone"
+}
diff --git a/swagger-5-0.json b/swagger-5-0.json
new file mode 100644
index 0000000..0d7438d
--- /dev/null
+++ b/swagger-5-0.json
@@ -0,0 +1,29457 @@
+{
+ "security": [{ "BearerAuthentication": [] }, { "DominoApiKey": [] }],
+ "tags": [],
+ "paths": {
+ "/accounts/{userId}/gitcredentials": {
+ "post": {
+ "operationId": "addGitCredential",
+ "tags": ["Git Credentials"],
+ "summary": "add git credential",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "userId",
+ "description": "User id for adding git credential",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "Git credential",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.server.account.api.GitCredentialDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.server.account.api.GitCredentialAccessorDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "getGitCredentials",
+ "tags": ["Git Credentials"],
+ "summary": "retrieves git credentials for the given user",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "userId",
+ "description": "User id for retrieving git credentials",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.account.api.GitCredentialAccessorDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/accounts/{userId}/gitcredentials/{credentialId}": {
+ "delete": {
+ "operationId": "deleteGitCredential",
+ "tags": ["Git Credentials"],
+ "summary": "delete git credential",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "userId",
+ "description": "User id for deleting git credential",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "credentialId",
+ "description": "Id of the git credential to delete",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.server.account.api.GitCredentialAccessorDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/accounts/gitproviders": {
+ "get": {
+ "operationId": "getProviderList",
+ "tags": ["Git Credentials"],
+ "summary": "retrieves git providers list",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.GitProvidersDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/activity": {
+ "get": {
+ "operationId": "getActivityStream",
+ "tags": ["Activity"],
+ "summary": "Gets all activity stream",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "Project id to get the activity",
+ "required": true
+ },
+ {
+ "schema": { "nullable": true, "format": "int32", "type": "number" },
+ "in": "query",
+ "name": "pageSize",
+ "description": "page size to get the activity",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "format": "int64", "type": "number" },
+ "in": "query",
+ "name": "latestTimeStamp",
+ "description": "latest time stamp of the activity",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "project",
+ "job",
+ "model_api",
+ "schedule_job",
+ "files",
+ "workspace",
+ "comment",
+ "app"
+ ]
+ }
+ },
+ "in": "query",
+ "name": "filterBy",
+ "description": "Comma-separated activity sources",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.activity.api.ActivityStream"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/activity/metadata": {
+ "get": {
+ "operationId": "notFound",
+ "tags": ["Activity"],
+ "summary": "Metadata entries.",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.activity.api.AllMetadata"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/admin/executions": {
+ "get": {
+ "operationId": "getCurrentExecutions",
+ "tags": ["Admin"],
+ "summary": "Gets all non-completed executions (running on the Kubernetes Compute Grid, for now)",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.admin.interface.ExecutionOverview"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/admin/nodes": {
+ "get": {
+ "operationId": "getNodes",
+ "tags": ["Admin"],
+ "summary": "Gets information about nodes in the compute cluster",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.admin.interface.ComputeNodeOverview"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/admin/infrastructure": {
+ "get": {
+ "operationId": "getInfrastructureInfo",
+ "tags": ["Admin"],
+ "summary": "Gets information about all the nodes' names, instance types, and node pools in the cluster",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.admin.interface.ComputeNodeInfrastructureInfo"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/admin/supportbundle/{executionId}": {
+ "get": {
+ "operationId": "getExecutionSupportBundle",
+ "tags": ["Admin"],
+ "summary": "Gets a zipfile containing useful information about an executionId, FIXME should this path be /executions/executionId/supportbundle",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "executionId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": { "type": "string", "format": "binary" }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/admin/whitelabel/configurations": {
+ "get": {
+ "operationId": "getWhiteLabelConfigurations",
+ "tags": ["WhiteLabel"],
+ "summary": "Gets whitelabel configurations",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.admin.interface.WhiteLabelConfigurations"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/admin/dashboardEntries": {
+ "get": {
+ "operationId": "getDashboardEntries",
+ "tags": ["Admin"],
+ "summary": "Gets all dashboard entries",
+ "parameters": [
+ {
+ "schema": {
+ "default": 0,
+ "nullable": true,
+ "format": "int32",
+ "type": "integer"
+ },
+ "in": "query",
+ "name": "offset",
+ "description": "The number of items to skip relative to the checkpoint project before starting to collect the\npage. If no checkpoint project is provided, will skip relative to the first project of the first user.\nCan be negative.\n",
+ "required": false
+ },
+ {
+ "schema": {
+ "default": 50,
+ "nullable": true,
+ "format": "int32",
+ "type": "integer"
+ },
+ "in": "query",
+ "name": "pageSize",
+ "description": "The size of the page to return.",
+ "required": false
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "checkpointProjectId",
+ "description": "The projectId to construct the page relative to.",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "searchString",
+ "description": "Filters projects by owner name and project name substrings",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "type": "string",
+ "enum": ["ownerId", "name", "created"]
+ },
+ "in": "query",
+ "name": "sortBy",
+ "description": "A column name to sort over.",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "type": "string",
+ "enum": ["asc", "desc"]
+ },
+ "in": "query",
+ "name": "sortOrder",
+ "description": "order of sort",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.admin.interface.ProjectSearchResultsDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/auth/principal": {
+ "get": {
+ "operationId": "getPrincipal",
+ "tags": ["Authentication and Authorization"],
+ "summary": "retrieves the current security principal",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.lib.auth.PrincipalWithFeatureFlags"
+ }
+ }
+ }
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/auth/authorizations/{operation}": {
+ "get": {
+ "operationId": "isAuthorized",
+ "tags": ["Authentication and Authorization"],
+ "summary": "andrewziegler TODO document route",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "operation",
+ "required": true
+ }
+ ],
+ "responses": { "200": { "description": "success" } }
+ }
+ },
+ "/gruz/import": {
+ "post": {
+ "operationId": "importRuns",
+ "tags": ["Gruz"],
+ "summary": "Import Run records (for migration purposes)",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "description": "ImportRunRequest wrapping an array of Raw Run objects",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.gruz.web.RunImportRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success (content is the number of created runs)",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": { "$ref": "#/components/schemas/DominoId" }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs": {
+ "get": {
+ "operationId": "getJobs",
+ "tags": ["Jobs"],
+ "summary": "Gets all Jobs for the given Project",
+ "parameters": [
+ {
+ "schema": { "default": "None", "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "dominoStatsSortFieldName",
+ "description": "If orderBy is set to \"dominoStatsField\", then which field of Domino Stats to sort by. Otherwise, this field is ignored",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "projectId",
+ "schema": { "type": "string" },
+ "required": true,
+ "description": "Id of the Project"
+ },
+ {
+ "in": "query",
+ "name": "page_size",
+ "schema": { "type": "number" },
+ "description": "Number of projects to fetch"
+ },
+ {
+ "in": "query",
+ "name": "sort_by",
+ "schema": { "type": "string" },
+ "description": "Order to sort by"
+ },
+ {
+ "in": "query",
+ "name": "order_by",
+ "schema": { "type": "string" },
+ "description": "Field on which sort has to be applied"
+ },
+ {
+ "in": "query",
+ "name": "page_no",
+ "schema": { "type": "number" },
+ "description": "Page number to fetch"
+ },
+ {
+ "in": "query",
+ "name": "status",
+ "schema": { "type": "string" },
+ "description": "Status of job to fetch"
+ },
+ {
+ "in": "query",
+ "name": "tag",
+ "schema": { "type": "string" },
+ "description": "Optional Tag filter"
+ },
+ {
+ "in": "query",
+ "name": "query",
+ "schema": { "type": "string" },
+ "description": "Optional search query"
+ },
+ {
+ "in": "query",
+ "name": "show_archived",
+ "schema": { "type": "boolean" },
+ "required": false,
+ "description": "If show_archived is true, then jobs that are archived also will be shown."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobSet"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/timeline/project/{projectId}": {
+ "get": {
+ "operationId": "getJobsTimeline",
+ "tags": ["Jobs"],
+ "summary": "Gets Jobs timeline for a Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "tag",
+ "schema": { "type": "string" },
+ "required": false,
+ "description": "Optional Tag filter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobsTimelineSet"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}": {
+ "get": {
+ "operationId": "getJob",
+ "tags": ["Jobs"],
+ "summary": "Gets a job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Job"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/tags": {
+ "get": {
+ "operationId": "getTagsForJob",
+ "tags": ["Tags"],
+ "summary": "Get the Tags applied to the given Job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.TagApplication"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/projects/{projectId}/tags": {
+ "get": {
+ "operationId": "getTagsInProject",
+ "tags": ["Tags"],
+ "summary": "Get the Job Tags used in this Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Tag"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/comments": {
+ "get": {
+ "operationId": "getComments",
+ "tags": ["JobComments"],
+ "summary": "Get all comments specific to job context",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/allComments": {
+ "get": {
+ "operationId": "getAllComments",
+ "tags": ["JobComments"],
+ "summary": "Get all aggregated comments",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.CommentThread"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/resultFile/comments": {
+ "get": {
+ "operationId": "getResultFileComments",
+ "tags": ["JobComments"],
+ "summary": "Get all comments specific to result files generated by running the job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "fileName",
+ "schema": { "type": "string" },
+ "required": true,
+ "description": "Name of the result file"
+ },
+ {
+ "in": "query",
+ "name": "commitId",
+ "schema": { "type": "string" },
+ "required": true,
+ "description": "git commit identifier to pick the result file"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/comment": {
+ "post": {
+ "operationId": "createJobComment",
+ "tags": ["JobComments"],
+ "summary": "Create a Job Comment",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information to comment on the job",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.web.CreateComment"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/file/comment": {
+ "post": {
+ "operationId": "createJobResultFileComment",
+ "tags": ["JobComments"],
+ "summary": "Create a Job Result File Comment",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "fileName",
+ "schema": { "type": "string" },
+ "required": true,
+ "description": "Name of the result file to comment to"
+ },
+ {
+ "in": "query",
+ "name": "commitId",
+ "schema": { "type": "string" },
+ "required": true,
+ "description": "git commit identifier to pick the result file"
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information to comment on a result file",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.web.CreateComment"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/comment/{threadId}": {
+ "delete": {
+ "operationId": "archiveComment",
+ "tags": ["JobComments"],
+ "summary": "Archive the comment in a comment thread",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "threadId",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information about the index of the comment to be archived",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.web.ArchiveComment"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Comment"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/tag": {
+ "post": {
+ "operationId": "addTagToJob",
+ "tags": ["Tags"],
+ "summary": "Creates a Tag for a jobId",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for creating tag",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.web.CreateTag"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Tag"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "removeTagFromJob",
+ "tags": ["Tags"],
+ "summary": "Deletes a tag for a jobId",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for delete tag",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.web.RemoveTagFromJob"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Tag"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/name": {
+ "post": {
+ "operationId": "updateJob",
+ "tags": ["Jobs"],
+ "summary": "Update name for job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for new name",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.web.UpdateJobName"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Job"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/results": {
+ "get": {
+ "operationId": "getResults",
+ "tags": ["JobResults"],
+ "summary": "Get Results for a Job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "projectId",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "ProjectId associated with the job"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobResultFiles"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/{contentId}/contents": {
+ "get": {
+ "operationId": "getResultContents",
+ "tags": ["JobResults"],
+ "summary": "Gets the contents of the result file",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "contentId",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "projectId",
+ "schema": { "type": "string" },
+ "required": true,
+ "description": "Id of the Project"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.ResultFileContent"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/logsWithProblemSuggestions": {
+ "get": {
+ "operationId": "getLogsWithProblemSuggestions",
+ "tags": ["LogsWithProblemSuggestion"],
+ "summary": "Get the suggestion when problem occurs in a job along with the logs",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "logType",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "console",
+ "stdout",
+ "stderr",
+ "stdoutstderr",
+ "prepareoutput"
+ ],
+ "example": "console | stdout | stderr | stdoutstderr | prepareoutput",
+ "default": "console"
+ },
+ "description": "Types of logs:\n * `console` - This is the default if the value is not provided. All logs lines displayed in the job's runtime environment.\n * `stdout` - Log lines displayed in the stderr of the job's runtime environment.\n * `stderr` - Log lines displayed in the stderr of the job's runtime environment.\n * `stdoutstderr` - Interleaved stdout and stderr.\n * `prepareoutput` - Log lines generated by the environment preparing the job.\n"
+ },
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": { "type": "number", "default": 10000 },
+ "description": "Max number of log lines to fetch. Will be overridden by the configuration's limit if this value exceeds the configuration's limit, or if this value is not provided."
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": { "type": "number", "default": 0 },
+ "description": "The index of the current body of logs to start fetching from. 0 by default and typically won't be used for a timestamp-based offset log fetching strategy."
+ },
+ {
+ "in": "query",
+ "name": "latestTimeNano",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "1543538813745986325",
+ "default": "0"
+ },
+ "description": "The epoch time in nanoseconds to start fetching from, such as \"1543538813745986325\". \"0\" by default and will typically be used for a timestamp-based offset log fetching strategy."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Scenarios: \nIf the problem detector detects no problem, then the client should expect\n * a `LogsWithProblemSuggestion` object with only logs\n\nIf the problem detector detects the problem, then the client should expect\n * a `LogsWithProblemSuggestion` object with logs with problem suggestions\n",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.LogsWithProblemSuggestion"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/jobs/{jobId}/usage": {
+ "get": {
+ "operationId": "getResourceUsage",
+ "tags": ["Jobs"],
+ "summary": "Get resource usage for a Job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobResourceUsage"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/start": {
+ "post": {
+ "operationId": "startJob",
+ "tags": ["Jobs"],
+ "summary": "Starts a new Job",
+ "requestBody": {
+ "description": "JSON object with information for starting the Job",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.web.StartJobRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Job"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": { "$ref": "#/components/responses/Relogin" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/archive": {
+ "post": {
+ "operationId": "archiveJob",
+ "tags": ["Jobs"],
+ "summary": "Archive a Job",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "description": "JSON object with information for archiving the Job",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.web.JobOperationRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Job"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/stop": {
+ "post": {
+ "operationId": "stopJob",
+ "tags": ["Jobs"],
+ "summary": "Stop a Job",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with information for stopping the Job",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.web.JobStopOperationRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Job"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/restart": {
+ "post": {
+ "operationId": "restartJob",
+ "tags": ["Jobs"],
+ "summary": "Restart a Job",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with information for restarting the Job",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.web.JobRestartOperationRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Job"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": { "$ref": "#/components/responses/Relogin" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/getStatus/values": {
+ "get": {
+ "operationId": "getStatus",
+ "tags": ["Jobs"],
+ "summary": "Get possible status for a Job",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/events": {
+ "get": {
+ "operationId": "notFound",
+ "tags": ["Jobs", "Socket"],
+ "summary": "Entities that are pushed via socket updates.",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.web.JobEvents"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/resourceStatuses": {
+ "get": {
+ "operationId": "getResourcesStatus",
+ "tags": ["Jobs"],
+ "summary": "Gets the resource statuses for the running Job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobResourcesStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/runtimeExecutionDetails": {
+ "get": {
+ "operationId": "getRuntimeExecutionDetails",
+ "tags": ["Jobs"],
+ "summary": "Get the runtime execution details for a given job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobRuntimeExecutionDetails"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/linkJobToGoal": {
+ "post": {
+ "operationId": "linkJobToGoal",
+ "tags": ["Job"],
+ "summary": "Link job to a goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for linking goal to a job",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.web.LinkJobtoGoalRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/unlinkJobGoal": {
+ "post": {
+ "operationId": "unlinkJobFromGoal",
+ "tags": ["Job"],
+ "summary": "Unlink job from a goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for linking goal to a job",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.web.UnlinkJobfromGoalRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/job/{jobId}/sparkClusterDetails": {
+ "get": {
+ "operationId": "getSparkClusterDetails",
+ "tags": ["Job"],
+ "summary": "Gets spark cluster properties for a given job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job",
+ "required": true
+ }
+ ],
+ "responses": {
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.OnDemandSparkClusterDetailsView"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/jobs/{jobId}/{clusterType}/hostAndPort": {
+ "get": {
+ "operationId": "getComputeClusterHostAndPort",
+ "tags": ["Jobs"],
+ "summary": "Gets host and port for spark web ui reverse proxy",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job",
+ "required": true
+ },
+ {
+ "in": "path",
+ "name": "clusterType",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/domino.computecluster.api.ComputeClusterType.Value"
+ },
+ "description": "name of the cluster to connect to"
+ }
+ ],
+ "responses": {
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": { "description": "success" }
+ }
+ }
+ },
+ "/jobs/job/{jobId}/onDemandSparkStatus": {
+ "get": {
+ "operationId": "getOnDemandSparkClusterStatus",
+ "tags": ["Job"],
+ "summary": "Get on demand spark cluster status.",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job",
+ "required": true
+ }
+ ],
+ "responses": {
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.OnDemandSparkClusterStatus"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/jobs/project/{projectId}/defaultSparkSettings": {
+ "get": {
+ "operationId": "getDefaultOnDemandSparkSettings",
+ "tags": ["Job"],
+ "summary": "gets the default spark settings for jobs",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.DefaultOnDemandSparkClusterPropertiesSpec"
+ }
+ }
+ }
+ },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/project/{projectId}/codeInfo/{jobId}": {
+ "get": {
+ "operationId": "getCodeInfo",
+ "tags": ["Job"],
+ "summary": "get CodeInfo for a specific job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.CodeInfoDto"
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/job/{jobId}/artifactsInfo": {
+ "get": {
+ "operationId": "getArtifactsInfo",
+ "tags": ["Job"],
+ "summary": "get ArtifactsInfoDto for a specific job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "schema": {
+ "$ref": "#/components/schemas/domino.jobs.interface.ArtifactsInfoDto"
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/computeClusterStatus": {
+ "get": {
+ "operationId": "getComputeClusterStatus",
+ "tags": ["Job"],
+ "summary": "Get the status of the compute cluster for a job",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job",
+ "type": "domino.common.DominoId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.computegrid.ComputeClusterStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{jobId}/computeClusterDetails": {
+ "get": {
+ "operationId": "getComputeClusterDetails",
+ "tags": ["Job"],
+ "summary": "Get the details of the compute cluster for a job",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "jobId",
+ "description": "ID of the job",
+ "type": "domino.common.DominoId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.computecluster.api.ComputeClusterDetails"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/jobs/{projectId}/{clusterType}/defaultComputeClusterSettings": {
+ "get": {
+ "operationId": "getDefaultComputeClusterSettings",
+ "tags": ["Job"],
+ "summary": "Get the default compute settings for jobs",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "projectId",
+ "description": "ID of the project",
+ "type": "domino.common.DominoId",
+ "required": true
+ },
+ {
+ "in": "path",
+ "name": "clusterType",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/domino.computecluster.api.ComputeClusterType.Value"
+ },
+ "description": "Type of the cluster to get settings for"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.computecluster.api.DefaultComputeClusterSettings"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/hardwareTier/{hardwareTierId}": {
+ "get": {
+ "operationId": "getHardwareTier",
+ "tags": ["Hardware Tier"],
+ "summary": "Get a hardware tier",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "hardwareTierId",
+ "required": true
+ },
+ {
+ "schema": {
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "domino.common.DominoId"
+ },
+ "in": "query",
+ "name": "projectId",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/hardwareTier": {
+ "post": {
+ "operationId": "createHardwareTier",
+ "tags": ["Hardware Tier"],
+ "summary": "Create a hardware tier",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.NewHardwareTierDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/hardwareTier/archive": {
+ "post": {
+ "operationId": "archiveHardwareTier",
+ "tags": ["Hardware Tier"],
+ "summary": "Archive a hardware tier",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "description": "not found" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/workspace": {
+ "post": {
+ "operationId": "createAndStartWorkspace",
+ "tags": ["Workspace"],
+ "summary": "Create workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "Create workspace request",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.web.CreateWorkspaceRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "provisionedWorkspaces",
+ "tags": ["Workspace"],
+ "summary": "Get all provisioned (i.e. not deleted) workspaces for project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project id",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "offset",
+ "description": "offset",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "limit",
+ "description": "max length returned",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspacePageDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/reproduceWorkspace": {
+ "post": {
+ "operationId": "reproduceAndStartWorkspace",
+ "tags": ["Workspace"],
+ "summary": "Reproduce workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "Reproduce workspace request",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.web.ReproduceWorkspaceRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/workspace/{workspaceId}/updateTitle": {
+ "post": {
+ "operationId": "updateWorkspaceTitle",
+ "tags": ["Workspace"],
+ "summary": "Update workspace title",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "workspace id",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "Update workspace title request",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.web.UpdateWorkspaceTitleRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/workspace/{workspaceId}": {
+ "post": {
+ "operationId": "updateWorkspaceConfigTemplate",
+ "tags": ["Workspace"],
+ "summary": "Update workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "workspace id",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "Update workspace request",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.web.UpdateWorkspaceRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "getWorkspace",
+ "tags": ["Workspace"],
+ "summary": "Get workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "workspace id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "deleteWorkspace",
+ "tags": ["Workspace"],
+ "summary": "Delete workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "workspace id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/deleted": {
+ "get": {
+ "operationId": "deletedWorkspaces",
+ "tags": ["Workspace"],
+ "summary": "Get deleted workspaces for project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project id",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "offset",
+ "description": "offset",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "limit",
+ "description": "max length returned",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspacePageDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/owner/{ownerId}": {
+ "get": {
+ "operationId": "ownerProvisionedWorkspaces",
+ "tags": ["Workspace"],
+ "summary": "Get all provisioned (i.e. not deleted) workspaces for project by owner",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project id",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "ownerId",
+ "description": "owner id",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "offset",
+ "description": "offset",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "limit",
+ "description": "max length returned",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspacePageDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/workspace/{workspaceId}/sessions": {
+ "post": {
+ "operationId": "startWorkspaceSession",
+ "tags": ["Workspace"],
+ "summary": "Start workspace session",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "workspace id",
+ "required": true
+ },
+ {
+ "schema": {
+ "type": "array",
+ "items": { "pattern": "^[0-9a-f]{24}$", "type": "string" }
+ },
+ "in": "query",
+ "name": "externalVolumeMounts",
+ "description": "external volume mount id's",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceSessionDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "listWorkspaceSessions",
+ "tags": ["Workspace"],
+ "summary": "List workspace sessions",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "workspace id",
+ "required": true
+ },
+ {
+ "schema": { "default": 0, "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "offset",
+ "description": "offset",
+ "required": false
+ },
+ {
+ "schema": { "default": 5, "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "limit",
+ "description": "limit",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceSessionDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/workspace/{workspaceId}/stop": {
+ "post": {
+ "operationId": "stopWorkspaceSession",
+ "tags": ["Workspace"],
+ "summary": "Stop workspace session",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "workspace id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceSessionDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/sessions/{workspaceSessionId}": {
+ "get": {
+ "operationId": "getWorkspaceSession",
+ "tags": ["Workspace"],
+ "summary": "Get workspace session",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceSessionId",
+ "description": "workspace session id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceSessionDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/owner/{ownerId}/quota": {
+ "get": {
+ "operationId": "quotaStatus",
+ "tags": ["Workspace"],
+ "summary": "Get status of workspace quota",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project id",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "ownerId",
+ "description": "owner id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceQuotaStatusDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/adminDashboardSummary": {
+ "get": {
+ "operationId": "getWorkspaceAdminSummary",
+ "tags": ["Workspace"],
+ "summary": "Get workspace admin dashboard summary data",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceAdminPageSummaryDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/adminDashboardRowData": {
+ "get": {
+ "operationId": "getAdminDashboardRowData",
+ "tags": ["Workspace"],
+ "summary": "Get all workspace admin dashboard entries",
+ "parameters": [
+ {
+ "schema": {
+ "default": 0,
+ "nullable": true,
+ "format": "int32",
+ "type": "integer"
+ },
+ "in": "query",
+ "name": "offset",
+ "description": "The number of items to skip relative to the checkpoint project before starting to collect the\npage. If no checkpoint project is provided, will skip relative to the first project of the first user.\nCan be negative.\n",
+ "required": false
+ },
+ {
+ "schema": {
+ "default": 50,
+ "nullable": true,
+ "format": "int32",
+ "type": "integer"
+ },
+ "in": "query",
+ "name": "limit",
+ "description": "The size of the page to return.",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "searchString",
+ "description": "Filters projects by owner name and project name substrings",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "type": "string",
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceSortableColumns.Value",
+ "enum": ["volumeSize", "lastStartTime", "createdTime"]
+ },
+ "in": "query",
+ "name": "sortBy",
+ "description": "A column name to sort over.",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "type": "string",
+ "enum": ["asc", "desc"]
+ },
+ "in": "query",
+ "name": "sortOrder",
+ "description": "order of sort",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceAdminPageDataDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/events": {
+ "get": {
+ "operationId": "notFound",
+ "tags": ["Workspace", "Socket"],
+ "summary": "A hack, which allows types for pusher service to be generated for consumption by the frontend. Should be deleted when we fix how we use swagger.",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.web.WorkspaceEvents"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{projectId}/getProvisionedWorkspaceCount": {
+ "get": {
+ "operationId": "getProvisionedWorkspaceCount",
+ "tags": ["Workspace"],
+ "summary": "Get the number of provisioned workspaces for project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "number" } }
+ }
+ },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/getGlobalSettings": {
+ "get": {
+ "operationId": "getGlobalSettings",
+ "tags": ["Workspace"],
+ "summary": "Get the global workspace settings",
+ "parameters": null,
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceGlobalSettingsDto"
+ }
+ }
+ }
+ },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{executionId}/getSessionByExecutionId": {
+ "get": {
+ "operationId": "getWorkspaceExecutionInfo",
+ "tags": ["Workspace"],
+ "summary": "Get workspace execution info",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "executionId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "ownerName",
+ "description": "name of owner of this workspace",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "projectName",
+ "description": "name of project for this workspace is in",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceExecutionInfoDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/workspace/{workspaceId}/getWritableProjectMounts": {
+ "get": {
+ "operationId": "getWritableProjectMounts",
+ "tags": ["Workspace"],
+ "summary": "For the frontend to get info on workspace's writable mounts (e.g. imported git repos)",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project id",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "workspace id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.WritableProjectMounts"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{projectId}/{workspaceSessionId}/logs": {
+ "get": {
+ "operationId": "getLogs",
+ "tags": ["Workspace", "Logs"],
+ "summary": "Get the logs of a workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "ID of the project with the workspace",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceSessionId",
+ "description": "ID of the workspace session",
+ "required": true
+ },
+ {
+ "schema": {
+ "default": 10000,
+ "nullable": true,
+ "format": "int32",
+ "type": "number"
+ },
+ "in": "query",
+ "name": "limit",
+ "description": "Max number of log lines to fetch. Will be overridden by the configuration's limit if this value exceeds the configuration's limit, or if this value is not provided.",
+ "required": false
+ },
+ {
+ "schema": { "default": 0, "format": "int32", "type": "number" },
+ "in": "query",
+ "name": "offset",
+ "description": "The index of the current body of logs to start fetching from. 0 by default and typically won't be used for a timestamp-based offset log fetching strategy.",
+ "required": false
+ },
+ {
+ "schema": {
+ "default": "0",
+ "nullable": true,
+ "type": "string",
+ "example": "1543538813745986325"
+ },
+ "in": "query",
+ "name": "latestTimeNano",
+ "description": "The epoch time in nanoseconds to start fetching from, such as \"1543538813745986325\". \"0\" by default and will typically be used for a timestamp-based offset log fetching strategy.",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Scenarios: \nIf the log retriever got NO logs, then the client should expect\n * an empty `logContent` array\n\nfrom the returned LogSet. \nIf the log retriever was done fetching ALL of the logs, then the client should expect\n * `isComplete = true`\n * `paginationFilter.limit = 0`\n\nfrom the returned LogSet. \nIf the log retriever was NOT done fetching all of the logs, then the client should expect\n * `isComplete = false`\n * `paginationFilter` encoding the next `offset` or `latestTimeNano` of the last log line fetched by the retriever.\n\nfrom the returned LogSet. \n",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.computegrid.LogSet"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{projectId}/{workspaceSessionId}/realTimeLogs": {
+ "get": {
+ "operationId": "getRealTimeLogs",
+ "tags": ["Workspace", "Logs"],
+ "summary": "Get the logs of a workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "ID of the project with the workspace",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceSessionId",
+ "description": "ID of the workspace session",
+ "required": true
+ },
+ {
+ "schema": {
+ "default": 10000,
+ "nullable": true,
+ "format": "int32",
+ "type": "number"
+ },
+ "in": "query",
+ "name": "limit",
+ "description": "Max number of log lines to fetch. Will be overridden by the configuration's limit if this value exceeds the configuration's limit, or if this value is not provided.",
+ "required": false
+ },
+ {
+ "schema": { "default": 0, "format": "int32", "type": "number" },
+ "in": "query",
+ "name": "offset",
+ "description": "The index of the current body of logs to start fetching from. 0 by default and typically won't be used for a timestamp-based offset log fetching strategy.",
+ "required": false
+ },
+ {
+ "schema": {
+ "default": "0",
+ "nullable": true,
+ "type": "string",
+ "example": "1543538813745986325"
+ },
+ "in": "query",
+ "name": "latestTimeNano",
+ "description": "The epoch time in nanoseconds to start fetching from, such as \"1543538813745986325\". \"0\" by default and will typically be used for a timestamp-based offset log fetching strategy.",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Scenarios: \nIf the log retriever got NO logs, then the client should expect\n * an empty `logContent` array\n\nfrom the returned LogSet. \nIf the log retriever was done fetching ALL of the logs, then the client should expect\n * `isComplete = true`\n * `paginationFilter.limit = 0`\n\nfrom the returned LogSet. \nIf the log retriever was NOT done fetching all of the logs, then the client should expect\n * `isComplete = false`\n * `paginationFilter` encoding the next `offset` or `latestTimeNano` of the last log line fetched by the retriever.\n\nfrom the returned LogSet. \n",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.computegrid.LogSet"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceSessionId}/usage": {
+ "get": {
+ "operationId": "getResourceUsage",
+ "tags": ["Workspace"],
+ "summary": "Get resource usage for a workspace session",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "projectId associated with the workspace",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceSessionId",
+ "description": "ID of the workspace session",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.computegrid.ResourceUsage"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceSessionId}/resourceStatuses": {
+ "get": {
+ "operationId": "getWorkspaceRepositoryStatus",
+ "tags": ["Workspace"],
+ "summary": "Get the status of a workspace's repositories",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ID of the Project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceSessionId",
+ "description": "ID of the workspace session",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceRepositoryState"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceSessionId}/executionCheckpointStatuses": {
+ "get": {
+ "operationId": "getExecutionCheckpointStatuses",
+ "tags": ["Workspace"],
+ "summary": "Get each checkpoint name and their individual status for an execution",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ID of the Project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceSessionId",
+ "description": "ID of the workspace session",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.computegrid.ExecutionCheckpoint"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceSessionId}/computeClusterStatus": {
+ "get": {
+ "operationId": "getComputeClusterStatus",
+ "tags": ["Workspace"],
+ "summary": "Get the status of the compute cluster for a workspace session",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ID of the Project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceSessionId",
+ "description": "ID of the workspace session",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.computegrid.ComputeClusterStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceSessionId}/computeClusterDetails": {
+ "get": {
+ "operationId": "getComputeClusterDetails",
+ "tags": ["Workspace"],
+ "summary": "Get the details about the compute cluster for a workspace session",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ID of the Project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceSessionId",
+ "description": "ID of the workspace session",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.computecluster.api.ComputeClusterDetails"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{executionId}/{clusterType}/hostAndPort": {
+ "get": {
+ "operationId": "getComputeClusterHostAndPort",
+ "tags": ["Workspace"],
+ "summary": "Get the host and port for a compute cluster's webUi",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "executionId",
+ "description": "ID of the execution",
+ "required": true
+ },
+ {
+ "in": "path",
+ "name": "clusterType",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/domino.computecluster.api.ComputeClusterType.Value"
+ },
+ "description": "name of the cluster to connect to"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{projectId}/{clusterType}/defaultComputeClusterSettings": {
+ "get": {
+ "operationId": "getDefaultComputeClusterSettings",
+ "tags": ["Workspace"],
+ "summary": "Get the default compute settings for workspaces",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "projectId",
+ "description": "ID of the project",
+ "type": "domino.common.DominoId",
+ "required": true
+ },
+ {
+ "in": "path",
+ "name": "clusterType",
+ "required": true,
+ "schema": {
+ "$ref": "#/components/schemas/domino.computecluster.api.ComputeClusterType.Value"
+ },
+ "description": "Type of the cluster to get settings for"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.computecluster.api.DefaultComputeClusterSettings"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/runningClassicWorkspaces": {
+ "get": {
+ "operationId": "getRunningClassicWorkspaces",
+ "tags": ["Workspace"],
+ "summary": "Get running classic workspaces for project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project id",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "offset",
+ "description": "offset",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "limit",
+ "description": "max length returned",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspacePageDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/ownerRunningClassicWorkspaces": {
+ "get": {
+ "operationId": "getRunningClassicWorkspacesForOwner",
+ "tags": ["Workspace"],
+ "summary": "Get running classic workspaces owned by a user in a project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project id",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "ownerId",
+ "description": "workspace owner id",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "offset",
+ "description": "offset",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "limit",
+ "description": "max length returned",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspacePageDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/stop/discard": {
+ "post": {
+ "operationId": "stopClassicWorkspaceDiscardChanges",
+ "tags": ["Workspace"],
+ "summary": "Stop a Classic Workspace and throw away all changes",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.web.StopClassicWorkspaceRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/stop/save": {
+ "post": {
+ "operationId": "stopClassicWorkspaceSaveChanges",
+ "tags": ["Workspace"],
+ "summary": "Stop a Classic Workspace and save all changes",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.web.StopClassicWorkspaceRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/project/{projectId}/commtiId/{commitId}/getCheckpoint": {
+ "get": {
+ "operationId": "fetchCheckpointForCommitId",
+ "tags": ["Workspace"],
+ "summary": "Get checkpoint for commitId",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "commitId",
+ "description": "commitId for the project commit",
+ "required": true
+ },
+ {
+ "schema": { "type": "boolean" },
+ "in": "query",
+ "name": "isDfsCommit",
+ "description": "whether to look up a dfs or git commit",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.provenance.api.ProvenanceCheckpointDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{executionId}/provenanceCheckpoints": {
+ "get": {
+ "operationId": "getProvenanceCheckpointsForExecution",
+ "tags": ["Workspace"],
+ "summary": "Get the project snapshots for a workspace session",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ID of the Project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "executionId",
+ "description": "ID of the execution corresponding to a workspace session",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceSessionProvenanceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceId}/cancelMergeResolution": {
+ "post": {
+ "operationId": "cancelMergeConflictResolution",
+ "tags": ["Workspace", "Git"],
+ "summary": "Cancel an existing merge conflict",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "Id of the Workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "list of repositories that are in conflict",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.CancelMergeConflictResolutionRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.MergeConflictResolutionResponseDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceId}/forcePushResolution": {
+ "post": {
+ "operationId": "forcePushResolution",
+ "tags": ["Workspace", "Git"],
+ "summary": "Force push branch to resolve merge conflict",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "Id of the Workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "list of repositories that are in conflict",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.ForcePushResolutionRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.MergeConflictResolutionResponseDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceId}/hardResetResolution": {
+ "post": {
+ "operationId": "hardResetResolution",
+ "tags": ["Workspace", "Git"],
+ "summary": "Hard reset to remote tracking branch to resolve merge conflict",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "Id of the Workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "list of repositories that are in conflict",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.HardResetResolutionRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.MergeConflictResolutionResponseDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceId}/continueMergeResolution": {
+ "post": {
+ "operationId": "continueMergeConflictResolution",
+ "tags": ["Workspace", "Git"],
+ "summary": "Continue merge conflict resolution",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "Id of the Workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "Repository to continue rebase for along with a commit message",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.ContinueMergeConflictResolutionRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.ContinueMergeConflictResolutionResponseDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceId}/stageFileBasedOnCurrentLocalState": {
+ "post": {
+ "operationId": "stageFileBasedOnCurrentLocalState",
+ "tags": ["Workspace", "Git"],
+ "summary": "Git add (stage) a file using the current local version during merge conflict resolution",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "Id of the Workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "repo and file path of file to stage",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.StageCurrentLocalFileRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.StageFileResponseDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceId}/stageFileBasedOnLocalCommit": {
+ "post": {
+ "operationId": "stageFileBasedOnLocalCommit",
+ "tags": ["Workspace", "Git"],
+ "summary": "Git add (stage) a file using the last local commit during merge conflict resolution",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "Id of the Workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "repo and file path of file to stage",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.StageLocalCommitFileRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.StageFileResponseDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceId}/stageFileBasedOnRemoteCommit": {
+ "post": {
+ "operationId": "stageFileBasedOnRemoteCommit",
+ "tags": ["Workspace", "Git"],
+ "summary": "Git add (stage) a file using the last remote commit during merge conflict resolution",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "Id of the Workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "repo and file path of file to stage",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.StageRemoteCommitFileRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.StageFileResponseDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceId}/commitAndPushReposEnhanced": {
+ "post": {
+ "operationId": "commitAndPushReposEnhanced",
+ "tags": ["Workspace", "Git"],
+ "summary": "Commit and Push for enhanced merge conflicts",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "Id of the Workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "list of repositories that should be committed and pushed",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.CommitAndPushRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.CommitAndPushReposResponseDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceId}/commitRepos": {
+ "post": {
+ "operationId": "commitRepos",
+ "tags": ["Workspace", "Git"],
+ "summary": "Commit repos",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "Id of the Workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "list of repositories that should be committed",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.CommitRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.CommitReposResponseDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspace/{workspaceId}/pullReposEnhanced": {
+ "post": {
+ "operationId": "pullReposEnhanced",
+ "tags": ["Workspace", "Git"],
+ "summary": "Pull repos with enhanced merge conflict resolution",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "Id of the Workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "list of repositories that should be pulled",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.PullReposRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.PullReposResponseDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces": {
+ "get": {
+ "operationId": "listWorkspaceSummary",
+ "tags": ["Workspaces"],
+ "summary": "Gets the available workspaces for the given Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ID of the Project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "userToFilter",
+ "description": "Filter so only workspaces started by the given user are returned",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "status",
+ "required": false,
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.ListWorkspaceStatus"
+ },
+ "description": "Filter on workspace state defaults all if not provided."
+ },
+ {
+ "in": "query",
+ "name": "tag",
+ "schema": { "type": "string" },
+ "description": "Optional Tag filter"
+ },
+ {
+ "in": "query",
+ "name": "show_archived",
+ "schema": { "type": "boolean" },
+ "required": false,
+ "description": "If show_archived is true, then will fetch workspaces that are archived also."
+ }
+ ],
+ "responses": {
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceSummary"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/workspaces/workspace/{workspaceId}": {
+ "get": {
+ "operationId": "getWorkspaceById",
+ "tags": ["Workspaces"],
+ "summary": "Gets the workspace for the given workspace id",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "Fetch workspace based on id",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "responses": {
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.Workspace"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/workspaces/workspace/{workspaceId}/summary": {
+ "get": {
+ "operationId": "getWorkspaceSummaryById",
+ "tags": ["Workspaces"],
+ "summary": "Gets the workspace summary for the given workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "Fetch workspace based on id",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "responses": {
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceSummary"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/workspaces/definitions": {
+ "get": {
+ "operationId": "getAvailableWorkspaceDefinitions",
+ "tags": ["Workspaces"],
+ "summary": "Gets the available workspace definitions for the given Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ID of the Project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceDefinitionDto"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/workspaces/launch": {
+ "post": {
+ "operationId": "launchWorkspace",
+ "tags": ["Workspaces"],
+ "summary": "Launch a new Workspace in the given Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ID of the Project",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.LaunchWorkspaceInputs"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": { "$ref": "#/components/responses/Relogin" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/stop/end": {
+ "post": {
+ "operationId": "endWorkspaceSession",
+ "tags": ["Workspaces"],
+ "summary": "Stop a Workspace for the given Project, when the status of DFS, git repos, datasets, are unknown",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.StopEndWorkspaceDetails"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/stop/discard": {
+ "post": {
+ "operationId": "stopWorkspaceDiscardChanges",
+ "tags": ["Workspaces"],
+ "summary": "Stop a Workspace and throw away all changes",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.StopDiscardWorkspaceDetails"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/stop/commit": {
+ "post": {
+ "operationId": "stopWorkspaceSaveChanges",
+ "tags": ["Workspaces"],
+ "summary": "Stop a Workspace and save all changes",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.StopCommitWorkspaceDetails"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/archive": {
+ "post": {
+ "operationId": "archiveWorkspace",
+ "tags": ["Workspaces"],
+ "summary": "Archive a Workspace for the given Project. Archived workspaces won't show up in workspaces.",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.ArchiveWorkspaceInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/logs": {
+ "get": {
+ "operationId": "getLogs",
+ "tags": ["Logs"],
+ "summary": "Get the logs of a workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "logType",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "console",
+ "stdout",
+ "stderr",
+ "stdoutstderr",
+ "prepareoutput"
+ ],
+ "example": "console | stdout | stderr | stdoutstderr | prepareoutput",
+ "default": "console"
+ },
+ "description": "Types of logs:\n * `console` - This is the default if the value is not provided. All logs lines displayed in the workspace's runtime environment.\n * `stdout` - Log lines displayed in the stderr of the workspace's runtime environment.\n * `stderr` - Log lines displayed in the stderr of the workspace's runtime environment.\n * `stdoutstderr` - Interleaved stdout and stderr.\n * `prepareoutput` - Log lines generated by the environment preparing the workspace.\n"
+ },
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": { "type": "number", "default": 10000 },
+ "description": "Max number of log lines to fetch. Will be overridden by the configuration's limit if this value exceeds the configuration's limit, or if this value is not provided."
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": { "type": "number", "default": 0 },
+ "description": "The index of the current body of logs to start fetching from. 0 by default and typically won't be used for a timestamp-based offset log fetching strategy."
+ },
+ {
+ "in": "query",
+ "name": "latestTimeNano",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "1543538813745986325",
+ "default": "0"
+ },
+ "description": "The epoch time in nanoseconds to start fetching from, such as \"1543538813745986325\". \"0\" by default and will typically be used for a timestamp-based offset log fetching strategy."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Scenarios: \nIf the log retriever got NO logs, then the client should expect\n * an empty `logContent` array\n\nfrom the returned LogSet. \nIf the log retriever was done fetching ALL of the logs, then the client should expect\n * `isComplete = true`\n * `paginationFilter.limit = 0`\n\nfrom the returned LogSet. \nIf the log retriever was NOT done fetching all of the logs, then the client should expect\n * `isComplete = false`\n * `paginationFilter` encoding the next `offset` or `latestTimeNano` of the last log line fetched by the retriever.\n\nfrom the returned LogSet. \n",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.LogSet"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/realTimeLogs": {
+ "get": {
+ "operationId": "getRealTimeLogs",
+ "tags": ["Logs"],
+ "summary": "Get the logs of a workspace without going to s3",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "logType",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "console",
+ "stdout",
+ "stderr",
+ "stdoutstderr",
+ "prepareoutput"
+ ],
+ "example": "console | stdout | stderr | stdoutstderr | prepareoutput",
+ "default": "console"
+ },
+ "description": "Types of logs:\n * `console` - This is the default if the value is not provided. All logs lines displayed in the workspace's runtime environment.\n * `stdout` - Log lines displayed in the stderr of the workspace's runtime environment.\n * `stderr` - Log lines displayed in the stderr of the workspace's runtime environment.\n * `stdoutstderr` - Interleaved stdout and stderr.\n * `prepareoutput` - Log lines generated by the environment preparing the workspace.\n"
+ },
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": { "type": "number", "default": 10000 },
+ "description": "Max number of log lines to fetch. Will be overridden by the configuration's limit if this value exceeds the configuration's limit, or if this value is not provided."
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": { "type": "number", "default": 0 },
+ "description": "The index of the current body of logs to start fetching from. 0 by default and typically won't be used for a timestamp-based offset log fetching strategy."
+ },
+ {
+ "in": "query",
+ "name": "latestTimeNano",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "1543538813745986325",
+ "default": "0"
+ },
+ "description": "The epoch time in nanoseconds to start fetching from, such as \"1543538813745986325\". \"0\" by default and will typically be used for a timestamp-based offset log fetching strategy."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Scenarios: \nIf the log retriever got NO logs, then the client should expect\n * an empty `logContent` array\n\nfrom the returned LogSet. \nIf the log retriever was done fetching ALL of the logs, then the client should expect\n * `isComplete = true`\n * `paginationFilter.limit = 0`\n\nfrom the returned LogSet. \nIf the log retriever was NOT done fetching all of the logs, then the client should expect\n * `isComplete = false`\n * `paginationFilter` encoding the next `offset` or `latestTimeNano` of the last log line fetched by the retriever.\n\nfrom the returned LogSet. \n",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.LogSet"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/tags": {
+ "post": {
+ "operationId": "createTag",
+ "tags": ["Tags"],
+ "summary": "Creates a Tag for a workspaceId",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ProjectId associated with the workspace",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for new tag",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "required": ["tagName"],
+ "properties": {
+ "tagName": { "type": "string", "example": "test" }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceTag"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "getTags",
+ "tags": ["Tags"],
+ "summary": "Get the tags that a workspace belongs to",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ProjectId associated with the workspace",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceTag"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "deleteTag",
+ "tags": ["Tags"],
+ "summary": "Deletes a Tag for a workspaceId",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ProjectId associated with the workspace",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "tagId",
+ "description": "Tag Name to be deleted",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceTag"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/usage": {
+ "get": {
+ "operationId": "getResourceUsage",
+ "tags": ["Workspaces"],
+ "summary": "Get resource usage for a Workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ProjectId associated with the workspace",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceResourceUsage"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/results": {
+ "get": {
+ "operationId": "getResults",
+ "tags": ["WorkspaceResults"],
+ "summary": "Get Results for a Workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ProjectId associated with the workspace",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceResultFiles"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/comments": {
+ "get": {
+ "operationId": "getComments",
+ "tags": ["WorkspaceComments"],
+ "summary": "Get all comments specific to workspace context",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/allComments": {
+ "get": {
+ "operationId": "getAllComments",
+ "tags": ["WorkspaceComments"],
+ "summary": "Get all aggregated comments",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.CommentThread"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/resultFile/comments": {
+ "get": {
+ "operationId": "getResultFileComments",
+ "tags": ["WorkspaceComments"],
+ "summary": "Get all comments specific to result files generated by running the workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "fileName",
+ "schema": { "type": "string" },
+ "required": true,
+ "description": "Name of the result file"
+ },
+ {
+ "in": "query",
+ "name": "commitId",
+ "schema": { "type": "string" },
+ "required": true,
+ "description": "git commit identifier to pick the result file"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/comment": {
+ "post": {
+ "operationId": "createWorkspaceComment",
+ "tags": ["WorkspaceComments"],
+ "summary": "Create a Workspace Comment",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information to comment on the workspace",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.CreateCommentInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/file/comment": {
+ "post": {
+ "operationId": "createWorkspaceResultFileComment",
+ "tags": ["WorkspaceComments"],
+ "summary": "Create a Workspace Result File Comment",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "fileName",
+ "schema": { "type": "string" },
+ "required": true,
+ "description": "Name of the result file to comment to"
+ },
+ {
+ "in": "query",
+ "name": "commitId",
+ "schema": { "type": "string" },
+ "required": true,
+ "description": "git commit identifier to pick the result file"
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information to comment on a result file",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.CreateCommentInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/comment/{threadId}": {
+ "delete": {
+ "operationId": "archiveComment",
+ "tags": ["WorkspaceComments"],
+ "summary": "Archive the comment in a comment thread",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "threadId",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information about the index of the comment to be archived",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.ArchiveCommentInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.Comment"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/updateTitle": {
+ "post": {
+ "operationId": "updateWorkspaceTitle",
+ "tags": ["Workspaces"],
+ "summary": "Update title of the workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ID of the Project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.UpdateWorkspaceTitle"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/events": {
+ "get": {
+ "operationId": "notFound",
+ "tags": ["Workspaces", "Socket"],
+ "summary": "Entities that are pushed via socket updates.",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.WorkspaceEvents"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/resourceStatuses": {
+ "get": {
+ "operationId": "getWorkspaceRepositoryStatus",
+ "tags": ["Workspaces"],
+ "summary": "Get workspace Resources status",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ID of the Project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceRepositoryStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/relaunch": {
+ "post": {
+ "operationId": "relaunchWorkspace",
+ "tags": ["Workspaces"],
+ "summary": "Relaunch a Workspace for the given Project",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.WorkspaceRelaunchOperationRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.Workspace"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": { "$ref": "#/components/responses/Relogin" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/runtimeExecutionDetails": {
+ "get": {
+ "operationId": "getRuntimeExecutionDetails",
+ "tags": ["Workspaces"],
+ "summary": "Get the runtime execution details for a given workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ProjectId for the workspace",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceRuntimeExecutionDetails"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/linkWorkspacetoGoal": {
+ "post": {
+ "operationId": "linkWorkspaceToGoal",
+ "tags": ["Workspaces"],
+ "summary": "Link workspace to a goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for linking workspace to a goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.LinkWorkspaceToGoal"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/unlinkWorkspacefromGoal": {
+ "post": {
+ "operationId": "unlinkWorkspaceFromGoal",
+ "tags": ["Workspaces"],
+ "summary": "Unlink workspace from a goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for unlinking workspace from a goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.UnlinkWorkspaceFromGoal"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/autoSyncFrequency": {
+ "post": {
+ "operationId": "setAutoSyncFrequency",
+ "tags": ["Workspaces"],
+ "summary": "Update workspace auto sync settings",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with auto sync related info",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.web.AutoSyncFrequencyRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/executionCheckpointStatuses": {
+ "get": {
+ "operationId": "getExecutionCheckpointStatuses",
+ "tags": ["Workspaces"],
+ "summary": "Get each checkpoint name and their individual status for an execution",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.ExecutionCheckpointStatus"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/project/{projectId}/environment/{environmentId}/availableTools": {
+ "get": {
+ "operationId": "getAvailableToolsForEnvironment",
+ "tags": ["Workspaces"],
+ "summary": "Get the list of available Workspace tools for the given Environment",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "ID of the Project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "environmentId",
+ "description": "ID of the Environment",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.workspaces.api.AvailableWorkspaceTools"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/workspace/{workspaceId}/onDemandSparkStatus": {
+ "get": {
+ "operationId": "getOnDemandSparkClusterStatus",
+ "tags": ["Workspaces"],
+ "summary": "Get on demand spark cluster for on demand spark cluster.",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.OnDemandSparkClusterStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/workspace/{workspaceId}/sparkClusterDetails": {
+ "get": {
+ "operationId": "getSparkClusterDetails",
+ "tags": ["Workspaces"],
+ "summary": "Gets spark cluster properties for a given workspace",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "responses": {
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.OnDemandSparkClusterDetailsView"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/workspaces/project/{projectId}/defaultSparkSettings": {
+ "get": {
+ "operationId": "getDefaultOnDemandSparkSettings",
+ "tags": ["Workspaces"],
+ "summary": "gets the default spark settings for workspaces",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "ID of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.DefaultOnDemandSparkClusterPropertiesSpec"
+ }
+ }
+ }
+ },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{workspaceId}/project/{projectId}/getWritableProjectMounts": {
+ "get": {
+ "operationId": "getWritableProjectMounts",
+ "tags": ["Workspaces"],
+ "summary": "Gets the writable mounts for this workspace. This includes the main git repo, dfs mount, and imported git repos",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "ID of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.WritableProjectMounts"
+ }
+ }
+ }
+ },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/workspaces/{projectId}/getActiveClassicWorkspaceCount": {
+ "get": {
+ "operationId": "getActiveClassicWorkspaceCount",
+ "tags": ["Workspaces"],
+ "summary": "Get the number of active \"classic\" workspace sessions for this project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "number" } }
+ }
+ },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/users": {
+ "get": {
+ "operationId": "listUsers",
+ "tags": ["Users"],
+ "summary": "retrieves a list of users",
+ "parameters": [
+ {
+ "schema": {
+ "nullable": true,
+ "type": "array",
+ "items": { "pattern": "^[0-9a-f]{24}$", "type": "string" }
+ },
+ "in": "query",
+ "name": "userId",
+ "description": "Optional list of user identifiers to select the previously known users",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "userName",
+ "description": "Optional filter for an exact user name",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "query",
+ "description": "Optional filter for a user name (returns usernames starting with this query)",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.common.user.Person"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/users/self": {
+ "get": {
+ "operationId": "getCurrentUser",
+ "tags": ["Users"],
+ "summary": "retrieves the current user",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.user.Person"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/users/requestForTrialPeriodExtension": {
+ "get": {
+ "operationId": "requestForTrialPeriodExtension",
+ "tags": ["Users"],
+ "summary": "extend trial period",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Domino-Api-Key",
+ "required": false,
+ "schema": { "type": "string" },
+ "description": "API Key"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.user.Response"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/users/isLiteUser": {
+ "get": {
+ "operationId": "isLiteUser",
+ "tags": ["Users"],
+ "summary": "Check if the user is lite user or not",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Domino-Api-Key",
+ "required": false,
+ "type": "string",
+ "description": "API Key"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.user.LiteUserResponseDTO"
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/users/trialStatus": {
+ "get": {
+ "operationId": "getCurrentUserTrialStatus",
+ "tags": ["Users"],
+ "summary": "Get trial status of the current user",
+ "parameters": [
+ {
+ "in": "header",
+ "name": "X-Domino-Api-Key",
+ "required": false,
+ "schema": { "type": "string" },
+ "description": "API Key"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.user.TrialStatusDTO"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/users/extendTrialPeriod/{userId}/{extensionPeriodInDays}": {
+ "get": {
+ "operationId": "extendTrialPeriod",
+ "tags": ["Users"],
+ "summary": "extend trial period for a user",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "userId",
+ "description": "Domino id of the user to whom the extension will apply",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "path",
+ "name": "extensionPeriodInDays",
+ "description": "How many days to extend by",
+ "required": true
+ },
+ {
+ "in": "header",
+ "name": "X-Domino-Api-Key",
+ "required": false,
+ "schema": { "type": "string" },
+ "description": "API Key"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.user.Response"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/users/environmentVariables": {
+ "get": {
+ "operationId": "listUserEnvironmentVariables",
+ "tags": ["Users"],
+ "summary": "retrieves the specified user's environment variables",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.models.EnvironmentVariables"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "deleteUserEnvironmentVariables",
+ "tags": ["Users"],
+ "summary": "deletes all of the specified user's environment variables",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.models.EnvironmentVariables"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/organizations": {
+ "post": {
+ "operationId": "createOrganization",
+ "tags": ["Organizations"],
+ "summary": "creates an Organization",
+ "parameters": [],
+ "requestBody": {
+ "description": "Information necessary to create a new organization",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": { "$ref": "#/components/schemas/NewOrganization" }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": { "$ref": "#/components/schemas/Organization" }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "getAllOrganizations",
+ "tags": ["Organizations"],
+ "summary": "allows an Admin to retrieve all Organizations",
+ "parameters": [
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "name",
+ "description": "Optional filter with a name of the specific organization",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": { "$ref": "#/components/schemas/Organization" }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/organizations/self": {
+ "get": {
+ "operationId": "getCurrentUserOrganizations",
+ "tags": ["Organizations"],
+ "summary": "retrieves the current user's Organizations",
+ "parameters": [
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "name",
+ "description": "Optional filter with a name of the specific organization",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": { "$ref": "#/components/schemas/Organization" }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/organizations/{organizationUserId}": {
+ "get": {
+ "operationId": "getOrganization",
+ "tags": ["Organizations"],
+ "summary": "retrieves an Organization by user id",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "organizationUserId",
+ "description": "Identifier of organization's user",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": { "$ref": "#/components/schemas/Organization" }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/organizations/{organizationUserId}/members": {
+ "put": {
+ "operationId": "changeOrganizationMembers",
+ "tags": ["Organizations"],
+ "summary": "add/remove members from an Organization",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "organizationUserId",
+ "description": "Identifier of organization's user to set members",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "Object with a list of new organization members",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.organization.models.OrganizationMembers"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": { "$ref": "#/components/schemas/Organization" }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/jiraBasicAuth": {
+ "post": {
+ "operationId": "jiraBasicAuth",
+ "tags": ["ProjectManagement"],
+ "summary": "Add Project Management Linker Data For Jira Basic Authentication",
+ "parameters": [
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to link a Project Management Tool",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmLinker"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/unlinkProjectManagement": {
+ "post": {
+ "operationId": "unlinkProjectManagement",
+ "tags": ["ProjectManagement"],
+ "summary": "Removes Project Management Linker Data For Project Management",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.ResponseMessage"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/isUserAuthenticated": {
+ "post": {
+ "operationId": "isUserAuthenticated",
+ "tags": ["ProjectManagement"],
+ "summary": "Tells whether User is Authenticated",
+ "parameters": [
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/getProjectsFromPMT": {
+ "get": {
+ "operationId": "getRelevantBriefProjects",
+ "tags": ["ProjectManagement"],
+ "summary": "Gets List of Relevant Project Management Projects from Project Management Tool",
+ "parameters": [
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "projectName",
+ "description": "The Name of the Jira Project to filter further",
+ "required": false
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmProjectSummary"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/getTicketsFromPMT": {
+ "get": {
+ "operationId": "getRelevantBriefTickets",
+ "tags": ["ProjectManagement"],
+ "summary": "Gets List of Relevant Project Management Tickets for Project Management Tool",
+ "parameters": [
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "projectName",
+ "description": "The Name of the Jira Project to filter further",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "boolean" },
+ "in": "query",
+ "name": "onlyAssignedToMe",
+ "description": "Flag, to filter ticket Assigned to Me",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "filterText",
+ "description": "The text to filter out Tickets",
+ "required": false
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmTicketSummary"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/fullSync": {
+ "post": {
+ "operationId": "fullSync",
+ "tags": ["ProjectManagement"],
+ "summary": "Sync project with linked project management ticket.",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "Id of the domino project to be synced",
+ "required": true
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/{projectId}/fullSyncStatus": {
+ "get": {
+ "operationId": "getFullSyncStatus",
+ "tags": ["ProjectManagement"],
+ "summary": "Gets Current Full Sync Status For Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.FullSyncStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/{projectId}/linkDominoProjectToPMTTicket": {
+ "post": {
+ "operationId": "linkPmTicketWithDominoEntity",
+ "tags": ["ProjectManagement"],
+ "summary": "Link a Project with a Project Management Ticket",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "ticketId",
+ "description": "TicketId of the Ticket in the Project management tool which needs to linked",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ },
+ {
+ "schema": { "type": "boolean" },
+ "in": "query",
+ "name": "keepExistingGoals",
+ "required": true
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.ResponseMessage"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/{projectId}/unlinkDominoProjectToPMTTicket": {
+ "post": {
+ "operationId": "unlinkPmTicketWithDominoEntity",
+ "tags": ["ProjectManagement"],
+ "summary": "UnLink a Project with Project Management Ticket",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ },
+ {
+ "schema": { "type": "boolean" },
+ "in": "query",
+ "name": "keepExistingGoals",
+ "required": true
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.ResponseMessage"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/getTicketDetails": {
+ "get": {
+ "operationId": "getTicketDetails",
+ "tags": ["ProjectManagement"],
+ "summary": "Gets Ticket Details from Project Management",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "ticketId",
+ "description": "The Project Management Ticket Id",
+ "required": true
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmTicket"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/{projectId}/getLinkedTicket": {
+ "get": {
+ "operationId": "getLinkedTicketByProjectId",
+ "tags": ["ProjectManagement"],
+ "summary": "Get Ticket Linked to a Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.TicketToDominoMapper"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/{projectId}/getLinkedSubTickets": {
+ "get": {
+ "operationId": "getLinkedSubTicketsByProjectId",
+ "tags": ["ProjectManagement"],
+ "summary": "Get SubTickets Linked to a Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.SubTicketToDominoMapper"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/jiraOAuth": {
+ "get": {
+ "operationId": "jiraOAuth",
+ "tags": ["ProjectManagement"],
+ "summary": "Completes authentication with jira server/cloud through OAuth protocol.",
+ "parameters": [
+ {
+ "name": "oauth_verifier",
+ "in": "query",
+ "required": false,
+ "description": "The verifier token provided by jira server",
+ "schema": { "type": "string" }
+ },
+ {
+ "name": "dominoRedirectionUrl",
+ "in": "query",
+ "required": false,
+ "description": "Domino page url to be opened after successful authentication by oAuth",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.ResponseMessage"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/getJiraOAuthConfiguration": {
+ "get": {
+ "operationId": "getJiraOAuthConfiguration",
+ "tags": ["ProjectManagement"],
+ "summary": "Gets the Jira OAuth-1a configuration",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmOAuth1aConfiguration"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/createJiraOAuthConfiguration": {
+ "post": {
+ "operationId": "createJiraOAuthConfiguration",
+ "tags": ["ProjectManagement"],
+ "summary": "Create Jira oauth configuration",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "jiraUrl",
+ "description": "Jira Host Url",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmOAuth1aConfiguration"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/deleteJiraOAuthConfiguration": {
+ "delete": {
+ "operationId": "removeJiraOAuthConfiguration",
+ "tags": ["ProjectManagement"],
+ "summary": "Delete Jira oauth configuration",
+ "parameters": [],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/allLinkedProjects": {
+ "get": {
+ "operationId": "getAllLinkedProjects",
+ "tags": ["ProjectManagement"],
+ "summary": "Get All Linked Projects",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.LinkedProjectDetails"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/totalNumberOfLinkedProjects": {
+ "get": {
+ "operationId": "getTotalNumberOfLinkedProjects",
+ "tags": ["ProjectManagement"],
+ "summary": "count All Linked Projects",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "integer" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/{projectId}/unlinkAndResetProject": {
+ "post": {
+ "operationId": "unlinkAndResetProject",
+ "tags": ["ProjectManagement"],
+ "summary": "Unlink and Reset Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/isUserAuthorized": {
+ "get": {
+ "operationId": "isUserAuthorized",
+ "tags": ["ProjectManagement"],
+ "summary": "Checks if User is authorized to view that linked project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "Domino Project Id which is linked to jira.",
+ "required": true
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/isProjectLinked": {
+ "get": {
+ "operationId": "isProjectLinked",
+ "tags": ["ProjectManagement"],
+ "summary": "Verifies if Project is linked to a ticket in Project Management Tool.",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "Domino Project Id which is linked to jira.",
+ "required": true
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/project/{projectId}/stage/list": {
+ "get": {
+ "operationId": "getStagesForProject",
+ "tags": ["ProjectManagement"],
+ "summary": "Get allowed stages for a given project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStage"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/moveProjectToStage": {
+ "post": {
+ "operationId": "moveProjectToStage",
+ "tags": ["ProjectManagement"],
+ "summary": "Assign stage to a project",
+ "parameters": [
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to assign a stage to a project",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.MoveProjectToStage"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStageAndStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/goal/{goalId}/stage/list": {
+ "get": {
+ "operationId": "getStagesForGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Get allowed goal stages for a given goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "goalId",
+ "description": "Domino id of the goal",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStage"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/goal/{goalId}/stage/{stageId}": {
+ "post": {
+ "operationId": "moveGoalToStage",
+ "tags": ["ProjectManagement"],
+ "summary": "Assign stage to a Goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "goalId",
+ "description": "Domino id of the goal",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "stageId",
+ "description": "Domino id of the project stage",
+ "required": true
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGoalStageAndStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/{projectId}/goals": {
+ "get": {
+ "operationId": "getProjectGoals",
+ "tags": ["ProjectManagement"],
+ "summary": "Get project goals",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "projectId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGoal"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/{projectId}/createGoal": {
+ "post": {
+ "operationId": "createProjectGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Create project goal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "projectId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to create a project goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.CreateProjectGoal"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/goal/{goalId}/updateTitle": {
+ "post": {
+ "operationId": "updateProjectGoalTitle",
+ "tags": ["ProjectManagement"],
+ "summary": "Update title of a project goal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "goalId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with title to be updated",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.UpdateProjectGoalTitle"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/goal/{goalId}/updateDescription": {
+ "post": {
+ "operationId": "updateProjectGoalDescription",
+ "tags": ["ProjectManagement"],
+ "summary": "Update description of a project goal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "goalId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with description be updated",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.UpdateProjectGoalDescription"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/goal/{goalId}": {
+ "delete": {
+ "operationId": "deleteProjectGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Delete a project goal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "goalId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/goal/{goalId}/comment/list": {
+ "get": {
+ "operationId": "getCommentsOnGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Get comments on a Goal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "goalId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/goal/{goalId}/comment": {
+ "post": {
+ "operationId": "addCommentOnGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Add comment on Goal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "goalId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to add comment on Goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.web.CommentRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/goalComment/{threadId}/{commentId}/canUpdate": {
+ "get": {
+ "operationId": "canUpdateCommentOnGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Boolean representing user can update a comment on Goal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "threadId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/goalComment/{threadId}/{commentId}": {
+ "delete": {
+ "operationId": "archiveCommentOnGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Archive comment on Goal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "threadId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.Comment"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "put": {
+ "operationId": "updateCommentOnGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Update comment on Goal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "threadId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to update comment on Goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.web.CommentRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.Comment"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/project/{projectId}/comment/list": {
+ "get": {
+ "operationId": "getCommentsOnProject",
+ "tags": ["ProjectManagement"],
+ "summary": "Get comments on a Project",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "projectId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/project/{projectId}/comment": {
+ "post": {
+ "operationId": "addCommentOnProject",
+ "tags": ["ProjectManagement"],
+ "summary": "Add comment on Project",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "projectId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to add comment on Project",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.web.CommentRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/projectComment/{threadId}/{commentId}/canUpdate": {
+ "get": {
+ "operationId": "canUpdateCommentOnProject",
+ "tags": ["ProjectManagement"],
+ "summary": "Boolean representing user can update comment on Project",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "threadId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/projectComment/{threadId}/{commentId}": {
+ "delete": {
+ "operationId": "archiveCommentOnProject",
+ "tags": ["ProjectManagement"],
+ "summary": "Archive comment on Project",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "threadId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.Comment"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "put": {
+ "operationId": "updateCommentOnProject",
+ "tags": ["ProjectManagement"],
+ "summary": "Update comment on Project",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "threadId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "in": "path",
+ "name": "commentId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to update comment on Project",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.web.CommentRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.Comment"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/{jobId}/linkJobToGoal": {
+ "post": {
+ "operationId": "linkJobToGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Link job to goal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for linking goal to a job",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.web.LinkJobToGoalRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.ResponseMessage"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/{jobId}/unlinkJobFromGoal": {
+ "post": {
+ "operationId": "unlinkJobFromGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Unlink job from goal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "jobId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for unlinking goal from job",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.web.UnlinkJobFromGoalRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.ResponseMessage"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/{workspaceId}/linkWorkspaceToGoal": {
+ "post": {
+ "operationId": "linkWorkspaceToGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Link workspace to goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "workspaceId",
+ "description": "ID of the workspace",
+ "required": true
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for linking goal to a workpace",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.web.LinkWorkspaceToGoalRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.ResponseMessage"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/{workspaceId}/unlinkWorkspaceFromGoal": {
+ "post": {
+ "operationId": "unlinkWorkspaceFromGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Unlink workspace from goal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "workspaceId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for unlinking goal from workspace",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.web.UnlinkWorkspaceFromGoalRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.ResponseMessage"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/linkFileToGoal": {
+ "post": {
+ "operationId": "linkFileToGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Link a file to a goal",
+ "parameters": [
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for unlinking goal from workspace",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.web.LinkFileToGoalRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.ResponseMessage"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projectManagement/unlinkFileFromGoal": {
+ "post": {
+ "operationId": "unlinkFileFromGoal",
+ "tags": ["ProjectManagement"],
+ "summary": "Unlink a file from a goal",
+ "parameters": [
+ {
+ "name": "X-Domino-PmApiToken",
+ "in": "cookie",
+ "schema": { "type": "string" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for unlinking goal from workspace",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.web.UnlinkFileFromGoalRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.ResponseMessage"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "409": {
+ "$ref": "#/components/responses/ProjectManagementErrorResponse"
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects": {
+ "post": {
+ "operationId": "createProject",
+ "tags": ["Projects"],
+ "summary": "creates a project",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.project.models.NewProject"
+ }
+ }
+ }
+ },
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.project.models.Project"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/projects/{projectId}": {
+ "get": {
+ "operationId": "getProjectSummary",
+ "tags": ["Projects"],
+ "summary": "gets the summary for this given projectId",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectSummary"
+ }
+ }
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "archiveProjectById",
+ "tags": ["Projects"],
+ "summary": "archive an project by id",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to archive",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectToForkId}/fork": {
+ "post": {
+ "operationId": "forkProject",
+ "tags": ["Projects"],
+ "summary": "forks a project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectToForkId",
+ "description": "Id of the project to fork",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.project.models.ForkOrCopyProject"
+ }
+ }
+ }
+ },
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.project.models.Project"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/projects/{projectToCopyId}/copy": {
+ "post": {
+ "operationId": "copyProject",
+ "tags": ["Projects"],
+ "summary": "copies a project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectToCopyId",
+ "description": "Id of the project to copy",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.project.models.ForkOrCopyProject"
+ }
+ }
+ }
+ },
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.project.models.Project"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/description": {
+ "patch": {
+ "operationId": "updateProjectDescription",
+ "tags": ["Projects"],
+ "summary": "update project description for this given projectId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "projectId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.project.models.UpdateProjectDescription"
+ }
+ }
+ }
+ },
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": { "description": "success" }
+ }
+ }
+ },
+ "/projects/{projectId}/visibility": {
+ "patch": {
+ "operationId": "updateProjectVisibility",
+ "tags": ["Projects"],
+ "summary": "update project visibility for this given projectId",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "projectId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.project.models.UpdateProjectVisibility"
+ }
+ }
+ }
+ },
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": { "description": "success" }
+ }
+ }
+ },
+ "/projects/{projectId}/tags": {
+ "post": {
+ "operationId": "addTags",
+ "tags": ["Projects"],
+ "summary": "adds tag(s) to a project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to add tag(s) to",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.project.models.NewTags"
+ }
+ }
+ }
+ },
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectTagDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/tags/{tagId}": {
+ "delete": {
+ "operationId": "removeTagFromProject",
+ "tags": ["Projects"],
+ "summary": "delete a tag from a project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to delete tag from",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "tagId",
+ "description": "Id of the tag to delete",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": { "description": "success" }
+ }
+ }
+ },
+ "/projects/{projectId}/releases": {
+ "get": {
+ "operationId": "getProjectReleases",
+ "tags": ["Projects"],
+ "summary": "gets the releases for the given Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.projectreleases.ProjectReleaseDto"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/settings": {
+ "get": {
+ "operationId": "getProjectSettings",
+ "tags": ["Projects"],
+ "summary": "gets the settings for the given Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.project.ProjectSettingsDto"
+ }
+ }
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "updateProjectSettings",
+ "tags": ["Projects"],
+ "summary": "update the settings for the given Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.project.ProjectSettingsUpdateDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": { "description": "success" }
+ }
+ }
+ },
+ "/projects/{projectId}/hardwareTiers": {
+ "get": {
+ "operationId": "listHardwareTiersForProject",
+ "tags": ["Projects"],
+ "summary": "retrieves the Hardware Tiers accessible for a Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierWithCapacityDto"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/collaborators": {
+ "post": {
+ "operationId": "addCollaborator",
+ "tags": ["Projects"],
+ "summary": "adds a user or organization to Project as a collaborator",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to add collaborator to",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.project.models.Collaborator"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.project.models.Collaborator"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/collaborators/{collaboratorId}": {
+ "delete": {
+ "operationId": "removeCollaborator",
+ "tags": ["Projects"],
+ "summary": "remove a collaborator from a Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "collaboratorId",
+ "description": "Id of the collaborator to remove from the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/commits/head/files/{path}": {
+ "post": {
+ "operationId": "uploadFile",
+ "tags": ["Files"],
+ "summary": "uploads a file to the head commit of the project's repository",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to upload the file to",
+ "required": true
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "path",
+ "name": "path",
+ "description": "Path in the project's repository to upload the file to",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "content": {
+ "multipart/form-data": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "upfile": {
+ "type": "string",
+ "format": "binary",
+ "description": "The file to upload"
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.interface.ProjectFile"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "getProjectFilesFromHead",
+ "tags": ["Files"],
+ "summary": "returns all the files for a specified project from the last commit",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to return files for",
+ "required": true
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "path",
+ "name": "path",
+ "description": "Path in the project's repository to list files from (if not specified, files in the root will be listed)",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.file.ProjectFileDeprecated"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/commits/{commitId}/files/{path}": {
+ "get": {
+ "operationId": "getProjectFiles",
+ "tags": ["Files"],
+ "summary": "returns all the files for a specified project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to return files for",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "commitId",
+ "description": "Id of a commit in the project repository to list files from",
+ "required": true
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "path",
+ "name": "path",
+ "description": "Path in the project's repository to list files from (if not specified, files in the root will be listed)",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.file.ProjectFileDeprecated"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/commits/head": {
+ "get": {
+ "operationId": "getProjectHeadCommit",
+ "tags": ["Files"],
+ "summary": "retrieves the last (head) commit in the repository associated with the specified project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to return head commit for",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.file.ProjectCommitDeprecated"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/commits": {
+ "get": {
+ "operationId": "getProjectCommits",
+ "tags": ["Files"],
+ "summary": "retrieves commits of the repository associated with the specified project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to return commits for",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.file.ProjectCommitDeprecated"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/gitRepositories": {
+ "post": {
+ "operationId": "addGitRepo",
+ "tags": ["Projects"],
+ "summary": "adds a git repository to a project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to add the repository to",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.GitRepositoryDTO"
+ }
+ }
+ }
+ },
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.GitRepositoryDTO"
+ }
+ }
+ }
+ }
+ }
+ },
+ "get": {
+ "operationId": "getGitRepos",
+ "tags": ["Projects"],
+ "summary": "gets git repositories for a project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to get the repositories from",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.GitRepositoryDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/gitRepositories/{repositoryId}": {
+ "patch": {
+ "operationId": "editGitRepo",
+ "tags": ["Projects"],
+ "summary": "edits a git repository",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to get the repository from",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "repositoryId",
+ "description": "Id of the repository being edited",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.GitRepositoryDTO"
+ }
+ }
+ }
+ },
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": { "description": "success" }
+ }
+ },
+ "delete": {
+ "operationId": "archiveGitRepo",
+ "tags": ["Projects"],
+ "summary": "archives a git repository from a project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to archive the repository from",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "repositoryId",
+ "description": "Id of the repository to archive",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": { "description": "success" }
+ }
+ }
+ },
+ "/projects/{projectId}/environmentVariables": {
+ "post": {
+ "operationId": "setProjectEnvironmentVariables",
+ "tags": ["Projects"],
+ "summary": "sets the specified project's environment variables",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to add environment variables",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.models.EnvironmentVariables"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.models.EnvironmentVariables"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "listProjectEnvironmentVariables",
+ "tags": ["Projects"],
+ "summary": "retrieves the specified project's environment variables",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "projectId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.models.EnvironmentVariables"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/portfolio/getProjectStages": {
+ "get": {
+ "operationId": "getProjectStages",
+ "tags": ["Projects"],
+ "summary": "Get project stages",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStage"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/portfolio/createProjectStage": {
+ "post": {
+ "operationId": "createProjectStage",
+ "tags": ["Projects"],
+ "summary": "Create project stages",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with data to create a projectStage",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.CreateProjectStage"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStage"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/portfolio/archiveProjectStage": {
+ "delete": {
+ "operationId": "archiveProjectStage",
+ "tags": ["Projects"],
+ "summary": "Archive project stage",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with data to archive a projectStage",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.ArchiveProjectStage"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStage"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/portfolio/moveProjectToStage": {
+ "post": {
+ "operationId": "moveProjectToStage",
+ "tags": ["Projects"],
+ "summary": "Assign stage to a project",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with data to assign a stage to a project",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.MoveProjectToStage"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStageAndStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/portfolio/raiseBlockerToProject": {
+ "post": {
+ "operationId": "raiseBlockerToProject",
+ "tags": ["Projects"],
+ "summary": "Raise blocker to a project",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with data to raise blocker to a project",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.RaiseBlockerToProject"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStageAndStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/portfolio/markProjectComplete": {
+ "post": {
+ "operationId": "markProjectComplete",
+ "tags": ["Projects"],
+ "summary": "Mark Project as complete",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with data to mark project as complete",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.MarkProjectComplete"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStageAndStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/portfolio/markProjectActive": {
+ "post": {
+ "operationId": "markProjectActive",
+ "tags": ["Projects"],
+ "summary": "Mark Project as active",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with data to mark project as active",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.MarkProjectActive"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStageAndStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/getCurrentStageAndStatus": {
+ "get": {
+ "operationId": "getCurrentProjectStageAndStatus",
+ "tags": ["Projects"],
+ "summary": "Get current project stage and status",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStageAndStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/portfolio/updateStageName": {
+ "post": {
+ "operationId": "updateStageName",
+ "tags": ["Projects"],
+ "summary": "Update stage name",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with data to update the stage name",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.UpdateStageName"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStageAndStatus"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/portfolio/getProjectPortfolioStats": {
+ "get": {
+ "operationId": "getProjectPortfolioStats",
+ "tags": ["Projects"],
+ "summary": "Get project portfolio stats",
+ "parameters": [
+ {
+ "schema": { "nullable": true, "type": "boolean" },
+ "in": "query",
+ "name": "includePmLinkedProjects",
+ "description": "boolean to include project management linked projects",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectPortfolioStats"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/portfolio/getProjectPortfolio": {
+ "get": {
+ "operationId": "getProjectPortfolio",
+ "tags": ["Projects"],
+ "summary": "Get project portfolio stats",
+ "parameters": [
+ {
+ "schema": {
+ "nullable": true,
+ "format": "int32",
+ "type": "integer"
+ },
+ "in": "query",
+ "name": "pageSize",
+ "description": "number of projects to fetch",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "type": "string",
+ "enum": ["asc", "desc"]
+ },
+ "in": "query",
+ "name": "sortOrder",
+ "description": "order of sort",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "sortBy",
+ "description": "column to sort on",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "format": "int32",
+ "type": "integer"
+ },
+ "in": "query",
+ "name": "pageNo",
+ "description": "the page number to fetch",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "searchQuery",
+ "description": "column to sort on",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "type": "array",
+ "items": { "pattern": "^[0-9a-f]{24}$", "type": "string" }
+ },
+ "in": "query",
+ "name": "stageId",
+ "description": "The stageId to filter",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "type": "array",
+ "items": { "type": "string" }
+ },
+ "in": "query",
+ "name": "status",
+ "description": "Status to filter",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "boolean" },
+ "in": "query",
+ "name": "isBlocked",
+ "description": "boolean to filter blocked projects",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "boolean" },
+ "in": "query",
+ "name": "includePmLinkedProjects",
+ "description": "boolean to include project management linked projects",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectPortfolioSet"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/getProjectStages": {
+ "get": {
+ "operationId": "getProjectStagesForProject",
+ "tags": ["Projects"],
+ "summary": "Get allowed project stages for a given project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStage"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/getCommentsOnBlockedProject": {
+ "get": {
+ "operationId": "getCommentsOnBlockedProject",
+ "tags": ["Projects"],
+ "summary": "Get comment on blocked project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ },
+ {
+ "schema": { "format": "int64", "type": "string" },
+ "in": "query",
+ "name": "blockedAt",
+ "description": "The time in millis (instant) at which the project is blocked",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/addCommentOnBlockedProject": {
+ "post": {
+ "operationId": "addCommentOnBlockedProject",
+ "tags": ["Projects"],
+ "summary": "Add comment on blocked project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to add comment on blocked project",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.AddBlockedAtComment"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/archiveCommentOnBlockedProject": {
+ "delete": {
+ "operationId": "archiveCommentOnBlockedProject",
+ "tags": ["Projects"],
+ "summary": "Archive comment on blocked project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to archive comment on blocked project",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.ArchiveComment"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.Comment"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/{goalId}/getCommentsOnGoal": {
+ "get": {
+ "operationId": "getCommentsOnGoal",
+ "tags": ["Projects"],
+ "summary": "Get comments on a Goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ },
+ {
+ "in": "path",
+ "name": "goalId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/{goalId}/addCommentOnGoal": {
+ "post": {
+ "operationId": "addCommentOnGoal",
+ "tags": ["Projects"],
+ "summary": "Add comment on Goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "goalId",
+ "description": "Domino id of the goal",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to add comment on Goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.AddComment"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/{goalId}/comment": {
+ "put": {
+ "operationId": "updateCommentOnGoal",
+ "tags": ["Projects"],
+ "summary": "Update comment on Goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "goalId",
+ "description": "Domino id of the goal",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to update comment on Goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.UpdateCommentInfo"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.Comment"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/projectGoals/archiveCommentOnGoal": {
+ "delete": {
+ "operationId": "archiveCommentOnGoal",
+ "tags": ["Projects"],
+ "summary": "Archive comment on Goal",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with data to archive comment on Goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.ArchiveComment"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.Comment"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/dontCall": {
+ "get": {
+ "operationId": "notFound",
+ "tags": ["Projects"],
+ "summary": "Get all possible statuses (Dirty hack to send enums to frontend)",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectPortfolioMetaData"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/portfolio/getAssetPortfolioStats": {
+ "get": {
+ "operationId": "getAssetPortfolioStats",
+ "tags": ["Projects"],
+ "summary": "Get assets portfolio stats",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.AssetPortfolioStats"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/portfolio/getAssetPortfolio": {
+ "get": {
+ "operationId": "getAssetPortfolio",
+ "tags": ["Projects"],
+ "summary": "Get assets portfolio",
+ "parameters": [
+ {
+ "schema": {
+ "type": "string",
+ "enum": ["App", "ModelAPI", "Launcher", "Schedules"]
+ },
+ "in": "query",
+ "name": "assetType",
+ "required": true
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "format": "int32",
+ "type": "integer"
+ },
+ "in": "query",
+ "name": "pageSize",
+ "description": "number of projects to fetch",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "type": "string",
+ "enum": ["asc", "desc"]
+ },
+ "in": "query",
+ "name": "sortOrder",
+ "description": "order of sort",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "sortBy",
+ "description": "column to sort on",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "format": "int32",
+ "type": "integer"
+ },
+ "in": "query",
+ "name": "pageNo",
+ "description": "the page number to fetch",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "searchQuery",
+ "description": "column to sort on",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.AssetPortfolioSet"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/goals": {
+ "get": {
+ "operationId": "getProjectGoals",
+ "tags": ["Projects"],
+ "summary": "Get project goals",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGoal"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/createGoal": {
+ "post": {
+ "operationId": "createProjectGoal",
+ "tags": ["Projects"],
+ "summary": "Create project goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to create a project goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.CreateProjectGoal"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/goal/{goalId}": {
+ "delete": {
+ "operationId": "deleteProjectGoal",
+ "tags": ["Projects"],
+ "summary": "Delete a project goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "goalId",
+ "description": "Domino id of the goal",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/goal/{goalId}/markComplete": {
+ "post": {
+ "operationId": "markProjectGoalComplete",
+ "tags": ["Projects"],
+ "summary": "Mark project goal complete",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "goalId",
+ "description": "Domino id of the goal",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/goal/{goalId}/markIncomplete": {
+ "post": {
+ "operationId": "markProjectGoalIncomplete",
+ "tags": ["Projects"],
+ "summary": "Mark a project goal incomplete",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "goalId",
+ "description": "Domino id of the goal",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/goal/{goalId}/updateTitle": {
+ "post": {
+ "operationId": "updateProjectGoalTitle",
+ "tags": ["Projects"],
+ "summary": "Update title of a project goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "goalId",
+ "description": "Domino id of the goal",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with title to be updated",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.UpdateProjectGoalTitle"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/goal/{goalId}/updateDescription": {
+ "post": {
+ "operationId": "updateProjectGoalDescription",
+ "tags": ["Projects"],
+ "summary": "Update description of a project goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "goalId",
+ "description": "Domino id of the goal",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with description be updated",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.UpdateProjectGoalDescription"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/comments": {
+ "get": {
+ "operationId": "getCommentsOnProject",
+ "tags": ["Projects"],
+ "summary": "Get comments on a Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/comment": {
+ "post": {
+ "operationId": "addCommentOnProject",
+ "tags": ["Projects"],
+ "summary": "Add comment on Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to add comment on Project",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.AddComment"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "archiveCommentOnProject",
+ "tags": ["Projects"],
+ "summary": "Archive comment on Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to archive comment on Project",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.ArchiveComment"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.Comment"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "put": {
+ "operationId": "updateCommentOnProject",
+ "tags": ["Projects"],
+ "summary": "Update comment on Project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Domino id of the project",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with data to update comment on Project",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.UpdateCommentInfo"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.Comment"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/useableEnvironments": {
+ "get": {
+ "operationId": "getUseableEnvironments",
+ "tags": ["Projects"],
+ "summary": "gets the list of Environments that this Project can use",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.UseableProjectEnvironmentsDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/environment/{environmentId}": {
+ "get": {
+ "operationId": "getUseableEnvironmentDetails",
+ "tags": ["Projects"],
+ "summary": "gets the details for an environment visible by this project and the requesting user",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "environmentId",
+ "description": "Id of the environment",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.EnvironmentDetails"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/dependenciesAndForks": {
+ "get": {
+ "operationId": "getDependenciesAndForks",
+ "tags": ["Projects"],
+ "summary": "get project dependencies and fork info, request merge status to be sent via websocket",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectDependenciesAndForks"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/repository/{repoId}/credentialMapping": {
+ "get": {
+ "operationId": "getCredentialId",
+ "tags": ["Projects"],
+ "summary": "get credential id used for a specific user-project-repo combination",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "repoId",
+ "description": "Id of the repository",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.DominoId"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "deleteCredentialMapping",
+ "tags": ["Projects"],
+ "summary": "delete credential mapping for a specific user-project-repo combination",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "repoId",
+ "description": "Id of the repository",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.CredentialMappingDTO"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "put": {
+ "operationId": "setCredentialMapping",
+ "tags": ["Projects"],
+ "summary": "set credential to use for a specific user-project-repo combination",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "repoId",
+ "description": "Id of the repository",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with credential ID to set",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.web.SetCredentialMapping"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.CredentialMappingDTO"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/credentialMapping": {
+ "get": {
+ "operationId": "getAllCredentialsForProject",
+ "tags": ["Projects"],
+ "summary": "get list of credential mappings for a specific user-project combination",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.CredentialMappingDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/credentialMapping/credential/{credentialId}": {
+ "delete": {
+ "operationId": "deleteCredentialMappingsByCredentialId",
+ "tags": ["Projects"],
+ "summary": "delete credential mappings associated with a particular credential",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "credentialId",
+ "description": "Id of the credential",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/{repoId}/defaultTreeUri": {
+ "get": {
+ "operationId": "getDefaultTreeUri",
+ "tags": ["Projects"],
+ "summary": "get uri for default tree of repository",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "repoId",
+ "description": "Id of the repository",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "String" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/{repoId}/uriForBlobAtBranch/{branch}/{fileName}": {
+ "get": {
+ "operationId": "getBlobAtBranch",
+ "tags": ["Projects"],
+ "summary": "get repository uri for blob at a specific branch for a specific file",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "repoId",
+ "description": "Id of the repository",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "branch",
+ "description": "Desired branch",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "fileName",
+ "description": "Name of file",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "String" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/{repoId}/uriForBlobAtCommit/{commit}/{fileName}": {
+ "get": {
+ "operationId": "getBlobAtCommit",
+ "tags": ["Projects"],
+ "summary": "get repository uri for blob at a specific commit for a specific file",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "repoId",
+ "description": "Id of the repository",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "commit",
+ "description": "Desired commit",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "fileName",
+ "description": "Name of file",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "String" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/{repoId}/uriForTreeAtCommit/{commit}": {
+ "get": {
+ "operationId": "getTreeAtCommit",
+ "tags": ["Projects"],
+ "summary": "get repository uri for tree at a specific commit",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "repoId",
+ "description": "Id of the repository",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "commit",
+ "description": "Desired commit",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "String" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/gitRepositories/{repositoryId}/git/branches": {
+ "get": {
+ "operationId": "getBranches",
+ "tags": ["Projects", "Git"],
+ "summary": "retrieves list of a repository's branches",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to get the repository from.",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "repositoryId",
+ "description": "Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository.",
+ "required": true
+ },
+ {
+ "schema": {
+ "default": 1,
+ "nullable": true,
+ "format": "int32",
+ "type": "number",
+ "minimum": 1
+ },
+ "in": "query",
+ "name": "startIndex",
+ "description": "Index of the first result desired by the client (1-indexed)",
+ "required": false
+ },
+ {
+ "schema": {
+ "default": 20,
+ "nullable": true,
+ "format": "int32",
+ "type": "number",
+ "minimum": 1
+ },
+ "in": "query",
+ "name": "count",
+ "description": "Desired number of results per page",
+ "required": false
+ },
+ {
+ "schema": {
+ "default": "name",
+ "nullable": true,
+ "type": "string",
+ "enum": ["name"]
+ },
+ "in": "query",
+ "name": "sort",
+ "description": "Field name to sort results on.",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "type": "string",
+ "enum": ["asc", "desc"]
+ },
+ "in": "query",
+ "name": "sortDirection",
+ "description": "Direction to sort results in. Default value depends on sort field. Ignored if 'sort' is empty.",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "searchPattern",
+ "description": "Optional search parameter to filter by.",
+ "required": false
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.responses.GetBranchesApiResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/gitRepositories/{repositoryId}/git/commits": {
+ "get": {
+ "operationId": "getCommits",
+ "tags": ["Projects", "Git"],
+ "summary": "retrieves list of a repository's commits",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to get the repository from.",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "repositoryId",
+ "description": "Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository.",
+ "required": true
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "branch",
+ "description": "Optional Name of a branch to start the history from.",
+ "required": false
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.responses.GetCommitsApiResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/gitRepositories/{repositoryId}/git/browse": {
+ "get": {
+ "operationId": "getBrowseFiles",
+ "tags": ["Projects", "Git"],
+ "summary": "gets a list of a repository's files and directories",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to get the repository from.",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "repositoryId",
+ "description": "Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository.",
+ "required": true
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "directory",
+ "description": "The path to browse the repository at.",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "branchName",
+ "description": "A branch name to browse the repository at. Defaults to the default set by the domino project, or if one doesn't exist, the repository's default. This parameter will be ignored if `commit` is provided.\n",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "commit",
+ "description": "A commit SHA to browse the repository at. This parameter will take priority over `branchName`.\n",
+ "required": false
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.responses.GetRepoBrowseApiResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/projects/{projectId}/gitRepositories/{repositoryId}/git/raw": {
+ "get": {
+ "operationId": "getRepoFile",
+ "tags": ["Projects", "Git"],
+ "summary": "gets a file from a repository",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project to get the file from",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "repositoryId",
+ "description": "Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository.",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "fileName",
+ "description": "The full path to the file to retrieve",
+ "required": true
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "branchName",
+ "description": "A branch name to retrieve the file for. Defaults to the default set by the domino project, or if one doesn't exist, the repository's default. This parameter will be ignored if `commit` is provided.\n",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "commit",
+ "description": "A commit SHA to retrieve the file for. This parameter will take priority over `branchName`.\n",
+ "required": false
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": { "description": "success" }
+ }
+ }
+ },
+ "/projects/{projectId}/gitRepositories/{repositoryId}/ref": {
+ "put": {
+ "operationId": "updateGitRepositoryDefaultRef",
+ "tags": ["Projects", "Git"],
+ "summary": "update the default ref for a repository",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "repositoryId",
+ "description": "Id of the repository being queried. You can use \"_\" to refer to the project's mainRepository.",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.ReferenceDTO"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/scheduledjobs": {
+ "post": {
+ "operationId": "createScheduledJob",
+ "tags": ["Scheduled Jobs"],
+ "summary": "creates a new scheduled job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.scheduledrun.api.NewScheduledJobDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.scheduledrun.api.ScheduledJobDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "listScheduledJobs",
+ "tags": ["Scheduled Jobs"],
+ "summary": "retrieves list of scheduled job definitions for a given project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.scheduledrun.api.ScheduledJobDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/scheduledjobs/forRequestingUser": {
+ "get": {
+ "operationId": "listScheduledJobsForRequestingUser",
+ "tags": ["Scheduled Jobs"],
+ "summary": "retrieves list of scheduled job definitions for a given project with metadata specific to requesting user",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.scheduledrun.api.ScheduledJobForRequestingUserDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/scheduledjobs/{scheduledJobKey}": {
+ "get": {
+ "operationId": "getScheduledJob",
+ "tags": ["Scheduled Jobs"],
+ "summary": "retrieves a scheduled job by Id",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "scheduledJobKey",
+ "description": "Id of the scheduled job to be retrieved",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.scheduledrun.api.ScheduledJobDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "unscheduleJob",
+ "tags": ["Scheduled Jobs"],
+ "summary": "deletes a scheduled job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "scheduledJobKey",
+ "description": "Id of the scheduled job to be deleted",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "put": {
+ "operationId": "updateScheduledJob",
+ "tags": ["Scheduled Jobs"],
+ "summary": "updates a scheduled job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "scheduledJobKey",
+ "description": "Id of the scheduled job to be updated",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.scheduledrun.api.UpdatedScheduledJobDTO"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.scheduledrun.api.ScheduledJobDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/projects/{projectId}/launcherJob/{launcherId}": {
+ "post": {
+ "operationId": "startLauncherJob",
+ "tags": ["Launchers"],
+ "summary": "starts an existing launcher job",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "launcherId",
+ "description": "Id of the existing launcher",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "Information required to start a Job for an existing Launcher. Note that the object in uploadedFiles must contain the Base64 encoded text version of the file",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.launcherjob.api.LauncherJobStartDto"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.DominoId"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/provenance/provenanceCheckpoint/{provenanceCheckpointId}": {
+ "get": {
+ "operationId": "getProvenanceCheckpoint",
+ "tags": ["Provenance"],
+ "summary": "Get the provenance checkpoint for a provenance checkpoint id",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "ID of the Project",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "provenanceCheckpointId",
+ "description": "ID of the provenance checkpoint",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.provenance.api.ProvenanceCheckpointDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/provenance/updateCheckpoint": {
+ "post": {
+ "operationId": "updateProvenanceCheckpoint",
+ "tags": ["Provenance"],
+ "summary": "Update the provenance checkpoint with details from Run record",
+ "requestBody": {
+ "description": "A provenance chedkpoint object with executionId and pullOrSyncOperationId",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.provenance.web.UpsertProvenanceCheckpointRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "updated checkpoint",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.provenance.api.ProvenanceCheckpointDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/environments/defaultEnvironment": {
+ "get": {
+ "operationId": "getDefaultEnvironment",
+ "tags": ["Environments"],
+ "summary": "Get default environment",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.environments.api.EnvironmentDetails"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/environments/self": {
+ "get": {
+ "operationId": "getCurrentUserEnvironments",
+ "tags": ["Environments"],
+ "summary": "retrieves the current user's Environments",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.environments.api.EnvironmentDetails"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/environments/{environmentId}": {
+ "get": {
+ "operationId": "getEnvironmentById",
+ "tags": ["Environments"],
+ "summary": "retrieves an Environment by id",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "environmentId",
+ "description": "Id of the environment",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.environments.api.EnvironmentDetails"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/environments/{environmentId}/availableTools": {
+ "get": {
+ "operationId": "getAvailableToolsForEnvironment",
+ "tags": ["Environments"],
+ "summary": "Get the list of available Workspace tools for the given Environment",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "environmentId",
+ "description": "ID of the Environment",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.environments.api.EnvironmentWorkspaceToolDefinition"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/environments/{environmentId}/page/{page}/pageSize/{pageSize}/revisions": {
+ "get": {
+ "operationId": "getBuiltEnvironmentRevisions",
+ "tags": ["Environments"],
+ "summary": "Get environment revision summaries",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "environmentId",
+ "description": "ID of the Environment",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "path",
+ "name": "page",
+ "description": "page number, indexed from 0",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "path",
+ "name": "pageSize",
+ "description": "page size",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "$ref": "#/components/schemas/domino.environments.api.PaginatedRevisionData"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/controlCenter/utilization/hardwareTiers": {
+ "get": {
+ "operationId": "getHardwareTiers",
+ "tags": ["Control Center"],
+ "summary": "retrieves utilization and cost summary by hardware tier",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "startDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Start of the date range in YYYYMMDD format"
+ },
+ {
+ "in": "query",
+ "name": "endDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "End of the date range in YYYYMMDD format"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.controlcenter.HardwareTiersUtilizationDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/controlCenter/utilization/runs": {
+ "get": {
+ "operationId": "getRuns",
+ "tags": ["Control Center"],
+ "summary": "retrieves run usage and cost details",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "Optional filter by project",
+ "required": false
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "startingUserId",
+ "description": "Optional filter by starting user",
+ "required": false
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "organizationId",
+ "description": "Optional filter by organization id",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "hardwareTierId",
+ "description": "Optional filter by hardware tier",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "startDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Start of the date range in YYYYMMDD format"
+ },
+ {
+ "in": "query",
+ "name": "endDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "End of the date range in YYYYMMDD format"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": { "$ref": "#/components/schemas/RunUtilization" }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/controlCenter/utilization/runsPerDay": {
+ "get": {
+ "operationId": "getRunsPerDay",
+ "tags": ["Control Center"],
+ "summary": "retrieves run usage and cost details per day",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "Optional filter by project",
+ "required": false
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "startingUserId",
+ "description": "Optional filter by starting user",
+ "required": false
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "organizationId",
+ "description": "Optional filter by organization id",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "hardwareTierId",
+ "description": "Optional filter by hardware tier",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "startDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Start of the date range in YYYYMMDD format"
+ },
+ {
+ "in": "query",
+ "name": "endDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "End of the date range in YYYYMMDD format"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": {
+ "runs": {
+ "type": "array",
+ "items": { "$ref": "#/components/schemas/RunUtilization" }
+ },
+ "maxLoadPeriodInMonths": { "type": "number" }
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/controlCenter/utilization/topRunTypesByComputeHours": {
+ "get": {
+ "operationId": "topRunTypesByComputeHours",
+ "tags": ["Control Center"],
+ "summary": "retrieves top run types by compute hours utilized",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "startingUserId",
+ "description": "id of user who started runs in project",
+ "required": false
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "organizationId",
+ "description": "Optional filter by organization id",
+ "required": false
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "id of the project that owns runs examined",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "startDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Start of the date range in YYYYMMDD format"
+ },
+ {
+ "in": "query",
+ "name": "endDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "End of the date range in YYYYMMDD format (inclusive)"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.controlcenter.TopItemDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/controlCenter/utilization/getTopHardwareTiersByEstimatedCost": {
+ "get": {
+ "operationId": "getTopHardwareTiersByEstimatedCost",
+ "tags": ["Control Center"],
+ "summary": "retrieves top hardware tiers by compute spend",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "startingUserId",
+ "description": "id of user who started runs in project",
+ "required": false
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "organizationId",
+ "description": "Optional filter by organization id",
+ "required": false
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "id of the project that owns runs examined",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "startDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Start of the date range in YYYYMMDD format"
+ },
+ {
+ "in": "query",
+ "name": "endDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "End of the date range in YYYYMMDD format (inclusive)"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.controlcenter.TopItemDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/controlCenter/utilization/topProjectsByComputeHours": {
+ "get": {
+ "operationId": "getTopProjectsByComputeHours",
+ "tags": ["Control Center"],
+ "summary": "retrieves top projects by compute hours utilized",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "startingUserId",
+ "description": "id of user who started runs in project",
+ "required": false
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "organizationId",
+ "description": "Optional filter by organization id",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "startDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Start of the date range in YYYYMMDD format"
+ },
+ {
+ "in": "query",
+ "name": "endDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "End of the date range in YYYYMMDD format (inclusive)"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.controlcenter.TopItemDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/controlCenter/utilization/topProjectsByComputeCost": {
+ "get": {
+ "operationId": "getTopProjectsByComputeCost",
+ "tags": ["Control Center"],
+ "summary": "retrieves top projects by compute spend",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "startingUserId",
+ "description": "id of user who started runs in project",
+ "required": false
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "organizationId",
+ "description": "Optional filter by organization id",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "startDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Start of the date range in YYYYMMDD format"
+ },
+ {
+ "in": "query",
+ "name": "endDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "End of the date range in YYYYMMDD format (inclusive)"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.controlcenter.TopItemDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/controlCenter/utilization/topUsersByComputeHours": {
+ "get": {
+ "operationId": "getTopUsersByComputeHours",
+ "tags": ["Control Center"],
+ "summary": "retrieves top users by compute hours utilized",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "startDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Start of the date range in YYYYMMDD format"
+ },
+ {
+ "in": "query",
+ "name": "endDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "End of the date range in YYYYMMDD format (inclusive)"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.controlcenter.TopItemDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/controlCenter/utilization/topUsersByComputeCost": {
+ "get": {
+ "operationId": "getTopUsersByComputeCost",
+ "tags": ["Control Center"],
+ "summary": "retrieves top users by compute spend",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "startDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Start of the date range in YYYYMMDD format"
+ },
+ {
+ "in": "query",
+ "name": "endDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "End of the date range in YYYYMMDD format (inclusive)"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.controlcenter.TopItemDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/controlCenter/utilization/topOrganizationsByComputeHours": {
+ "get": {
+ "operationId": "getTopOrganizationsByComputeHours",
+ "tags": ["Control Center"],
+ "summary": "retrieves top organizations by compute hours utilized",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "startDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Start of the date range in YYYYMMDD format"
+ },
+ {
+ "in": "query",
+ "name": "endDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "End of the date range in YYYYMMDD format (inclusive)"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.controlcenter.TopItemDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/controlCenter/utilization/topOrganizationsByComputeCost": {
+ "get": {
+ "operationId": "getTopOrganizationsByComputeCost",
+ "tags": ["Control Center"],
+ "summary": "retrieves top organizations by compute spend",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "startDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Start of the date range in YYYYMMDD format"
+ },
+ {
+ "in": "query",
+ "name": "endDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "End of the date range in YYYYMMDD format (inclusive)"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.controlcenter.TopItemDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/controlCenter/utilization/statsForAllUsers": {
+ "get": {
+ "operationId": "getStatsForAllUsers",
+ "tags": ["Control Center"],
+ "summary": "retrieves statistics for all users",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "startDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Start of the date range in YYYYMMDD format"
+ },
+ {
+ "in": "query",
+ "name": "endDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "End of the date range in YYYYMMDD format (inclusive)"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.controlcenter.UserStatsDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/controlCenter/utilization/statsForAllOrganizations": {
+ "get": {
+ "operationId": "getStatsForAllOrganizations",
+ "tags": ["Control Center"],
+ "summary": "retrieves statistics for all organizations",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "startDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Start of the date range in YYYYMMDD format"
+ },
+ {
+ "in": "query",
+ "name": "endDate",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "End of the date range in YYYYMMDD format (inclusive)"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.controlcenter.OrganizationStatsDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts": {
+ "post": {
+ "operationId": "createModelProduct",
+ "tags": ["Model Products"],
+ "summary": "creates a new ModelProduct",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ModelProduct"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ModelProduct"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "listProjectModelProducts",
+ "tags": ["Model Products"],
+ "summary": "Retrieves Model Products the current publisher can access",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "projectId",
+ "schema": { "type": "string" }
+ },
+ { "in": "query", "name": "type", "schema": { "type": "string" } }
+ ],
+ "responses": {
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ModelProduct"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/modelProducts/consumer": {
+ "get": {
+ "operationId": "listModelProducts",
+ "tags": ["Model Products"],
+ "summary": "retrieves Model Products the current consumer can access",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "type",
+ "schema": { "type": "string" },
+ "description": "the type of model product"
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ConsumerModelProduct"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/modelProducts/{modelProductId}": {
+ "get": {
+ "operationId": "getModelProduct",
+ "tags": ["Model Products"],
+ "summary": "retrieves a Model Product by id",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelProductId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ModelProduct"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/{modelProductId}/start": {
+ "post": {
+ "operationId": "start",
+ "tags": ["Model Products"],
+ "summary": "starts a runnable ModelProduct",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelProductId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.StartParams"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": { "$ref": "#/components/schemas/DominoId" }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/restartAll": {
+ "post": {
+ "operationId": "restartAll",
+ "tags": ["Model Products"],
+ "summary": "restarts all active apps",
+ "parameters": [],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/{modelProductId}/requestAccess": {
+ "post": {
+ "operationId": "requestAccess",
+ "tags": ["Model Products"],
+ "summary": "requests access to a ModelProduct",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelProductId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": { "$ref": "#/components/schemas/DominoId" }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/{modelProductId}/grantAccess": {
+ "post": {
+ "operationId": "grantAccess",
+ "tags": ["Model Products"],
+ "summary": "grants access to a ModelProduct to a user",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelProductId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.AccessRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": { "$ref": "#/components/schemas/DominoId" }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/{modelProductId}/denyAccess": {
+ "post": {
+ "operationId": "denyAccess",
+ "tags": ["Model Products"],
+ "summary": "denies access to a ModelProduct to a user",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelProductId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.AccessRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": { "$ref": "#/components/schemas/DominoId" }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/{modelProductId}/invite": {
+ "post": {
+ "operationId": "bulkGrantAccess",
+ "tags": ["Model Products"],
+ "summary": "grants access to a ModelProduct to multiple users",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelProductId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.GranteeList"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.EmailInvitationResponse"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/{modelProductId}/uninvite": {
+ "post": {
+ "operationId": "uninvite",
+ "tags": ["Model Products"],
+ "summary": "uninvite a user",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelProductId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.UninviteRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": { "$ref": "#/components/schemas/DominoId" }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/{modelProductId}/visibility": {
+ "post": {
+ "operationId": "updateVisibility",
+ "tags": ["Model Products"],
+ "summary": "sets visibility for a ModelProduct",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelProductId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.VisibilityPatch"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": { "$ref": "#/components/schemas/DominoId" }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/{modelProductId}/stop": {
+ "post": {
+ "operationId": "stop",
+ "tags": ["Model Products"],
+ "summary": "stops a runnable ModelProduct",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "modelProductId",
+ "description": "Domino id of the model product (app)",
+ "required": true
+ },
+ {
+ "schema": { "nullable": true, "type": "boolean" },
+ "in": "query",
+ "name": "force",
+ "description": "Stop an app regardless of its status",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": { "$ref": "#/components/schemas/DominoId" }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/{runId}/view": {
+ "post": {
+ "operationId": "record",
+ "tags": ["Model Products"],
+ "summary": "record a view on a model product",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "runId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.UsageStatisticsRecorded"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ModelProductError"
+ },
+ "500": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ModelProductError"
+ }
+ }
+ }
+ },
+ "/modelProducts/top": {
+ "get": {
+ "operationId": "getTopN",
+ "tags": ["Model Products"],
+ "summary": "list top model product views for a given time range",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "startMillis",
+ "schema": { "format": "int64", "type": "integer" },
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "endMillis",
+ "schema": { "format": "int64", "type": "integer" },
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "count",
+ "schema": { "default": 20, "format": "int32", "type": "integer" },
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.UsageStatisticsTopNResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ModelProductError"
+ },
+ "500": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ModelProductError"
+ }
+ }
+ }
+ },
+ "/modelProducts/{modelProductId}/totals": {
+ "get": {
+ "operationId": "getTotal",
+ "tags": ["Model Products"],
+ "summary": "get count of views on one model product for a given time range",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelProductId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "in": "query",
+ "name": "startMillis",
+ "schema": { "format": "int64", "type": "integer" },
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "endMillis",
+ "schema": { "format": "int64", "type": "integer" },
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.UsageStatisticsTotalResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ModelProductError"
+ },
+ "500": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ModelProductError"
+ }
+ }
+ }
+ },
+ "/modelProducts/{modelProductId}/timeseries": {
+ "get": {
+ "operationId": "getTimeseries",
+ "tags": ["Model Products"],
+ "summary": "get count of views on one model product for a given time range",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelProductId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "in": "query",
+ "name": "startMillis",
+ "schema": { "format": "int64", "type": "integer" },
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "endMillis",
+ "schema": { "format": "int64", "type": "integer" },
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "granularityMillis",
+ "schema": {
+ "default": 3600000,
+ "format": "int64",
+ "type": "integer"
+ },
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.UsageStatisticsTimeseriesResponse"
+ }
+ }
+ }
+ },
+ "401": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ModelProductError"
+ },
+ "500": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ModelProductError"
+ }
+ }
+ }
+ },
+ "/modelProducts/isRunnable": {
+ "get": {
+ "operationId": "isRunnable",
+ "tags": ["Model Products"],
+ "summary": "retrieves whether this project can be run as the model product type",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "required": true
+ },
+ {
+ "schema": {
+ "type": "string",
+ "enum": ["APP", "BATCH", "REPORT", "SCORER"]
+ },
+ "in": "query",
+ "name": "type",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.IsRunnable"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/modelProducts/consumer/{modelProductId}": {
+ "get": {
+ "operationId": "consumerSummary",
+ "tags": ["Model Products"],
+ "summary": "retrieves a Model Product by id",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelProductId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ConsumerModelProduct"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": {
+ "description": "Current user does not have access to this model product but may request it.",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.GrantAccessRequired"
+ }
+ }
+ }
+ },
+ "403": {
+ "description": "Access to this model product is forbidden for the current user",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.LoginRequired"
+ }
+ }
+ }
+ },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/apps/versions/{appVersionId}/logs": {
+ "get": {
+ "operationId": "getAppVersionLogs",
+ "tags": ["Model Products"],
+ "summary": "Get the logs of an App Version",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "appVersionId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "in": "query",
+ "name": "logType",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "console",
+ "stdout",
+ "stderr",
+ "stdoutstderr",
+ "prepareoutput"
+ ],
+ "example": "console | stdout | stderr | stdoutstderr | prepareoutput",
+ "default": "console"
+ },
+ "description": "Types of logs:\n * `console` - This is the default if the value is not provided. All logs lines displayed in the app instance's runtime environment.\n * `stdout` - Log lines displayed in the stdout of the app instance's runtime environment.\n * `stderr` - Log lines displayed in the stderr of the app instance's runtime environment.\n * `stdoutstderr` - Interleaved stdout and stderr.\n * `prepareoutput` - Log lines generated by the environment preparing the app instance.\n"
+ },
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": { "type": "number", "default": 10000 },
+ "description": "Max number of log lines to fetch. Will be overridden by the configuration's limit if this value exceeds the configuration's limit, or if this value is not provided."
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": { "type": "number", "default": 0 },
+ "description": "The index of the current body of logs to start fetching from. 0 by default and typically won't be used for a timestamp-based offset log fetching strategy."
+ },
+ {
+ "in": "query",
+ "name": "latestTimeNano",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "1543538813745986325",
+ "default": "0"
+ },
+ "description": "The epoch time in nanoseconds to start fetching from, such as \"1543538813745986325\". \"0\" by default and will typically be used for a timestamp-based offset log fetching strategy."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Scenarios: \nIf the log retriever got NO logs, then the client should expect\n * an empty `logContent` array\n\nfrom the returned LogSet. \nIf the log retriever was done fetching ALL of the logs, then the client should expect\n * `isComplete = true`\n * `paginationFilter.limit = 0`\n\nfrom the returned LogSet. \nIf the log retriever was NOT done fetching all of the logs, then the client should expect\n * `isComplete = false`\n * `paginationFilter` encoding the next `offset` or `latestTimeNano` of the last log line fetched by the retriever.\n\nfrom the returned LogSet. \n",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.LogSet"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/apps/versions/{appVersionId}/realTimeLogs": {
+ "get": {
+ "operationId": "getRealTimeAppVersionLogs",
+ "tags": ["Model Products"],
+ "summary": "Get the logs of an App Version without going to s3",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "appVersionId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "in": "query",
+ "name": "logType",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "enum": [
+ "console",
+ "stdout",
+ "stderr",
+ "stdoutstderr",
+ "prepareoutput"
+ ],
+ "example": "console | stdout | stderr | stdoutstderr | prepareoutput",
+ "default": "console"
+ },
+ "description": "Types of logs:\n * `console` - This is the default if the value is not provided. All logs lines displayed in the app instance's runtime environment.\n * `stdout` - Log lines displayed in the stdout of the app instance's runtime environment.\n * `stderr` - Log lines displayed in the stderr of the app instance's runtime environment.\n * `stdoutstderr` - Interleaved stdout and stderr.\n * `prepareoutput` - Log lines generated by the environment preparing the app instance.\n"
+ },
+ {
+ "in": "query",
+ "name": "limit",
+ "required": false,
+ "schema": { "type": "number", "default": 10000 },
+ "description": "Max number of log lines to fetch. Will be overridden by the configuration's limit if this value exceeds the configuration's limit, or if this value is not provided."
+ },
+ {
+ "in": "query",
+ "name": "offset",
+ "required": false,
+ "schema": { "type": "number", "default": 0 },
+ "description": "The index of the current body of logs to start fetching from. 0 by default and typically won't be used for a timestamp-based offset log fetching strategy."
+ },
+ {
+ "in": "query",
+ "name": "latestTimeNano",
+ "required": false,
+ "schema": {
+ "type": "string",
+ "example": "1543538813745986325",
+ "default": "0"
+ },
+ "description": "The epoch time in nanoseconds to start fetching from, such as \"1543538813745986325\". \"0\" by default and will typically be used for a timestamp-based offset log fetching strategy."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Scenarios: \nIf the log retriever got NO logs, then the client should expect\n * an empty `logContent` array\n\nfrom the returned LogSet. \nIf the log retriever was done fetching ALL of the logs, then the client should expect\n * `isComplete = true`\n * `paginationFilter.limit = 0`\n\nfrom the returned LogSet. \nIf the log retriever was NOT done fetching all of the logs, then the client should expect\n * `isComplete = false`\n * `paginationFilter` encoding the next `offset` or `latestTimeNano` of the last log line fetched by the retriever.\n\nfrom the returned LogSet. \n",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.LogSet"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/apps/versions/{appVersionId}": {
+ "get": {
+ "operationId": "getAppVersionDetails",
+ "tags": ["Model Products"],
+ "summary": "Get the details of a particular App Version",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "appVersionId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.AppVersionDetails"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/{modelProductId}/versions": {
+ "get": {
+ "operationId": "getAllAppVersions",
+ "tags": ["Model Products"],
+ "summary": "Get all Versions of an App",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelProductId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.AppVersionOverview"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/linkToGoal": {
+ "post": {
+ "operationId": "linkAppToGoal",
+ "tags": ["Model Products"],
+ "summary": "Link a app to a goal",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with information to link app to goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.LinkAppToGoal"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.AppGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelProducts/unlinkFromGoal": {
+ "post": {
+ "operationId": "unlinkAppFromGoal",
+ "tags": ["Model Products"],
+ "summary": "Unlink a app from a goal",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with information to unlink app from goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.UnlinkAppFromGoal"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.AppGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/{snapshotId}": {
+ "post": {
+ "operationId": "updateSnapshotStatus",
+ "tags": ["dataset"],
+ "summary": "update a dataset snapshot's status",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "Id of the dataset snapshot to be updated",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information describing the new status",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.UpdateSnapshotStatusInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetSnapshotDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "getSnapshot",
+ "tags": ["dataset"],
+ "summary": "retrieves the specified snapshot",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "Id of the snapshot",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetSnapshotSummaryDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/{datasetId}/snapshots": {
+ "get": {
+ "operationId": "getSnapshots",
+ "tags": ["dataset"],
+ "summary": "retrieves all snapshots for a dataset",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Id of the collection of datasets",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetSnapshotDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/{datasetId}/versionSummaries": {
+ "get": {
+ "operationId": "getSnapshotSummaries",
+ "tags": ["dataset"],
+ "summary": "retrieves data set summaries of all the data set verisions for a specified data set collection",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Id of the collection of datasets",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetSnapshotSummaryDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/{datasetId}/tags": {
+ "post": {
+ "operationId": "addTag",
+ "tags": ["dataset"],
+ "summary": "adds a tag to a dataset",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Id of the collection of datasets",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for new dataset tag",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.AddDataSetTagInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DatasetViewModel"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/{datasetId}/tags/{tagName}": {
+ "delete": {
+ "operationId": "removeTag",
+ "tags": ["dataset"],
+ "summary": "removes a tag from a dataset by updating the dataset's collection tags map",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Id of the collection of datasets",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "tagName",
+ "description": "Name of the tag to be removed",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DatasetViewModel"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/mountable": {
+ "get": {
+ "operationId": "getMountableDatasets",
+ "tags": ["dataset"],
+ "summary": "gets mountable dataset collections",
+ "parameters": [
+ {
+ "schema": {
+ "nullable": true,
+ "type": "array",
+ "items": { "type": "string" }
+ },
+ "in": "query",
+ "name": "ignoreProjects",
+ "description": "Ids of projects that should have their datasets excluded from being returned",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DatasetViewModel"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections": {
+ "post": {
+ "operationId": "createDataset",
+ "tags": ["dataset"],
+ "summary": "create a new dataset collection",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with information for new dataset collection creation",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.CreateDatasetInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DatasetViewModel"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/byProject": {
+ "get": {
+ "operationId": "lookupDatasetByName",
+ "tags": ["dataset"],
+ "summary": "lookup dataset by project and name",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "projectOwner",
+ "description": "project owner",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "projectName",
+ "description": "project name",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "collectionName",
+ "description": "dataset collection name",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/{datasetId}/snapshot/file": {
+ "post": {
+ "operationId": "uploadSnapshotFile",
+ "tags": ["dataset"],
+ "summary": "Sends file upload chunks",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "resumableChunkNumber",
+ "schema": { "type": "integer" }
+ },
+ {
+ "in": "query",
+ "name": "resumableTotalChunks",
+ "schema": { "type": "integer" }
+ },
+ {
+ "in": "query",
+ "name": "resumableIdentifier",
+ "schema": { "type": "string" }
+ },
+ {
+ "in": "query",
+ "name": "key",
+ "schema": { "type": "string" },
+ "description": "unique identifier for this upload session"
+ },
+ {
+ "in": "query",
+ "name": "resumableRelativePath",
+ "schema": { "type": "string" }
+ },
+ {
+ "in": "query",
+ "name": "resumableChunkSize",
+ "schema": { "type": "integer" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ },
+ "description": "a unique key which identifies this upload session"
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/{datasetId}/snapshot/file/test": {
+ "get": {
+ "operationId": "uploadSnapshotFileTest",
+ "tags": ["dataset"],
+ "summary": "Tests whether or not this chunk has already been sent",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "resumableChunkNumber",
+ "schema": { "type": "integer" }
+ },
+ {
+ "in": "query",
+ "name": "resumableTotalChunks",
+ "schema": { "type": "integer" }
+ },
+ {
+ "in": "query",
+ "name": "resumableIdentifier",
+ "schema": { "type": "string" }
+ },
+ {
+ "in": "query",
+ "name": "resumableRelativePath",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/{datasetId}/snapshot/file/end/{uploadKey}": {
+ "get": {
+ "operationId": "endSnapshotUpload",
+ "tags": ["dataset"],
+ "summary": "Indicates the successful completion of the files upload in the UI",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "uploadKey",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetSnapshotDto",
+ "description": "the new snapshot"
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/{datasetId}/snapshot/file/start": {
+ "get": {
+ "operationId": "startSnapshotUpload",
+ "tags": ["dataset"],
+ "summary": "initializes chunked file uploads for a dataset collection snapshot",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Id of the collection of datasets",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/{datasetId}/snapshot/file/session/{uploadKey}": {
+ "get": {
+ "operationId": "getSnapshotUploadSession",
+ "tags": ["dataset"],
+ "summary": "Tests whether or not an upload session exists",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "required": true
+ },
+ {
+ "in": "path",
+ "name": "uploadKey",
+ "schema": { "type": "string" },
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "resumableChunkNumber",
+ "schema": { "type": "integer" }
+ },
+ {
+ "in": "query",
+ "name": "resumableTotalChunks",
+ "schema": { "type": "integer" }
+ },
+ {
+ "in": "query",
+ "name": "resumableIdentifier",
+ "schema": { "type": "string" }
+ },
+ {
+ "in": "query",
+ "name": "resumableRelativePath",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/{datasetId}/snapshot/file/cancel/{uploadKey}": {
+ "get": {
+ "operationId": "cancelSnapshotUpload",
+ "tags": ["dataset"],
+ "summary": "indicates the cancellation of the chunked file uploads",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Id of the collection of datasets",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "uploadKey",
+ "description": "Unique identifier for upload session",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/{datasetId}": {
+ "post": {
+ "operationId": "updateDataset",
+ "tags": ["dataset"],
+ "summary": "updates a dataset",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Id of the collection of datasets",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for new dataset tag",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.UpdateDatasetInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/{datasetId}/archive": {
+ "delete": {
+ "operationId": "archiveDataset",
+ "tags": ["dataset"],
+ "summary": "archive a dataset",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Id of the collection of datasets",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/{snapshotId}/files/{path}": {
+ "get": {
+ "operationId": "getSnapshotFiles",
+ "tags": ["dataset"],
+ "summary": "retrieves the files in a specified data set at the specified directory",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "snapshot id",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "path",
+ "description": "Directory path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DataSetFileBrowserViewModel"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/{dataSetId}/files": {
+ "get": {
+ "operationId": "getSnapshotFilesAtRoot",
+ "tags": ["dataset"],
+ "summary": "retrieves the files in a specified data set at the root directory",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "dataSetId",
+ "description": "Id of the dataset",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DataSetFileBrowserViewModel"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/{dataSetId}": {
+ "delete": {
+ "operationId": "deleteSnapshot",
+ "tags": ["dataset"],
+ "summary": "deletes the specified data set snapshot",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "dataSetId",
+ "description": "Id of the dataset snapshot",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetSnapshotDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi": {
+ "delete": {
+ "operationId": "deleteMarkedSnapshots",
+ "tags": ["dataset"],
+ "summary": "deletes all marked for deletion snapshots for a dataset",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetSnapshotDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/mounts/{projectId}/imported": {
+ "post": {
+ "operationId": "addImportedProjectMount",
+ "tags": ["dataset"],
+ "summary": "add project mount",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "the project id",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for new dataset tag",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.AddMountInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.MountConfigViewModel"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "getProjectImportedMountSummary",
+ "tags": ["dataset"],
+ "summary": "gets imported project mounts",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "the project id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DatasetProjectMountSummaryViewModel"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/mounts/{projectId}/imported/{mountPath}": {
+ "delete": {
+ "operationId": "deleteProjectMount",
+ "tags": ["dataset"],
+ "summary": "delete project mount",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "the project id",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "mountPath",
+ "description": "the location at which the data set mounts",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DatasetProjectMountSummaryViewModel"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/mounts/{projectId}/local": {
+ "get": {
+ "operationId": "getProjectLocalMounts",
+ "tags": ["dataset"],
+ "summary": "gets local project mounts",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "the project id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DatasetProjectMountSummaryViewModel"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/run/{collectionId}": {
+ "post": {
+ "operationId": "createSnapshotWithRun",
+ "tags": ["dataset"],
+ "summary": "starts a run to create a new dataset",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "collectionId",
+ "description": "the collectionId id",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for run",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.CreateSnapshotWithRunInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DataSetRun"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/workspace/{collectionId}": {
+ "post": {
+ "operationId": "createSnapshotWithWorkspace",
+ "tags": ["dataset"],
+ "summary": "launches a workspace to create a new dataset",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "collectionId",
+ "description": "the collectionId id",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for run",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.CreateSnapshotWithWorkspaceInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DatasetWorkspace"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/configs/advanced/{projectId}": {
+ "get": {
+ "operationId": "getAdvancedDatasetConfigYamls",
+ "tags": ["Datasets"],
+ "summary": "get advanced data set configs yaml files and names available to the current user",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "DominoId of the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.AdvancedDatasetConfigurationViewModels"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/limits/{projectId}": {
+ "post": {
+ "operationId": "setLimitOverride",
+ "tags": ["dataset"],
+ "summary": "add or update a dataset limit override for a project",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project to override dataset limits for",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information describing the override",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.SetLimitOverrideInput"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetSnapshotDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/consumption/snapshot/{snapshotId}": {
+ "get": {
+ "operationId": "getMostRecentConsumedSnapshotResource",
+ "tags": ["dataset"],
+ "summary": "retrieve the most recent consumption information for a snapshot",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "Id of the snapshot to get consumption data for",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.dataset.api.ConsumedSnapshotDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/collections/{datasetId}/project/{projectId}/snapshot": {
+ "post": {
+ "operationId": "createSnapshotFromScratchSpace",
+ "tags": ["dataset"],
+ "summary": "Promotes a scratch space into a dataset snapshot",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetSnapshotDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/project/{projectId}/scratchSpace": {
+ "get": {
+ "operationId": "getScratchSpaceOrDefault",
+ "tags": ["dataset"],
+ "summary": "Promotes a scratch space into a dataset snapshot",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetScratchSpaceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/scratchspace/{projectId}/files/{path}": {
+ "get": {
+ "operationId": "getScratchSpaceFiles",
+ "tags": ["dataset"],
+ "summary": "Gets files in a subdirectory of a project's scratch space",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "path",
+ "description": "Directory path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DataSetFileBrowserRow"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/scratchspace/{projectId}/files": {
+ "get": {
+ "operationId": "getScratchSpaceFilesAtRoot",
+ "tags": ["dataset"],
+ "summary": "Gets files in a subdirectory of a project's scratch space",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DataSetFileBrowserRow"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/scratchSpace/{scratchSpaceId}": {
+ "delete": {
+ "operationId": "deleteScratchSpace",
+ "tags": ["dataset"],
+ "summary": "Deletes a scratch space",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "scratchSpaceId",
+ "description": "Id of the scratch space",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetScratchSpaceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetUi/project/{projectId}/canAddDataset": {
+ "get": {
+ "operationId": "canAddDataset",
+ "tags": ["dataset"],
+ "summary": "Determine if a dataset can be added to a project",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project identifier",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "boolean" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/{projectId}/shared/{datasetId}": {
+ "post": {
+ "operationId": "addSharedDatasetRwEntry",
+ "tags": ["DatasetRw"],
+ "summary": "Add shared dataset to project",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project ID",
+ "required": true
+ },
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.SharedDatasetRwEntryDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "removeSharedDatasetRwEntry",
+ "tags": ["DatasetRw"],
+ "summary": "Removes shared dataset from project",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project ID",
+ "required": true
+ },
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.SharedDatasetRwEntryDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/dataset/{datasetId}/tag": {
+ "post": {
+ "operationId": "addTag",
+ "tags": ["DatasetRw"],
+ "summary": "Add tag to Snapshot",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset ID",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "Snapshot ID and tag name",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.web.AddTagRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwViewDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/filetask/callback": {
+ "post": {
+ "operationId": "callbackFromFiletask",
+ "tags": ["DatasetRw"],
+ "summary": "Filetask callback with task status change",
+ "parameters": [],
+ "requestBody": {
+ "description": "filetask update details",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.web.FiletaskUpdateRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "String" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/canAddDataset/{projectId}": {
+ "get": {
+ "operationId": "canAddDataset",
+ "tags": ["DatasetRw"],
+ "summary": "Determines if dataset can be added to project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "boolean" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/dataset/{datasetId}/cancel-request-to-copy": {
+ "delete": {
+ "operationId": "cancelRequestToCopyDataset",
+ "tags": ["DatasetRw"],
+ "summary": "Cancel Request to Copy Dataset",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot/{snapshotId}/cancel-request-to-copy": {
+ "delete": {
+ "operationId": "cancelRequestToCopySnapshot",
+ "tags": ["DatasetRw"],
+ "summary": "Cancel Request to Copy Snapshot",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "Snapshot ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/dataset/{datasetId}/cancel-request-to-delete": {
+ "delete": {
+ "operationId": "cancelRequestToDeleteDataset",
+ "tags": ["DatasetRw"],
+ "summary": "Cancel Request to Delete Dataset",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot/{snapshotId}/cancel-request-to-delete": {
+ "delete": {
+ "operationId": "cancelRequestToDeleteSnapshot",
+ "tags": ["DatasetRw"],
+ "summary": "Cancel Request to Delete Snapshot",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "Snapshot ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/datasets/{datasetId}/snapshot/file/cancel/{uploadKey}": {
+ "get": {
+ "operationId": "cancelSnapshotUpload",
+ "tags": ["DatasetRw"],
+ "summary": "Indicates the cancellation of the chunked file uploads",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Id of the collection of datasets",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "uploadKey",
+ "description": "Unique identifier for upload session",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw": {
+ "post": {
+ "operationId": "createDataset",
+ "tags": ["DatasetRw"],
+ "summary": "Create dataset",
+ "parameters": [],
+ "requestBody": {
+ "description": "dataset spec to persist",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.web.CreateDatasetRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwViewDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/dataset/{snapshotId}/create": {
+ "post": {
+ "operationId": "createDatasetFromSnapshot",
+ "tags": ["DatasetRw"],
+ "summary": "Create dataset from snapshot",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "snapshot ID to create dataset from",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "name",
+ "description": "name of dataset",
+ "required": true
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "description",
+ "description": "description of dataset",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwViewDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot": {
+ "post": {
+ "operationId": "createSnapshot",
+ "tags": ["DatasetRw"],
+ "summary": "Create snapshot",
+ "parameters": [],
+ "requestBody": {
+ "description": "dataset snapshot spec to persist",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.web.CreateSnapshotRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/marked-datasets": {
+ "delete": {
+ "operationId": "deleteMarkedDatasets",
+ "tags": ["DatasetRw"],
+ "summary": "Delete Marked Datasets",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/dataset/{datasetId}": {
+ "delete": {
+ "operationId": "deleteDataset",
+ "tags": ["DatasetRw"],
+ "summary": "Delete Dataset",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "put": {
+ "operationId": "updateDataset",
+ "tags": ["DatasetRw"],
+ "summary": "Update Dataset metadata",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset ID",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "Fields to update",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.web.UpdateDatasetRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot/{snapshotId}/files": {
+ "delete": {
+ "operationId": "deleteFiles",
+ "tags": ["DatasetRw"],
+ "summary": "Deletes files from snapshot",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "Snapshot ID",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information describing the new status",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.web.FilesToDeleteRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/marked-snapshots": {
+ "delete": {
+ "operationId": "deleteMarkedSnapshots",
+ "tags": ["DatasetRw"],
+ "summary": "Delete Marked Snapshots",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot/{snapshotId}": {
+ "get": {
+ "operationId": "getSnapshot",
+ "tags": ["DatasetRw"],
+ "summary": "Retrieves the specified snapshot",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "Id of the snapshot",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotSummaryDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "deleteSnapshot",
+ "tags": ["DatasetRw"],
+ "summary": "Delete Snapshot",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "Snapshot ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "put": {
+ "operationId": "updateSnapshotStatus",
+ "tags": ["DatasetRw"],
+ "summary": "Update a dataset snapshot's status",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "Id of the dataset snapshot to be updated",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information describing the new status",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.web.UpdateSnapshotStatusRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/datasets/{datasetId}/snapshot/file/end/{uploadKey}": {
+ "get": {
+ "operationId": "endSnapshotUpload",
+ "tags": ["DatasetRw"],
+ "summary": "Indicates the successful completion of the files upload in the UI",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "uploadKey",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "the source path of the file tree was traversed to upload files",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot/active/number": {
+ "get": {
+ "operationId": "getActiveSnapshotByNumber",
+ "tags": ["DatasetRw"],
+ "summary": "Get active snapshot by snapshot number",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "datasetId",
+ "description": "Dataset Id",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "snapshotNumber",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot/{snapshotId}/copy-estimate": {
+ "get": {
+ "operationId": "getCopyEstimate",
+ "tags": ["DatasetRw"],
+ "summary": "Get time estimate of copy task",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "Snapshot Id",
+ "required": true
+ },
+ {
+ "schema": { "type": "array", "items": { "type": "string" } },
+ "in": "query",
+ "name": "relativeFilePaths",
+ "description": "the file names/folder names that are selected to be copied",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwCopyTimeEstimateDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot/{snapshotId}/copy-progress": {
+ "get": {
+ "operationId": "getCopyProgress",
+ "tags": ["DatasetRw"],
+ "summary": "Get progress of copy task",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "Snapshot Id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwFiletaskCopyUpdateDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/datasets/{datasetId}": {
+ "get": {
+ "operationId": "getDataset",
+ "tags": ["DatasetRw"],
+ "summary": "Lookup dataset by id",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset Id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/datasets/name/{datasetName}": {
+ "get": {
+ "operationId": "getActiveDatasetByName",
+ "tags": ["DatasetRw"],
+ "summary": "Lookup dataset by project and name",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "projectOwner",
+ "description": "project owner",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "projectName",
+ "description": "project name",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "datasetName",
+ "description": "dataset name",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwDetailsDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/datasets/fromRun/{runId}": {
+ "get": {
+ "operationId": "getDatasetDetailsByRun",
+ "tags": ["DatasetRw"],
+ "summary": "Retrieve datasets from run",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "project Id",
+ "required": true
+ },
+ {
+ "in": "path",
+ "name": "runId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/datasets": {
+ "get": {
+ "operationId": "getDatasets",
+ "tags": ["DatasetRw"],
+ "summary": "Get Datasets",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "query",
+ "name": "projectId",
+ "description": "Project ID filter",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/datasets/summary/all": {
+ "get": {
+ "operationId": "getDatasetSummaries",
+ "tags": ["DatasetRw"],
+ "summary": "Get dataset summaries",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSummaryDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/mountable-datasets": {
+ "get": {
+ "operationId": "getMountableDatasets",
+ "tags": ["DatasetRw"],
+ "summary": "Gets mountable dataset collections",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "project ID",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "type": "array",
+ "items": { "type": "string" }
+ },
+ "in": "query",
+ "name": "ignoreProjects",
+ "description": "Ids of projects that should have their datasets excluded from being returned",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwViewDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshots/{datasetId}": {
+ "get": {
+ "operationId": "getSnapshots",
+ "tags": ["DatasetRw"],
+ "summary": "Get snapshots in dataset",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot/size/{snapshotId}": {
+ "get": {
+ "operationId": "getSnapshotSize",
+ "tags": ["DatasetRw"],
+ "summary": "Updates and retrieves the size of the snapshot",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "Id of the snapshot",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "number" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshots/summary/{datasetId}": {
+ "get": {
+ "operationId": "getSnapshotSummaries",
+ "tags": ["DatasetRw"],
+ "summary": "Get snapshot summaries",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotSummaryDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot/admin/summary": {
+ "get": {
+ "operationId": "getSnapshotAdminSummaries",
+ "tags": ["DatasetRw"],
+ "summary": "Get snapshot admin summaries",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotAdminSummaryDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshots/project/{projectId}": {
+ "get": {
+ "operationId": "getSnapshotsByProject",
+ "tags": ["DatasetRw"],
+ "summary": "Get all snapshots by project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/run/{runId}": {
+ "get": {
+ "operationId": "getSnapshotUsageByRun",
+ "tags": ["DatasetRw"],
+ "summary": "Get snapshots used by run",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "projectId",
+ "description": "project ID",
+ "required": true
+ },
+ {
+ "in": "path",
+ "name": "runId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/files/{snapshotId}": {
+ "get": {
+ "operationId": "getFilesInSnapshot",
+ "tags": ["DatasetRw"],
+ "summary": "Get snapshot files at specified path",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "snapshot ID",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "path",
+ "description": "subPath to get files at",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotFilesViewDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot/upload/{uploadKey}": {
+ "get": {
+ "operationId": "getSnapshotUploadSession",
+ "tags": ["DatasetRw"],
+ "summary": "Get snapshot upload session",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwUploadSessionDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "uploadKey",
+ "schema": { "type": "string" },
+ "required": true
+ }
+ ]
+ }
+ },
+ "/datasetrw/mounts/{projectId}/shared": {
+ "get": {
+ "operationId": "getSharedDatasetProjectMounts",
+ "tags": ["DatasetRw"],
+ "summary": "Get shared mounts in a project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwProjectMountDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/mounts/{projectId}/local": {
+ "get": {
+ "operationId": "getLocalDatasetProjectMounts",
+ "tags": ["DatasetRw"],
+ "summary": "Get local mounts in a project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwProjectMountDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/dataset/snapshot/limit": {
+ "get": {
+ "operationId": "getMaxNumberOfSnapshotsPerDataset",
+ "tags": ["DatasetRw"],
+ "summary": "Get max number of snapshots per dataset",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "integer" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/datasets/{datasetId}/snapshot/active-readonly-count": {
+ "get": {
+ "operationId": "getNumberOfActiveReadOnlySnapshots",
+ "tags": ["DatasetRw"],
+ "summary": "Get number of active snapshots",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "integer" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/dataset/{datasetId}/can-cancel-delete": {
+ "get": {
+ "operationId": "isAllowedToCancelDeleteDataset",
+ "tags": ["DatasetRw"],
+ "summary": "Determines if request to delete a dataset can be cancelled",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "boolean" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot/{snapshotId}/can-cancel-delete": {
+ "get": {
+ "operationId": "isAllowedToCancelDeleteSnapshot",
+ "tags": ["DatasetRw"],
+ "summary": "Determines if request to delete a snapshot can be cancelled",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "snapshotId",
+ "description": "Snapshot ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "boolean" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/principal/{projectId}/manage": {
+ "get": {
+ "operationId": "isAllowedToManageDatasetRw",
+ "tags": ["DatasetRw"],
+ "summary": "Determines if principal is authorized to manage dataset rw",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "boolean" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot/file/test": {
+ "get": {
+ "operationId": "isChunkAvailable",
+ "tags": ["DatasetRw"],
+ "summary": "Returns whether or not this chunk has already been sent",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "datasetId",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "resumableChunkNumber",
+ "schema": { "type": "integer" }
+ },
+ {
+ "in": "query",
+ "name": "resumableTotalChunks",
+ "schema": { "type": "integer" }
+ },
+ {
+ "in": "query",
+ "name": "resumableIdentifier",
+ "schema": { "type": "string" }
+ },
+ {
+ "in": "query",
+ "name": "resumableRelativePath",
+ "schema": { "type": "string" }
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/dataset/limit/{projectId}": {
+ "get": {
+ "operationId": "isOverDatasetLimit",
+ "tags": ["DatasetRw"],
+ "summary": "Determines if dataset limit per project has been surpassed",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "boolean" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/snapshot/limit/{projectId}/{datasetId}": {
+ "get": {
+ "operationId": "isAtSnapshotLimit",
+ "tags": ["DatasetRw"],
+ "summary": "Determines if snapshot limit per dataset has been surpassed",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project ID",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "boolean" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/dataset/{datasetId}/tag/{tagName}": {
+ "delete": {
+ "operationId": "removeTag",
+ "tags": ["DatasetRw"],
+ "summary": "Remove a tag from Snapshot",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset ID",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "tagName",
+ "description": "Name of tag",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwViewDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/datasets/limit/{projectId}": {
+ "post": {
+ "operationId": "setLimitOverride",
+ "tags": ["DatasetRw"],
+ "summary": "Set project-level dataset limit override",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Id of the project",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "ignoreLimit",
+ "schema": { "type": "boolean" },
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "ignoreLimits",
+ "schema": { "type": "boolean" },
+ "description": "boolean for ignore limit option"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/datasets/{datasetId}/snapshot/file/start": {
+ "post": {
+ "operationId": "startSnapshotUpload",
+ "tags": ["DatasetRw"],
+ "summary": "Initializes chunked file uploads for a dataset collection snapshot",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Id of the collection of datasets",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.web.FileCollisionRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/dataset/{datasetId}/status": {
+ "put": {
+ "operationId": "updateDatasetStatus",
+ "tags": ["DatasetRw"],
+ "summary": "Update a dataset's status",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "description": "Dataset Id",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information describing the new status",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.web.UpdateDatasetStatusRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasetrw/datasets/{datasetId}/snapshot/file": {
+ "post": {
+ "operationId": "uploadSnapshotFile",
+ "tags": ["DatasetRw"],
+ "summary": "Sends file upload chunks",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datasetId",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "resumableChunkNumber",
+ "schema": { "type": "integer" }
+ },
+ {
+ "in": "query",
+ "name": "resumableTotalChunks",
+ "schema": { "type": "integer" }
+ },
+ {
+ "in": "query",
+ "name": "resumableIdentifier",
+ "schema": { "type": "string" }
+ },
+ {
+ "in": "query",
+ "name": "key",
+ "schema": { "type": "string" },
+ "description": "unique identifier for this upload session"
+ },
+ {
+ "in": "query",
+ "name": "resumableRelativePath",
+ "schema": { "type": "string" }
+ },
+ {
+ "in": "query",
+ "name": "resumableChunkSize",
+ "schema": { "type": "integer" }
+ },
+ {
+ "in": "query",
+ "name": "resumableCurrentChunkSize",
+ "schema": { "type": "array", "items": { "type": "string" } }
+ }
+ ],
+ "responses": {
+ "200": {
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ },
+ "description": "a unique key which identifies this upload session"
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datamount": {
+ "post": {
+ "operationId": "registerDataMount",
+ "tags": ["DataMount"],
+ "summary": "Register data mount",
+ "parameters": [],
+ "requestBody": {
+ "description": "data mount spec to persist",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datamount.web.CreateDataMountRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datamount/isMountPathValid": {
+ "get": {
+ "operationId": "isMountPathValid",
+ "tags": ["DataMount"],
+ "summary": "Determine if mount path contains unique and non reserved words",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "mountPath",
+ "description": "mount path",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "boolean" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datamount/status": {
+ "post": {
+ "operationId": "checkAndUpdateDataMountStatus",
+ "tags": ["DataMount"],
+ "summary": "Check and update external data volume status",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datamount.web.UpdateDataMountStatusRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "408": { "$ref": "#/components/responses/Timeout" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datamount/all": {
+ "get": {
+ "operationId": "getAllRegisteredDataMounts",
+ "tags": ["DataMount"],
+ "summary": "Get all registered datamounts",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datamount/pvcs/names": {
+ "post": {
+ "operationId": "findDataMountsByPvcNames",
+ "tags": ["DataMount"],
+ "summary": "Find data mounts by pvc names",
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datamount.web.FindByPvcNamesRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datamount/{datamountId}": {
+ "post": {
+ "operationId": "updateDataMount",
+ "tags": ["DataMount"],
+ "summary": "Update data mount",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datamountId",
+ "description": "registered data mount id",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datamount.web.UpdateDataMountRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "getDataMount",
+ "tags": ["DataMount"],
+ "summary": "Get data mount",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datamountId",
+ "description": "registered data mount id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "unregisterDataMount",
+ "tags": ["DataMount"],
+ "summary": "Unregister data mount",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "datamountId",
+ "description": "data mount id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datamount/projects/{projectId}": {
+ "post": {
+ "operationId": "addProject",
+ "tags": ["DataMount"],
+ "summary": "Add project to data mounts",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project id to add to data mounts",
+ "required": true
+ },
+ {
+ "schema": {
+ "type": "array",
+ "items": { "pattern": "^[0-9a-f]{24}$", "type": "string" }
+ },
+ "in": "query",
+ "name": "datamountIds",
+ "description": "data mount id's to add to the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "findDataMountsByProject",
+ "tags": ["DataMount"],
+ "summary": "Find data mounts by project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "removeProject",
+ "tags": ["DataMount"],
+ "summary": "Remove project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project id to remove from data mount",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "datamountId",
+ "description": "data mount id from which to remove the project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datamount/users/{userId}": {
+ "get": {
+ "operationId": "findDataMountsByUser",
+ "tags": ["DataMount"],
+ "summary": "Find data mounts by user",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "userId",
+ "description": "user id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datamount/projects/inaccessible/{projectId}": {
+ "get": {
+ "operationId": "getInaccessibleDataMountsByUser",
+ "tags": ["DataMount"],
+ "summary": "Find inaccessible data mounts to user for given project",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datamount/paths/{projectId}": {
+ "get": {
+ "operationId": "getRootPathForProject",
+ "tags": ["DataMount"],
+ "summary": "Get data mount root path",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "project id for the datamount",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datamount/pvcs/all": {
+ "get": {
+ "operationId": "getAllPvcsByType",
+ "tags": ["DataMount"],
+ "summary": "Get all pvcs information as wrapped in dummy datamount dtos",
+ "parameters": [
+ {
+ "schema": { "type": "string", "enum": ["Nfs", "Smb", "Efs"] },
+ "in": "query",
+ "name": "volumeType",
+ "description": "flag to specify volumeType",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datamount/pvcs/available": {
+ "get": {
+ "operationId": "getAvailablePvcsByType",
+ "tags": ["DataMount"],
+ "summary": "Get available pvcs information as wrapped in dummy datamount dtos",
+ "parameters": [
+ {
+ "schema": { "type": "string", "enum": ["Nfs", "Smb", "Efs"] },
+ "in": "query",
+ "name": "volumeType",
+ "description": "flag to specify volumeType",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datamount.api.DataMountDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource": {
+ "post": {
+ "operationId": "create",
+ "tags": ["DataSource"],
+ "summary": "Create data source",
+ "parameters": [],
+ "requestBody": {
+ "description": "data source spec to persist",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.web.CreateDataSourceRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/{dataSourceId}/users": {
+ "post": {
+ "operationId": "addUsers",
+ "tags": ["DataSource"],
+ "summary": "Add users to data source",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "Data source Id",
+ "required": true
+ },
+ {
+ "schema": {
+ "type": "array",
+ "items": { "pattern": "^[0-9a-f]{24}$", "type": "string" }
+ },
+ "in": "query",
+ "name": "userIds",
+ "description": "the ids of the users to be added",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "removeUsers",
+ "tags": ["DataSource"],
+ "summary": "Remove users from data source",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "Data source Id",
+ "required": true
+ },
+ {
+ "schema": {
+ "type": "array",
+ "items": { "pattern": "^[0-9a-f]{24}$", "type": "string" }
+ },
+ "in": "query",
+ "name": "userIds",
+ "description": "the ids of the users to be removed",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/{dataSourceId}/projects/{projectId}": {
+ "post": {
+ "operationId": "addProject",
+ "tags": ["DataSource"],
+ "summary": "Add project to data source",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "Data source Id",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project Id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "removeProject",
+ "tags": ["DataSource"],
+ "summary": "Remove project from data source",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "Data source Id",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project Id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/name/check/{name}": {
+ "get": {
+ "operationId": "checkValidDataSourceName",
+ "tags": ["DataSource"],
+ "summary": "Check whether name is valid and unique",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "name",
+ "description": "string",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/{dataSourceId}": {
+ "get": {
+ "operationId": "getDataSource",
+ "tags": ["DataSource"],
+ "summary": "Get data source",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "Data source ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "delete": {
+ "operationId": "deleteDataSource",
+ "tags": ["DataSource"],
+ "summary": "Delete data source",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "Data source ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/projects/{projectId}": {
+ "get": {
+ "operationId": "getDataSourcesByProject",
+ "tags": ["DataSource"],
+ "summary": "Get data sources by project",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/name/{name}": {
+ "get": {
+ "operationId": "getDataSourceByName",
+ "tags": ["DataSource"],
+ "summary": "Get data source by name",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "name",
+ "description": "string",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/user/{userId}": {
+ "get": {
+ "operationId": "getDataSourcesByUser",
+ "tags": ["DataSource"],
+ "summary": "Get data sources by user",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "userId",
+ "description": "User ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/dataSources/all": {
+ "get": {
+ "operationId": "getAllDataSources",
+ "tags": ["DataSource"],
+ "summary": "Get all active data sources",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/{dataSourceId}/config": {
+ "get": {
+ "operationId": "getDataSourceConfig",
+ "tags": ["DataSource"],
+ "summary": "Get data source config",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "Data source Id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceConfigDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "put": {
+ "operationId": "updateDataSourceConfig",
+ "tags": ["DataSource"],
+ "summary": "Update data source config",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "active dataSource id",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "updated data source spec with config info to persist",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.web.UpdateDataSourceConfigRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/{dataSourceId}/credential": {
+ "get": {
+ "operationId": "getVisibleCredentials",
+ "tags": ["DataSource"],
+ "summary": "Get visible credentials",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "Data source Id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/config/all": {
+ "get": {
+ "operationId": "getDataSourceConfigs",
+ "tags": ["DataSource"],
+ "summary": "Get config metadata for all data source types",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceTypeConfigMetadataDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/{dataSourceId}/config/proxy": {
+ "get": {
+ "operationId": "getDataSourceConfigForProxy",
+ "tags": ["DataSource"],
+ "summary": "Get data source config object for proxy service",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "Data source ID as string",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceProxyConfigDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/{dataSourceId}/authentication-status": {
+ "get": {
+ "operationId": "getAuthenticationStatus",
+ "tags": ["DataSource"],
+ "summary": "Get authentication status for data source",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "Data source ID",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "boolean" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/connection/string": {
+ "get": {
+ "operationId": "getConnectionSnippet",
+ "tags": ["DataSource"],
+ "summary": "Get code snippet/connection string",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "dataSourceName",
+ "description": "The name of the data source",
+ "required": true
+ },
+ {
+ "schema": { "type": "string", "enum": ["Python"] },
+ "in": "query",
+ "name": "dataSourceLanguage",
+ "description": "The language of the desired snippet",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/connection": {
+ "post": {
+ "operationId": "checkDataSourceConnection",
+ "tags": ["DataSource"],
+ "summary": "Check for valid authenticated connection to data source",
+ "parameters": [],
+ "requestBody": {
+ "description": "data source spec to check for connection",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.web.CheckDataSourceConnectionRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "boolean" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/project/{projectId}/notification": {
+ "get": {
+ "operationId": "shouldNotificationBubbleAppear",
+ "tags": ["DataSource"],
+ "summary": "Get whether notification bubble in workspace pane appears (new datasources added to project in last week)",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project Id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "boolean" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/{dataSourceId}/transfer/{newOwner}": {
+ "post": {
+ "operationId": "transferOwnership",
+ "tags": ["DataSource"],
+ "summary": "Transfer data source ownership",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "Data source Id",
+ "required": true
+ },
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "newOwner",
+ "description": "new owner Id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/{dataSourceId}/metadata": {
+ "put": {
+ "operationId": "updateDataSourceMetadata",
+ "tags": ["DataSource"],
+ "summary": "Update data source metadata",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "active dataSource id",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "updated data source metadata spec to persist",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.web.UpdateDataSourceMetadataRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/{dataSourceId}/credentials": {
+ "put": {
+ "operationId": "updateDataSourceCredentials",
+ "tags": ["DataSource"],
+ "summary": "Add/update data source credentials",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "active dataSource id",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "added data source credentials to persist",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.web.UpdateDataSourceCredentialRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.credential.api.VisibleDataSourceCredentialDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/datasource/{dataSourceId}/lastUsed": {
+ "put": {
+ "operationId": "updateLastUpdatedInfo",
+ "tags": ["DataSource"],
+ "summary": "Update last updated info - when data source was last used in run",
+ "parameters": [
+ {
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "in": "path",
+ "name": "dataSourceId",
+ "description": "Data source Id",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/credential": {
+ "post": {
+ "operationId": "create",
+ "tags": ["DataSourceCredential"],
+ "summary": "Create data source credential",
+ "parameters": [],
+ "requestBody": {
+ "description": "data source credential to persist",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.credential.web.CreateRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.credential.api.VisibleDataSourceCredentialDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/credential/visible": {
+ "get": {
+ "operationId": "getVisibleCredentials",
+ "tags": ["DataSourceCredential"],
+ "summary": "Get all visible credentials that match filter",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "dataSourceId",
+ "description": "registered data source id",
+ "required": false
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "userId",
+ "description": "id of owner or user credential has been shared with",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "type": "string",
+ "enum": ["Individual", "Shared"]
+ },
+ "in": "query",
+ "name": "credentialType",
+ "description": "credential type",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.credential.api.VisibleDataSourceCredentialDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/credential/full": {
+ "get": {
+ "operationId": "getFullCredentials",
+ "tags": ["DataSourceCredential"],
+ "summary": "Get all credentials that match filter",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "dataSourceId",
+ "description": "registered data source id",
+ "required": false
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "userId",
+ "description": "id of owner or user credential has been shared with",
+ "required": false
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "type": "string",
+ "enum": ["Individual", "Shared"]
+ },
+ "in": "query",
+ "name": "credentialType",
+ "description": "credential type",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.credential.api.FullDataSourceCredentialDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/credential/access/{id}": {
+ "post": {
+ "operationId": "updateAccess",
+ "tags": ["DataSourceCredential"],
+ "summary": "Update access of data source credential",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "id",
+ "description": "registered data source credential id",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.credential.web.UpdateAccessRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.credential.api.VisibleDataSourceCredentialDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/credential/credential/{id}": {
+ "post": {
+ "operationId": "updateCredential",
+ "tags": ["DataSourceCredential"],
+ "summary": "Update credentials used to access data source",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "id",
+ "description": "registered data source credential id",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.credential.web.UpdateCredentialRequest"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.credential.api.VisibleDataSourceCredentialDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/credential/{id}": {
+ "delete": {
+ "operationId": "deleteCredential",
+ "tags": ["DataSourceCredential"],
+ "summary": "Delete data source credential",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "id",
+ "description": "data source credential id to be deleted",
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.credential.api.VisibleDataSourceCredentialDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/tags": {
+ "get": {
+ "operationId": "list",
+ "tags": ["Tags"],
+ "summary": "Retrieves Tags",
+ "parameters": [
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "query",
+ "description": "Optional filter for a tag by name",
+ "required": false
+ }
+ ],
+ "responses": {
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectTagDTO"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/frontend/snippets": {
+ "get": {
+ "operationId": "list",
+ "tags": ["Frontend"],
+ "summary": "Retrieves snippets for the frontend",
+ "parameters": [],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": { "type": "array", "items": { "type": "string" } }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/modelManager/{modelVersionId}/logs": {
+ "get": {
+ "operationId": "downloadLogs",
+ "tags": ["Model Manager"],
+ "summary": "download logs for a model for a given time range",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelVersionId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "in": "query",
+ "name": "startMillis",
+ "schema": { "format": "int64", "type": "integer" },
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "endMillis",
+ "schema": { "format": "int64", "type": "integer" },
+ "required": true
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/x-ndjson": {
+ "schema": { "type": "string", "format": "binary" }
+ }
+ }
+ },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelManager/recordInvocation": {
+ "post": {
+ "operationId": "recordInvocation",
+ "tags": ["ModelManager"],
+ "summary": "Record invocation",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "description": "invocation recording request",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.modelmanager.web.RecordInvocation"
+ }
+ }
+ }
+ },
+ "responses": { "200": { "description": "success" } }
+ }
+ },
+ "/modelManager/{modelVersionId}/getTimeSeries": {
+ "get": {
+ "operationId": "getTimeSeriesForModelApiInvocations",
+ "tags": ["ModelManager"],
+ "summary": "Get timeseries of data for model invocation",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelVersionId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ {
+ "in": "query",
+ "name": "startTime",
+ "schema": { "type": "number" },
+ "required": true,
+ "description": "start time to get the timeseries"
+ },
+ {
+ "in": "query",
+ "name": "endTime",
+ "schema": { "type": "number" },
+ "required": true,
+ "description": "end time to get the timeseries"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.modelmanager.api.ModelApiAggregatedUsageStatistics"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelManager/{modelVersionId}/getLast24HoursInvocationCounts": {
+ "get": {
+ "operationId": "getLast24HoursInvocationCount",
+ "tags": ["ModelManager"],
+ "summary": "Get last 24 hour invocation counts for model apis",
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.modelmanager.api.ModelApiLast24HourInvocationCount"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ },
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelVersionId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ]
+ }
+ },
+ "/modelManager/{modelVersionId}/linkModeltoGoal": {
+ "post": {
+ "operationId": "linkModelToGoal",
+ "tags": ["ModelManager"],
+ "summary": "Link model to a goal",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "modelVersionId",
+ "description": "Domino id of the model version",
+ "required": true
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for linking model to a goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.modelmanager.web.LinkmodelToGoal"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.modelmanager.api.ModelGoal"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/modelManager/{modelVersionId}/unlinkModelFromGoal": {
+ "post": {
+ "operationId": "unlinkModelFromGoal",
+ "tags": ["ModelManager"],
+ "summary": "Unlink model to a goal",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "modelVersionId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with information for unlinking model to a goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.modelmanager.web.UnlinkmodelFromGoal"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.modelmanager.api.ModelGoal"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/runs/recent": {
+ "get": {
+ "operationId": "listRecentRuns",
+ "tags": ["Runs"],
+ "summary": "retrieves list of active and recently completed runs",
+ "parameters": [],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.common.run.interfaces.RunMonolithDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/runs": {
+ "post": {
+ "operationId": "v4Start",
+ "tags": ["Runs"],
+ "summary": "Starts a new Run",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.run.interfaces.NewRunDTO"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.run.interfaces.RunDTO"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/scheduledruns": {
+ "get": {
+ "operationId": "listScheduledRuns",
+ "tags": ["Scheduled Runs"],
+ "summary": "retrieves list of scheduled run definitions for a given user id",
+ "parameters": [
+ { "in": "query", "name": "userId", "schema": { "type": "string" } }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.scheduledrun.api.LegacyScheduledRunDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/executions/{executionId}/events": {
+ "get": {
+ "operationId": "getExecutionEvents",
+ "tags": ["Execution Events"],
+ "summary": "Retrieves a list of execution events for a given execution id",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "executionId",
+ "description": "Execution Id",
+ "required": true
+ },
+ {
+ "schema": { "nullable": true, "format": "int32", "type": "number" },
+ "in": "query",
+ "name": "pageSize",
+ "description": "Number of events to fetch",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "format": "int32", "type": "number" },
+ "in": "query",
+ "name": "pageNumber",
+ "description": "Page number to fetch",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "format": "int32", "type": "number" },
+ "in": "query",
+ "name": "sortOrder",
+ "description": "Sort order (1 for ascending, -1 for descending)",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "sortBy",
+ "description": "Field to sort by",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "fields",
+ "schema": { "nullable": true, "type": "string" },
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "excludeIgnoredEvents",
+ "description": "If true, do not return events with Ignored status",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "excludeIgnoredHeartbeats",
+ "description": "If true, do not return heartbeats with Ignored status",
+ "required": false
+ },
+ {
+ "schema": { "default": true, "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "inline",
+ "description": "If true, open the execution event history JSON payload in the browser, else download a file called `domino_event_log_[execution id].json`.",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.computegrid.ExecutionEventDto"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/executions/{executionId}/events.csv": {
+ "get": {
+ "operationId": "getExecutionEventsCsv",
+ "tags": ["Execution Events"],
+ "summary": "Retrieves a list of execution events for a given execution id in csv format",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "executionId",
+ "description": "Execution Id",
+ "required": true
+ },
+ {
+ "schema": { "nullable": true, "format": "int32", "type": "number" },
+ "in": "query",
+ "name": "pageSize",
+ "description": "Number of events to fetch",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "format": "int32", "type": "number" },
+ "in": "query",
+ "name": "pageNumber",
+ "description": "Page number to fetch",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "format": "int32", "type": "number" },
+ "in": "query",
+ "name": "sortOrder",
+ "description": "Sort order (1 for ascending, -1 for descending)",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "sortBy",
+ "description": "Field to sort by",
+ "required": false
+ },
+ {
+ "in": "query",
+ "name": "fields",
+ "schema": { "nullable": true, "type": "string" },
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "excludeIgnoredEvents",
+ "description": "If true, do not return events with Ignored status",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "excludeIgnoredHeartbeats",
+ "description": "If true, do not return heartbeats with Ignored status",
+ "required": false
+ },
+ {
+ "schema": { "default": true, "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "inline",
+ "description": "If true, open the file in the browser, else download a file called `domino_event_log_[execution id].csv`.",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/executions/{executionId}/metrics/{metricName}/trace": {
+ "post": {
+ "operationId": "traceExecution",
+ "tags": ["Execution Events"],
+ "summary": "Starts (or ends) an execution trace event for a given execution id",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "executionId",
+ "description": "Execution Id",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "metricName",
+ "description": "Metric name",
+ "required": true
+ },
+ {
+ "schema": { "default": 0, "format": "int64", "type": "integer" },
+ "in": "query",
+ "name": "epochMillisOrZero",
+ "description": "time in milliseconds from epoch (UNIX timestamp) or 0 to use server current time",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/executions/{executionId}/metrics/{metricName}/increment": {
+ "post": {
+ "operationId": "incrementExecutionCounter",
+ "tags": ["Execution Events"],
+ "summary": "Increments an execution counter event for a given execution id (creates if missing) by 1",
+ "parameters": [
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "path",
+ "name": "executionId",
+ "description": "Execution Id",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "metricName",
+ "description": "Metric name",
+ "required": true
+ },
+ {
+ "schema": { "default": 0, "format": "int64", "type": "integer" },
+ "in": "query",
+ "name": "epochMillisOrZero",
+ "description": "time in milliseconds from epoch (UNIX timestamp) or 0 to use server current time",
+ "required": false
+ },
+ {
+ "schema": { "default": 1, "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "count",
+ "description": "count to increase counter by (defaults to 1)",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/files/search/{projectId}": {
+ "post": {
+ "operationId": "fileSearch",
+ "tags": ["Files"],
+ "summary": "Search for files in a project by matching on path with string queries",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "projectId",
+ "description": "Project in which to look for files",
+ "required": true
+ },
+ {
+ "in": "query",
+ "name": "maxResults",
+ "schema": {
+ "nullable": true,
+ "format": "int32",
+ "type": "integer"
+ },
+ "required": false
+ }
+ ],
+ "requestBody": {
+ "description": "JSON object with the search query",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.interface.FileSearchQuery"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.interface.FileMatchesDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/files/comment": {
+ "post": {
+ "operationId": "addFileComment",
+ "tags": ["Files"],
+ "summary": "Create a File Comment",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with information to comment on the file",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.web.CreateFileComment"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.interface.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ },
+ "get": {
+ "operationId": "getFileCommentThread",
+ "tags": ["Files"],
+ "summary": "Get file comments",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "projectId",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "Project Id to which the file belongs"
+ },
+ {
+ "in": "query",
+ "name": "fileName",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "file name to add the comment to"
+ },
+ {
+ "in": "query",
+ "name": "commitId",
+ "required": true,
+ "schema": { "type": "string" },
+ "description": "commit id of the file"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.interface.CommentThread"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/files/comment/archive": {
+ "post": {
+ "operationId": "archiveFileComment",
+ "tags": ["Files"],
+ "summary": "Archive a File Comment",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with information to comment on the file",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.web.ArchiveFileComment"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.interface.Comment"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/files/linkToGoal": {
+ "post": {
+ "operationId": "linkFileToGoal",
+ "tags": ["Files"],
+ "summary": "Link a file to a goal",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with information to link file to a goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.web.LinkFileToGoal"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.interface.FileGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/files/unlinkFromGoal": {
+ "post": {
+ "operationId": "unlinkFileFromGoal",
+ "tags": ["Files"],
+ "summary": "Unlink a file from a goal",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with information to unlink file from a goal",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.web.UnlinkFileFromGoal"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.interface.FileGoal"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/files/fullDelete": {
+ "post": {
+ "operationId": "fullDelete",
+ "tags": ["Files"],
+ "summary": "Full delete a file in a project starting at a commit",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with information to delete a file permanently",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.web.FullDeleteSpecification"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.interface.DeletePropsDto"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/files/fullyDeleted": {
+ "get": {
+ "operationId": "fullyDeleted",
+ "tags": ["Files"],
+ "summary": "Check permanent deletion status of a file in a project starting at a commit",
+ "parameters": [
+ {
+ "in": "query",
+ "name": "filePath",
+ "schema": { "type": "string" },
+ "required": true,
+ "description": "path to file"
+ },
+ {
+ "in": "query",
+ "name": "projectId",
+ "schema": { "type": "string" },
+ "required": true,
+ "description": "ID of the project the file is in"
+ },
+ {
+ "in": "query",
+ "name": "commitId",
+ "schema": { "type": "string" },
+ "required": true,
+ "description": "ID of the commit for this file"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "nullable": true,
+ "anyOf": [
+ {
+ "$ref": "#/components/schemas/domino.files.interface.DeletePropsDto"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/files/removeFile": {
+ "post": {
+ "operationId": "removeFile",
+ "tags": ["Files"],
+ "summary": "Git remove single file or directory",
+ "parameters": [],
+ "requestBody": {
+ "description": "JSON object with information to remove this file or direcotyr",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.web.FileOrFolderToRemove"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/files/removeFiles": {
+ "post": {
+ "operationId": "removeFiles",
+ "tags": ["Files"],
+ "summary": "Remove many files and/or directories",
+ "parameters": [],
+ "requestBody": {
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.web.FilesAndFoldersToRemove"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/files/moveFileOrFolder": {
+ "post": {
+ "operationId": "moveFileOrFolder",
+ "tags": ["Files"],
+ "summary": "Move a file or a folder from one path to another",
+ "parameters": [],
+ "requestBody": {
+ "description": "What to move and what it is",
+ "required": true,
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.web.FileOrFolderToMove"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/files/{projectId}/readme": {
+ "get": {
+ "operationId": "getProjectReadme",
+ "tags": ["Files"],
+ "summary": "Get project readme file",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "projectId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.files.interface.ProjectReadmeFile"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/files/{projectId}/commits": {
+ "get": {
+ "operationId": "getAllCommitsForProject",
+ "tags": ["Files"],
+ "summary": "Get all commits for a Project",
+ "parameters": [
+ {
+ "in": "path",
+ "name": "projectId",
+ "required": true,
+ "schema": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.files.interface.CommitInfo"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/metricsTesting/generateMetrics": {
+ "post": {
+ "operationId": "generateMetrics",
+ "tags": ["Metrics"],
+ "summary": "generate application metrics for testing",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "metricType",
+ "description": "The type of metric to generate",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "count",
+ "description": "The number of this metric to generate",
+ "required": true
+ },
+ {
+ "schema": { "type": "boolean" },
+ "in": "query",
+ "name": "unique",
+ "description": "Whether to make each instance of this metric unique",
+ "required": true
+ },
+ {
+ "schema": { "format": "int32", "type": "integer" },
+ "in": "query",
+ "name": "dataPoints",
+ "description": "How many data points to store in this metric (e.g. a histogram of $dataPoints values)",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "string" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/metricsTesting/countMetrics": {
+ "get": {
+ "operationId": "countMetrics",
+ "tags": ["Metrics"],
+ "summary": "check how many metrics are in the application",
+ "parameters": [
+ {
+ "schema": {
+ "nullable": true,
+ "type": "string",
+ "enum": ["Gauge", "Counter", "Timer", "Histogram"]
+ },
+ "in": "query",
+ "name": "metricType",
+ "description": "The type of metric you want to count",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": { "schema": { "type": "integer" } }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/metricsTesting/clearRegistry": {
+ "post": {
+ "operationId": "clearRegistry",
+ "tags": ["Metrics"],
+ "summary": "Remove metrics from the application",
+ "parameters": [
+ {
+ "schema": {
+ "nullable": true,
+ "type": "string",
+ "enum": ["Gauge", "Counter", "Timer", "Histogram"]
+ },
+ "in": "query",
+ "name": "metricType",
+ "description": "The type of metric you want to count",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": { "description": "success" },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/gitProviders/metadata/capabilities": {
+ "get": {
+ "operationId": "getRepoTypeCapabilities",
+ "tags": ["Git", "Metadata"],
+ "summary": "retrieves repository capabilities",
+ "parameters": [
+ {
+ "schema": {
+ "type": "#/components/schemas/domino.repoman.domain.GitProviderName",
+ "enum": [
+ "github",
+ "gitlab",
+ "githubEnterprise",
+ "unknown",
+ "gitlabEnterprise",
+ "bitbucket",
+ "bitbucketServer"
+ ]
+ },
+ "in": "query",
+ "name": "serviceProvider",
+ "description": "git service provider to retrieve capabilities for",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "repoUri",
+ "description": "uri of repository to retrieve capabilities for",
+ "required": true
+ },
+ {
+ "schema": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "in": "query",
+ "name": "credentialId",
+ "description": "id of credential being used to access the repository or none if not using credentials",
+ "required": false
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.gitproviders.api.GetRepoTypeCapabilitiesApiResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gitProviders/metadata/owners": {
+ "get": {
+ "operationId": "getPotentialRepoOwners",
+ "tags": ["Git", "Metadata"],
+ "summary": "retrieves potential owners for a given git service provider and credential id",
+ "parameters": [
+ {
+ "schema": {
+ "type": "#/components/schemas/domino.repoman.domain.GitProviderName",
+ "enum": [
+ "github",
+ "gitlab",
+ "githubEnterprise",
+ "unknown",
+ "gitlabEnterprise",
+ "bitbucket",
+ "bitbucketServer"
+ ]
+ },
+ "in": "query",
+ "name": "serviceProvider",
+ "description": "git service provider to retrieve owners for",
+ "required": true
+ },
+ {
+ "schema": {
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "#/components/schemas/domino.common.DominoId"
+ },
+ "in": "query",
+ "name": "credentialId",
+ "description": "id of credential to retrieve owners for",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.gitproviders.api.GetOwnersApiResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gitProviders/metadata/repositories": {
+ "get": {
+ "operationId": "getPotentialReposForOwner",
+ "tags": ["Git", "Metadata"],
+ "summary": "retrieves potential repos for a given git service provider, credential id, owner, and name query",
+ "parameters": [
+ {
+ "schema": {
+ "type": "#/components/schemas/domino.repoman.domain.GitProviderName",
+ "enum": [
+ "github",
+ "gitlab",
+ "githubEnterprise",
+ "unknown",
+ "gitlabEnterprise",
+ "bitbucket",
+ "bitbucketServer"
+ ]
+ },
+ "in": "query",
+ "name": "serviceProvider",
+ "description": "git service provider to retrieve repos for",
+ "required": true
+ },
+ {
+ "schema": {
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "#/components/schemas/domino.common.DominoId"
+ },
+ "in": "query",
+ "name": "credentialId",
+ "description": "id of credential to retrieve repos for",
+ "required": true
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "userOwner",
+ "description": "user to retrieve repos for",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "orgOwner",
+ "description": "organization to retrieve repos for",
+ "required": false
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "nameQuery",
+ "description": "search query to retrieve repos for",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "404": { "$ref": "#/components/responses/NotFound" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.gitproviders.api.GetReposApiResponse"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gateway/projects": {
+ "get": {
+ "operationId": "list",
+ "tags": ["Gateway", "Projects"],
+ "summary": "Retrieves projects for the Project List UI, ordered from most to least recently updated",
+ "parameters": [
+ {
+ "schema": {
+ "type": "string",
+ "enum": ["Owned", "Collaborating", "Suggested", "Popular"]
+ },
+ "in": "query",
+ "name": "relationship",
+ "description": "The relationship between the current user and the projects to be returned",
+ "required": true
+ },
+ {
+ "schema": { "default": true, "type": "boolean" },
+ "in": "query",
+ "name": "showCompleted",
+ "description": "include projects that are completed",
+ "required": false
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.projects.api.ProjectGatewaySummary"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gateway/projects/executingResources/{ownerName}/{projectName}": {
+ "get": {
+ "operationId": "getExecutingRunsForProject",
+ "tags": ["Gateway", "Projects"],
+ "summary": "Gets the executing runs grouped by type for this project",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "projectName",
+ "description": "the project's name",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "path",
+ "name": "ownerName",
+ "description": "the project owner's name",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.projects.api.ProjectGatewayExecutingRunsByType"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gateway/projects/findProjectByOwnerAndName": {
+ "get": {
+ "operationId": "findProjectByOwnerAndName",
+ "tags": ["Gateway"],
+ "summary": "Retrieves a project for the Project Overview UI",
+ "parameters": [
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "ownerName",
+ "description": "Username of the Owner",
+ "required": true
+ },
+ {
+ "schema": { "type": "string" },
+ "in": "query",
+ "name": "projectName",
+ "description": "Name of the Project",
+ "required": true
+ }
+ ],
+ "responses": {
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.server.projects.api.ProjectGatewayOverview"
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "/gateway/search": {
+ "get": {
+ "operationId": "search",
+ "tags": ["Gateway", "Search"],
+ "summary": "searches for the specified terms in the relevant areas with a limit on the number of results",
+ "parameters": [
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "query",
+ "description": "Search term.",
+ "required": true
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "area",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.common.gateway.search.SearchResultGatewayDTO"
+ }
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/gateway/runs/getByBatchId": {
+ "get": {
+ "operationId": "listToJson",
+ "tags": ["Gateway", "Runs"],
+ "summary": "API to batch extract Runs data for import into a 3rd party tool",
+ "parameters": [
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "batchId",
+ "description": "Starting id of the batch query",
+ "required": true
+ },
+ {
+ "schema": {
+ "nullable": true,
+ "format": "int32",
+ "type": "integer"
+ },
+ "in": "query",
+ "name": "limit",
+ "description": "The desired size of the batch to be returned",
+ "required": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.common.gateway.runs.RunsGatewaySequence"
+ }
+ }
+ }
+ },
+ "400": { "$ref": "#/components/responses/BadRequest" },
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "403": { "$ref": "#/components/responses/Forbidden" },
+ "500": { "$ref": "#/components/responses/InternalError" }
+ }
+ }
+ },
+ "/gateway/users/projectsDependencyGraph": {
+ "get": {
+ "operationId": "projectsDependencyGraph",
+ "tags": ["Gateway", "Users"],
+ "summary": "Retrieves projects dependency graph for a user, and optionally for a specific project",
+ "parameters": [
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "ownerUsername",
+ "description": "Owner username of the project, if dependency graph is being requested for a specific project.",
+ "required": false
+ },
+ {
+ "schema": { "nullable": true, "type": "string" },
+ "in": "query",
+ "name": "projectName",
+ "description": "Project name for which a dependency graph is being requested. When not provided, the dependency graph is for all projects for the current user.",
+ "required": false
+ }
+ ],
+ "responses": {
+ "401": { "$ref": "#/components/responses/Unauthorized" },
+ "500": { "$ref": "#/components/responses/InternalError" },
+ "200": {
+ "description": "success",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.nucleus.gateway.users.models.ProjectsDependencyGraph"
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ },
+ "openapi": "3.0.0",
+ "info": {
+ "description": "This API is going to provide access to all the Domino functions available in the user interface.\nTo authenticate your requests, include your API Key (which you can find on your account page) with the header X-Domino-Api-Key.\n",
+ "title": "Domino Data Lab API v4",
+ "version": "4.0.0"
+ },
+ "components": {
+ "schemas": {
+ "domino.activity.api.ProjectGoalModelLinkActivityMetadata": {
+ "properties": {
+ "action": { "type": "string", "enum": ["added", "removed"] },
+ "modelId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "modelVersion": { "type": "integer", "format": "int32" },
+ "modelVersionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectGoalTitle": { "type": "string" },
+ "name": { "type": "string" }
+ },
+ "required": [
+ "action",
+ "modelId",
+ "modelVersion",
+ "modelVersionId",
+ "projectGoalTitle",
+ "name"
+ ]
+ },
+ "domino.workspace.api.WorkspaceGlobalSettingsDto": {
+ "properties": {
+ "stopToDeleteDelaySeconds": { "type": "integer", "format": "int32" },
+ "perUserQuota": { "type": "integer", "format": "int32" }
+ },
+ "required": ["stopToDeleteDelaySeconds", "perUserQuota"]
+ },
+ "domino.jobs.web.UpdateJobName": {
+ "properties": { "name": { "type": "string" } },
+ "required": ["name"]
+ },
+ "domino.workspace.web.StopClassicWorkspaceRequest": {
+ "properties": {
+ "workspaceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commitMessage": { "type": "string", "nullable": true }
+ },
+ "required": ["workspaceId"]
+ },
+ "domino.credential.api.FullCredentialDto": {
+ "properties": {
+ "visibleCredentials": {
+ "type": "collection.immutable.map[string,string]"
+ },
+ "secretCredentials": {
+ "type": "collection.immutable.map[string,string]"
+ },
+ "credentialType": {
+ "type": "string",
+ "enum": ["Individual", "Shared"]
+ }
+ },
+ "required": [
+ "visibleCredentials",
+ "secretCredentials",
+ "credentialType"
+ ]
+ },
+ "domino.projects.web.MarkProjectActive": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId"]
+ },
+ "domino.projects.api.repositories.responses.browse.CommitAuthorDTO": {
+ "properties": {
+ "name": { "type": "string" },
+ "date": { "type": "date" }
+ },
+ "required": ["name", "date"]
+ },
+ "domino.nucleus.dataset.ui.CreateDatasetInput": {
+ "properties": {
+ "name": { "type": "string" },
+ "description": { "type": "string", "nullable": true },
+ "projectId": { "type": "string", "nullable": true }
+ },
+ "required": ["name"]
+ },
+ "domino.projectManagement.web.LinkJobToGoalRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "goalId"]
+ },
+ "domino.files.web.UnlinkFileFromGoal": {
+ "properties": {
+ "fileName": { "type": "string" },
+ "commitId": { "type": "string" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["fileName", "commitId", "projectId", "goalId"]
+ },
+ "domino.common.run.interfaces.RunMonolithDTO": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "title": { "type": "string" },
+ "startTime": { "type": "string" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectIdentity": { "type": "string" },
+ "runType": { "type": "string" },
+ "hardwareTierName": { "type": "string" },
+ "runDurationInSeconds": { "type": "number", "format": "double" },
+ "estimatedCost": { "type": "number", "format": "double" },
+ "status": {
+ "type": "string",
+ "enum": [
+ "Pending",
+ "Stopping",
+ "Stopped",
+ "Error",
+ "Finishing",
+ "Queued",
+ "StopRequested",
+ "Scheduled",
+ "Pulling",
+ "Succeeded",
+ "StopAndDiscardRequested",
+ "Preparing",
+ "Running",
+ "Failed",
+ "Serving",
+ "Building"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "startTime",
+ "projectId",
+ "projectIdentity",
+ "runType",
+ "hardwareTierName",
+ "runDurationInSeconds",
+ "estimatedCost",
+ "status"
+ ]
+ },
+ "domino.workspace.api.WorkspaceExecutionInfoDto": {
+ "properties": {
+ "executionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "workspaceId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "workspaceSessionId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "isRestartable": { "type": "boolean" }
+ },
+ "required": ["executionId", "isRestartable"]
+ },
+ "domino.projects.api.repositories.GitProvidersDto": {
+ "properties": {
+ "providers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.GitProviderDto"
+ }
+ }
+ },
+ "required": ["providers"]
+ },
+ "domino.workspaces.web.ArchiveCommentInput": {
+ "properties": {
+ "commentId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["commentId"]
+ },
+ "domino.admin.interface.ComputeClusterPodOverview": {
+ "properties": {
+ "deployableObjectType": {
+ "type": "string",
+ "enum": ["Container", "Pod"]
+ },
+ "deployableObjectId": { "type": "string" },
+ "computeNodeId": { "type": "string", "nullable": true },
+ "status": { "type": "string" },
+ "role": { "type": "string" },
+ "isMaster": { "type": "boolean" }
+ },
+ "required": [
+ "deployableObjectType",
+ "deployableObjectId",
+ "status",
+ "role",
+ "isMaster"
+ ]
+ },
+ "domino.datasource.api.DataSourceConfig": { "properties": {} },
+ "domino.gruz.web.RunImportRequest": {
+ "properties": {
+ "runs": {
+ "type": "array",
+ "items": { "$ref": "#/components/schemas/domino.gruz.api.RawRun" }
+ }
+ },
+ "required": ["runs"]
+ },
+ "domino.jobs.interface.JobResourcesStatus": {
+ "properties": {
+ "repositories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobRepositoryStatus"
+ }
+ }
+ },
+ "required": ["repositories"]
+ },
+ "domino.nucleus.dataset.ui.AddMountInput": {
+ "properties": {
+ "datasetId": { "type": "string" },
+ "useLatest": { "type": "boolean" },
+ "useTag": { "type": "string", "nullable": true },
+ "useId": { "nullable": true, "type": "string" }
+ },
+ "required": ["datasetId", "useLatest"]
+ },
+ "domino.files.web.FileOrFolderToMove": {
+ "properties": {
+ "originPath": { "type": "string" },
+ "targetPath": { "type": "string" },
+ "isDirectory": { "type": "boolean" },
+ "ownerUsername": { "type": "string" },
+ "projectName": { "type": "string" }
+ },
+ "required": [
+ "originPath",
+ "targetPath",
+ "isDirectory",
+ "ownerUsername",
+ "projectName"
+ ]
+ },
+ "domino.jobs.web.JobStatusChangeSocketEvent": {
+ "properties": {
+ "correlationId": { "type": "string" },
+ "jobId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "room": { "type": "string" },
+ "status": { "type": "string" },
+ "timestamp": { "type": "integer", "format": "epoch" },
+ "startedBy": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ }
+ },
+ "required": [
+ "correlationId",
+ "jobId",
+ "projectId",
+ "room",
+ "status",
+ "timestamp"
+ ]
+ },
+ "domino.common.models.DiagnosticStatistics": {
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.common.models.DiagnosticStatistic"
+ }
+ },
+ "isError": { "type": "boolean" }
+ },
+ "required": ["data", "isError"]
+ },
+ "domino.workspace.api.git.CommitRepo": {
+ "properties": {
+ "repoId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commitMessage": { "type": "string" }
+ },
+ "required": ["repoId", "commitMessage"]
+ },
+ "domino.nucleus.organization.models.OrganizationMembers": {
+ "properties": {
+ "members": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.organization.models.OrganizationMember"
+ }
+ }
+ },
+ "required": ["members"]
+ },
+ "domino.projectManagement.api.PmEntity": {
+ "properties": {
+ "entityId": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmId"
+ },
+ "entityType": {
+ "type": "string",
+ "enum": ["PmTicket", "PmSubTicket", "PmStage", "PmComment"]
+ }
+ },
+ "required": ["entityId", "entityType"]
+ },
+ "domino.projects.api.ProjectStage": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "stage": { "type": "string" },
+ "createdAt": { "type": "integer", "format": "epoch" },
+ "createdBy": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "isArchived": { "type": "boolean" },
+ "stageCreationSource": {
+ "type": "string",
+ "enum": ["Domino", "Jira"]
+ }
+ },
+ "required": [
+ "id",
+ "stage",
+ "createdAt",
+ "isArchived",
+ "stageCreationSource"
+ ]
+ },
+ "domino.computecluster.api.ComputeClusterDetails": {
+ "properties": {
+ "clusterConfig": {
+ "$ref": "#/components/schemas/domino.computecluster.api.ComputeClusterConfigResponseDto"
+ },
+ "webUiPath": { "type": "string" }
+ },
+ "required": ["clusterConfig", "webUiPath"]
+ },
+ "domino.nucleus.modelproduct.models.LoginRequired": {
+ "properties": { "loginUrl": { "type": "string" } },
+ "required": ["loginUrl"]
+ },
+ "domino.gruz.api.RunOutput": {
+ "properties": {
+ "outputCommitId": { "type": "string", "nullable": true },
+ "commitMessage": { "type": "string", "nullable": true },
+ "diagnosticStatistics": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.common.models.DiagnosticStatistics"
+ }
+ }
+ },
+ "domino.gitproviders.api.GetRepoTypeCapabilitiesApiResponse": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.gitproviders.api.RepoTypeCapabilitiesDTO"
+ }
+ }
+ },
+ "required": ["items"]
+ },
+ "domino.server.projects.api.ProjectGatewayOverview": {
+ "description": "Project Overview entity returned by the API gateway",
+ "type": "object",
+ "properties": {
+ "owner": {
+ "$ref": "#/components/schemas/domino.server.projects.api.Owner"
+ },
+ "visibility": {
+ "type": "string",
+ "enum": ["Public", "Searchable", "Private"]
+ },
+ "mainRepositoryUri": { "nullable": true, "type": "string" },
+ "lastStatusChangeInMillis": {
+ "nullable": true,
+ "format": "int64",
+ "type": "integer"
+ },
+ "lastStageChangeInMillis": {
+ "nullable": true,
+ "format": "int64",
+ "type": "integer"
+ },
+ "hardwareTierName": { "type": "string" },
+ "description": { "type": "string" },
+ "hardwareTierId": { "type": "string" },
+ "requestingUserRole": {
+ "type": "string",
+ "enum": [
+ "Admin",
+ "ProjectImporter",
+ "Contributor",
+ "Viewer",
+ "ResultsConsumer",
+ "LauncherUser",
+ "Owner"
+ ]
+ },
+ "totalRunTime": {
+ "description": "sum of run times of all executions in the project, in ISO8601 duration format including only seconds and milliseconds",
+ "type": "string"
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.projects.api.ProjectGatewayTag"
+ }
+ },
+ "numComments": { "format": "int64", "type": "integer" },
+ "allowedOperations": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ChangeProjectSettings",
+ "Run",
+ "ConsumeApiEndpoint",
+ "Edit",
+ "ViewWorkspaces",
+ "UpdateProjectDescription",
+ "ProjectSearchPreview",
+ "BrowseReadFiles",
+ "EditTags",
+ "RunLauncher",
+ "ViewRuns"
+ ]
+ }
+ },
+ "runsCountByType": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.projects.api.ProjectGatewayExecutingRunsByType"
+ }
+ },
+ "environmentName": { "type": "string" },
+ "name": { "type": "string" },
+ "serviceProvider": {
+ "type": "string",
+ "nullable": true,
+ "enum": [
+ "github",
+ "gitlab",
+ "githubEnterprise",
+ "unknown",
+ "gitlabEnterprise",
+ "bitbucket",
+ "bitbucketServer"
+ ]
+ },
+ "id": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "updatedAt": { "format": "date-time", "type": "string" },
+ "stageId": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "status": {
+ "$ref": "#/components/schemas/domino.server.projects.api.ProjectStatus"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "owner",
+ "description",
+ "hardwareTierName",
+ "hardwareTierId",
+ "environmentName",
+ "allowedOperations",
+ "visibility",
+ "tags",
+ "updatedAt",
+ "numComments",
+ "runsCountByType",
+ "totalRunTime",
+ "stageId",
+ "status",
+ "requestingUserRole"
+ ]
+ },
+ "domino.workspaces.api.WorkspaceResultFiles": {
+ "properties": {
+ "commitId": { "type": "string" },
+ "fileMetadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.ResultFileMetadata"
+ }
+ }
+ },
+ "required": ["commitId", "fileMetadata"]
+ },
+ "domino.environments.api.PaginatedRevisionData": {
+ "properties": {
+ "revisions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.environments.api.RevisionSummary"
+ }
+ },
+ "pageInfo": {
+ "$ref": "#/components/schemas/domino.environments.api.PaginatedRevisionInfo"
+ }
+ },
+ "required": ["revisions", "pageInfo"]
+ },
+ "domino.projects.web.ArchiveProjectStage": {
+ "properties": {
+ "stageId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["stageId"]
+ },
+ "domino.workspaces.web.LaunchWorkspaceInputs": {
+ "properties": {
+ "workspaceDefinitionId": { "type": "string" },
+ "title": { "type": "string", "nullable": true },
+ "commitId": { "type": "string", "nullable": true },
+ "mainRepoGitRef": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.repositories.ReferenceDTO"
+ },
+ "hardwareTierId": { "type": "string", "nullable": true },
+ "datasetConfig": { "type": "string", "nullable": true },
+ "onDemandSparkClusterProperties": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.OnDemandSparkClusterPropertiesSpec"
+ },
+ "environmentId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "environmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "externalVolumeMounts": {
+ "type": "array",
+ "nullable": true,
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": ["workspaceDefinitionId"]
+ },
+ "domino.admin.interface.OnDemandSparkExecutionUnitOverview": {
+ "properties": {
+ "deployableObjectType": {
+ "type": "string",
+ "enum": ["Container", "Pod"]
+ },
+ "deployableObjectId": { "type": "string" },
+ "computeNodeId": { "type": "string", "nullable": true },
+ "status": { "type": "string" },
+ "role": { "type": "string" }
+ },
+ "required": [
+ "deployableObjectType",
+ "deployableObjectId",
+ "status",
+ "role"
+ ]
+ },
+ "domino.common.gateway.search.SearchResultGatewayDTO": {
+ "properties": {
+ "id": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "projectId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "displayText": { "type": "string", "nullable": true },
+ "ownerId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "path": { "type": "string", "nullable": true },
+ "link": { "type": "string" },
+ "area": { "type": "string" }
+ },
+ "required": ["link", "area"]
+ },
+ "domino.common.modelproduct.NotificationRecipient": {
+ "properties": {
+ "name": { "type": "string" },
+ "email": { "type": "string" }
+ },
+ "required": ["name", "email"]
+ },
+ "domino.admin.interface.ComputeNodeMemUtilization": {
+ "properties": {
+ "total": { "type": "number", "format": "double" },
+ "requested": { "type": "number", "format": "double" },
+ "available": { "type": "number", "format": "double" }
+ },
+ "required": ["total", "requested", "available"]
+ },
+ "domino.projects.api.ProjectInfo": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "owner": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectOwnerInfo"
+ }
+ },
+ "required": ["id", "name", "owner"]
+ },
+ "domino.projects.api.ProjectEnvironmentOwnerDTO": {
+ "properties": {
+ "id": { "type": "string" },
+ "username": { "type": "string" }
+ },
+ "required": ["id", "username"]
+ },
+ "domino.jobs.interface.JobStatuses": {
+ "properties": {
+ "isCompleted": { "type": "boolean" },
+ "isArchived": { "type": "boolean" },
+ "isScheduled": { "type": "boolean" },
+ "volumeRecoverabilityStatus": {
+ "type": "string",
+ "enum": [
+ "Unauthorized",
+ "VolumeUnavailable",
+ "Recoverable",
+ "NoActionNecessary"
+ ]
+ },
+ "executionStatus": { "type": "string" }
+ },
+ "required": [
+ "isCompleted",
+ "isArchived",
+ "isScheduled",
+ "volumeRecoverabilityStatus",
+ "executionStatus"
+ ]
+ },
+ "domino.projects.api.ProjectAssetCount": {
+ "properties": {
+ "assetType": {
+ "type": "string",
+ "enum": ["App", "ModelAPI", "Launcher", "Schedules"]
+ },
+ "assetCount": { "type": "integer", "format": "int32" }
+ },
+ "required": ["assetType", "assetCount"]
+ },
+ "domino.provenance.api.ProvenanceCheckpointDto": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "executionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "createdAt": { "type": "string", "format": "date-time" },
+ "environmentId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commitMessage": { "type": "string" },
+ "dfsCommit": {
+ "$ref": "#/components/schemas/domino.provenance.api.ProvenanceCommit"
+ },
+ "importedProjects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.provenance.api.ProvenanceImportedProject"
+ }
+ },
+ "importedRepositories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.provenance.api.ProvenanceGitRepoDto"
+ }
+ },
+ "hardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "tool": { "type": "string", "nullable": true },
+ "volumeSize": { "$ref": "#/components/schemas/Information" },
+ "environmentRevisionSpec": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "datasetConfig": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "computeClusterConfig": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "externalVolumeMountIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": [
+ "id",
+ "projectId",
+ "executionId",
+ "createdAt",
+ "environmentId",
+ "commitMessage",
+ "dfsCommit",
+ "importedProjects",
+ "importedRepositories",
+ "hardwareTierId",
+ "volumeSize",
+ "environmentRevisionSpec",
+ "datasetConfig",
+ "computeClusterConfig",
+ "externalVolumeMountIds"
+ ]
+ },
+ "domino.jobs.interface.JobProblemSuggestion": {
+ "properties": {
+ "problem": { "type": "string" },
+ "helpLink": { "type": "string" }
+ },
+ "required": ["problem", "helpLink"]
+ },
+ "domino.gruz.api.RunPostProcessing": {
+ "properties": {
+ "postProcessingControl": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.gruz.api.RunPostProcessingControl"
+ },
+ "postProcessedTimestamp": {
+ "nullable": true,
+ "type": "string",
+ "format": "date-time"
+ }
+ }
+ },
+ "domino.environments.api.EnvironmentDetails": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "archived": { "type": "boolean" },
+ "name": { "type": "string" },
+ "visibility": {
+ "type": "string",
+ "enum": ["Global", "Private", "Organization"]
+ },
+ "owner": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.environments.api.EnvironmentOwner"
+ },
+ "supportedClusters": {
+ "type": "array",
+ "items": { "type": "string", "enum": ["Dask", "Spark", "Ray"] }
+ },
+ "latestRevision": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.environments.api.RevisionOverview"
+ },
+ "selectedRevision": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.environments.api.RevisionOverview"
+ }
+ },
+ "required": [
+ "id",
+ "archived",
+ "name",
+ "visibility",
+ "supportedClusters"
+ ]
+ },
+ "domino.nucleus.modelproduct.models.LinkAppToGoal": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "appVersionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "goalId", "appVersionId"]
+ },
+ "domino.nucleus.dataset.ui.AdvancedDatasetConfigurationViewModel": {
+ "properties": {
+ "name": { "type": "string" },
+ "yaml": { "type": "string" }
+ },
+ "required": ["name", "yaml"]
+ },
+ "domino.admin.interface.HardwareTierOverview": {
+ "properties": {
+ "id": { "type": "string" },
+ "cores": { "type": "number", "format": "double" },
+ "memoryInGiB": { "type": "number", "format": "double" }
+ },
+ "required": ["id", "cores", "memoryInGiB"]
+ },
+ "domino.jobs.interface.CommentContent": {
+ "properties": { "value": { "type": "string" } },
+ "required": ["value"]
+ },
+ "domino.datasetrw.api.DatasetRwFiletaskCopyUpdateDto": {
+ "properties": {
+ "timeRemaining": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ },
+ "progress": { "type": "integer", "format": "int64" },
+ "snapshotId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "snapshotStatus": {
+ "type": "string",
+ "enum": [
+ "Pending",
+ "Deleted",
+ "DeletionInProgress",
+ "Failed",
+ "Active",
+ "MarkedForDeletion"
+ ]
+ }
+ },
+ "required": ["progress", "snapshotId", "snapshotStatus"]
+ },
+ "domino.activity.api.FileChangeActivityMetaData": {
+ "type": "object",
+ "properties": {
+ "commitMessage": { "nullable": true, "type": "string" },
+ "filesChanged": { "type": "array", "items": { "type": "string" } },
+ "action": {
+ "type": "string",
+ "enum": [
+ "Moved File/Folder",
+ "File Fully Deleted",
+ "Folder Renamed",
+ "Folder Created/Modified",
+ "File Renamed",
+ "Removed Files/Folders",
+ "File Changed",
+ "Removed File/Folder",
+ "File Created/Modified",
+ "Moved Files/Folders"
+ ]
+ },
+ "commitId": { "type": "string" },
+ "fileChangedDueToId": {
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "string"
+ },
+ "fileChangedDueTo": {
+ "type": "string",
+ "enum": ["workspace", "user"]
+ }
+ },
+ "required": [
+ "filesChanged",
+ "commitId",
+ "action",
+ "fileChangedDueTo",
+ "fileChangedDueToId"
+ ]
+ },
+ "domino.gruz.api.PortsRange": {
+ "properties": {
+ "from": { "type": "integer", "format": "int32" },
+ "to": { "type": "integer", "format": "int32" }
+ },
+ "required": ["from", "to"]
+ },
+ "domino.datasetrw.api.DatasetRwFileDetailsDto": {
+ "properties": {
+ "isDirectory": { "type": "boolean", "nullable": true },
+ "label": { "type": "string" },
+ "sortableName": { "type": "string", "nullable": true },
+ "fileName": { "type": "string", "nullable": true },
+ "url": { "type": "string", "nullable": true },
+ "sizeInBytes": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ }
+ },
+ "required": ["label"]
+ },
+ "domino.jobs.interface.ArtifactsInfoDto": {
+ "properties": {
+ "startState": {
+ "$ref": "#/components/schemas/domino.jobs.interface.ArtifactsStartStateDto"
+ },
+ "endState": {
+ "$ref": "#/components/schemas/domino.jobs.interface.ArtifactsObjectDto"
+ },
+ "changes": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["startState", "endState", "changes"]
+ },
+ "domino.jobs.interface.Commenter": {
+ "properties": {
+ "commenterId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "username": { "type": "string" },
+ "fullName": { "type": "string" }
+ },
+ "required": ["commenterId", "username", "fullName"]
+ },
+ "domino.dataset.api.DatasetScratchSpaceDto": {
+ "properties": {
+ "userId": { "type": "string" },
+ "projectId": { "type": "string" },
+ "lastUpdatedDateMillis": { "type": "integer", "format": "int64" },
+ "lastSnapshotDateMillis": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ },
+ "scratchSpaceSize": { "type": "integer", "format": "int64" },
+ "isPartialSize": { "type": "boolean" },
+ "id": { "type": "string" },
+ "daysSinceLastSnapshot": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "promotionWarningStatus": {
+ "type": "string",
+ "enum": ["none", "low", "medium", "high"]
+ }
+ },
+ "required": [
+ "userId",
+ "projectId",
+ "lastUpdatedDateMillis",
+ "scratchSpaceSize",
+ "isPartialSize",
+ "id",
+ "promotionWarningStatus"
+ ]
+ },
+ "domino.hardwaretier.api.NewHardwareTierDto": {
+ "properties": {
+ "id": { "type": "string" },
+ "name": { "type": "string" },
+ "cores": { "type": "number", "format": "double" },
+ "coresLimit": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "memory": { "type": "number", "format": "double" },
+ "allowSharedMemoryToExceedDefault": { "type": "boolean" },
+ "clusterType": {
+ "type": "string",
+ "nullable": true,
+ "enum": ["ClassicOnPremises", "ClassicAWS", "Kubernetes"]
+ },
+ "numberOfGpus": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "gpuKey": { "type": "string" },
+ "runMemoryLimit": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.common.executor.run.RunMemoryLimitDto"
+ },
+ "isDefault": { "type": "boolean" },
+ "centsPerMinute": { "type": "number", "format": "double" },
+ "isFree": { "type": "boolean" },
+ "isAllowedDuringTrial": { "type": "boolean" },
+ "isVisible": { "type": "boolean" },
+ "isGlobal": { "type": "boolean" },
+ "nodePool": { "type": "string", "nullable": true },
+ "maxSimultaneousExecutions": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "overprovisioning": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierOverprovisioningDto"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "cores",
+ "memory",
+ "allowSharedMemoryToExceedDefault",
+ "gpuKey",
+ "isDefault",
+ "centsPerMinute",
+ "isFree",
+ "isAllowedDuringTrial",
+ "isVisible",
+ "isGlobal"
+ ]
+ },
+ "domino.projects.api.ProjectStageAndStatus": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "stage": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStage"
+ },
+ "status": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStatus"
+ },
+ "lastStageChangeInMillis": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ },
+ "lastStatusChangeInMillis": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ }
+ },
+ "required": ["id", "name", "stage", "status"]
+ },
+ "domino.jobs.web.JobsUsageSocketEvent": {
+ "properties": {
+ "correlationId": { "type": "string" },
+ "jobId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "room": { "type": "string" },
+ "cpu": { "type": "number", "format": "double" },
+ "mem": { "type": "number", "format": "double" },
+ "timestamp": { "type": "integer", "format": "epoch" }
+ },
+ "required": [
+ "correlationId",
+ "jobId",
+ "room",
+ "cpu",
+ "mem",
+ "timestamp"
+ ]
+ },
+ "domino.workspaces.api.CommentThread": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "comments": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.Comment"
+ }
+ },
+ "context": {
+ "$ref": "#/components/schemas/domino.workspaces.api.CommentContext"
+ }
+ },
+ "required": ["id", "comments", "context"]
+ },
+ "domino.activity.api.ActivityMetaData": { "properties": {} },
+ "domino.workspace.api.WorkspaceImportedProject": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectName": { "type": "string" },
+ "ownerId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "directoryName": { "type": "string", "nullable": true },
+ "commitId": { "type": "string" },
+ "release": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ }
+ },
+ "required": ["projectId", "projectName", "ownerId", "commitId"]
+ },
+ "domino.jobs.web.JobOperationRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "jobId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "jobId"]
+ },
+ "domino.projects.api.StageStat": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "projectCount": { "type": "integer", "format": "int32" }
+ },
+ "required": ["id", "name", "projectCount"]
+ },
+ "domino.projects.web.UpdateProjectGoalDescription": {
+ "properties": { "description": { "type": "string" } },
+ "required": ["description"]
+ },
+ "domino.nucleus.modelproduct.models.Stats": {
+ "properties": {
+ "usageCount": { "type": "integer", "format": "int32" }
+ },
+ "required": ["usageCount"]
+ },
+ "domino.projects.api.repositories.GitProviderDto": {
+ "properties": {
+ "value": { "type": "string" },
+ "label": { "type": "string" },
+ "requiresDomain": { "type": "boolean" },
+ "accessTypes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.AccessTypeDto"
+ }
+ }
+ },
+ "required": ["value", "label", "requiresDomain", "accessTypes"]
+ },
+ "domino.activity.api.ModelVersionStatusActivityMetaData": {
+ "properties": {
+ "action": { "type": "string", "enum": ["published", "destroyed"] },
+ "currentStatus": { "type": "string" },
+ "modelName": { "type": "string" },
+ "modelId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "modelVersionNumber": { "type": "integer", "format": "int32" }
+ },
+ "required": [
+ "action",
+ "currentStatus",
+ "modelName",
+ "modelId",
+ "modelVersionNumber"
+ ]
+ },
+ "domino.projects.web.CreateProjectGoal": {
+ "properties": {
+ "title": { "type": "string" },
+ "description": { "type": "string", "nullable": true }
+ },
+ "required": ["title"]
+ },
+ "domino.environments.api.EnvironmentOwner": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "username": { "type": "string" },
+ "environmentOwnerType": {
+ "type": "string",
+ "enum": ["Organization", "Individual"]
+ }
+ },
+ "required": ["id", "username", "environmentOwnerType"]
+ },
+ "domino.datamount.web.UpdateDataMountRequest": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "description": { "type": "string", "nullable": true },
+ "mountPath": { "type": "string" },
+ "users": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "projects": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "readOnly": { "type": "boolean" },
+ "isPublic": { "type": "boolean" },
+ "isRegistered": { "type": "boolean" },
+ "status": { "type": "string", "nullable": true }
+ },
+ "required": [
+ "id",
+ "name",
+ "mountPath",
+ "users",
+ "projects",
+ "readOnly",
+ "isPublic",
+ "isRegistered"
+ ]
+ },
+ "domino.activity.api.ScheduleJobActivityMetaData": {
+ "properties": {
+ "action": {
+ "type": "string",
+ "enum": ["scheduled", "paused", "edited", "unpaused", "unscheduled"]
+ },
+ "title": { "type": "string", "nullable": true },
+ "commandToRun": { "type": "string" },
+ "cronSchedule": { "type": "string" }
+ },
+ "required": ["action", "commandToRun", "cronSchedule"]
+ },
+ "domino.activity.api.ActivityStream": {
+ "properties": {
+ "activity": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.activity.api.Activity"
+ }
+ },
+ "pagination": {
+ "$ref": "#/components/schemas/domino.activity.api.ActivityPagination"
+ }
+ },
+ "required": ["activity", "pagination"]
+ },
+ "domino.activity.api.AppStatusActivityMetaData": {
+ "properties": {
+ "title": { "type": "string" },
+ "status": { "type": "string" },
+ "currentStatus": { "type": "string" }
+ },
+ "required": ["title", "status", "currentStatus"]
+ },
+ "domino.hardwaretier.api.HardwareTierWithCapacityDto": {
+ "properties": {
+ "hardwareTier": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierDto"
+ },
+ "capacity": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierCapacity"
+ }
+ },
+ "required": ["hardwareTier", "capacity"]
+ },
+ "domino.nucleus.dataset.ui.DataSetFileBrowserViewModel": {
+ "properties": {
+ "directorySize": { "type": "string", "nullable": true },
+ "rows": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DataSetFileBrowserRow"
+ }
+ }
+ },
+ "required": ["rows"]
+ },
+ "domino.modelmanager.api.ModelApiAggregatedUsageStatistics": {
+ "properties": {
+ "modelVersionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "statusCode": { "type": "integer", "format": "int32" },
+ "timestamp": { "type": "integer", "format": "epoch" },
+ "invocationCount": { "type": "integer", "format": "int64" }
+ },
+ "required": [
+ "modelVersionId",
+ "statusCode",
+ "timestamp",
+ "invocationCount"
+ ]
+ },
+ "domino.projects.api.repositories.GitRepositoryDTO": {
+ "properties": {
+ "id": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "name": { "type": "string", "nullable": true },
+ "uri": { "type": "string" },
+ "ref": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.ReferenceDTO"
+ },
+ "credentialId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "serviceProvider": { "type": "string" }
+ },
+ "required": ["uri", "ref", "serviceProvider"]
+ },
+ "domino.workspace.web.ReproduceWorkspaceRequest": {
+ "properties": {
+ "name": { "type": "string" },
+ "provenanceCheckpointId": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ }
+ },
+ "required": ["name", "provenanceCheckpointId"]
+ },
+ "domino.gitproviders.api.RepoDTO": {
+ "properties": {
+ "repoName": { "type": "string" },
+ "defaultBranch": { "type": "string", "nullable": true },
+ "externalUrl": { "type": "string" }
+ },
+ "required": ["repoName", "externalUrl"]
+ },
+ "domino.datasetrw.api.DatasetRwSnapshotSummaryDto": {
+ "properties": {
+ "snapshot": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ },
+ "authorUsername": { "type": "string", "nullable": true },
+ "datasetDescription": { "type": "string", "nullable": true },
+ "isReadWrite": { "type": "boolean" }
+ },
+ "required": ["snapshot", "isReadWrite"]
+ },
+ "domino.workspaces.api.LogContent": {
+ "properties": {
+ "timestamp": { "type": "integer", "format": "epoch" },
+ "logType": {
+ "type": "string",
+ "enum": ["stdout", "stderr", "prepareoutput", "complete"]
+ },
+ "log": { "type": "string" },
+ "size": { "type": "integer", "format": "int64" }
+ },
+ "required": ["timestamp", "logType", "log", "size"]
+ },
+ "domino.projects.api.Commenter": {
+ "properties": {
+ "commenterId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "username": { "type": "string" },
+ "fullName": { "type": "string" }
+ },
+ "required": ["commenterId", "username", "fullName"]
+ },
+ "domino.activity.api.ProjectGoalJobLinkActivityMetadata": {
+ "properties": {
+ "action": { "type": "string", "enum": ["added", "removed"] },
+ "jobNumber": { "type": "integer", "format": "int32" },
+ "jobId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectGoalTitle": { "type": "string" }
+ },
+ "required": ["action", "jobNumber", "jobId", "projectGoalTitle"]
+ },
+ "domino.workspaces.api.ExecutionCheckpointStatus": {
+ "properties": {
+ "checkpoint": {
+ "type": "string",
+ "enum": [
+ "UserFilesSaved",
+ "ResourcesCreated",
+ "NodeAssigned",
+ "VolumesMounted",
+ "VolumesReleased",
+ "UserCodeLaunched",
+ "FilesPrepared",
+ "ResourcesDeleted",
+ "Acknowledged",
+ "ImagesPulled",
+ "QuotaChecked"
+ ]
+ },
+ "status": {
+ "type": "string",
+ "enum": ["Pending", "Completed", "Error"]
+ },
+ "message": { "type": "string", "nullable": true }
+ },
+ "required": ["checkpoint", "status"]
+ },
+ "domino.admin.interface.WhiteLabelConfigurations": {
+ "properties": {
+ "appLogo": { "type": "string", "nullable": true },
+ "errorPageContactEmail": { "type": "string" },
+ "defaultProjectName": { "type": "string" },
+ "favicon": { "type": "string" },
+ "gitCredentialsDescription": { "type": "string" },
+ "helpContentUrl": { "type": "string" },
+ "hidePopularProjects": { "type": "boolean" },
+ "hideDownloadDominoCli": { "type": "boolean" },
+ "hideMarketingDisclaimer": { "type": "boolean" },
+ "hidePublicProjects": { "type": "boolean" },
+ "hideSearchableProjects": { "type": "boolean" },
+ "hideSuggestedProjects": { "type": "boolean" },
+ "hideLearnMoreOnFile": { "type": "boolean" },
+ "hideGitSshKey": { "type": "boolean" },
+ "appName": { "type": "string" },
+ "pageFooter": { "type": "string" },
+ "showSupportButton": { "type": "boolean" },
+ "supportEmail": { "type": "string" }
+ },
+ "required": [
+ "errorPageContactEmail",
+ "defaultProjectName",
+ "favicon",
+ "gitCredentialsDescription",
+ "helpContentUrl",
+ "hidePopularProjects",
+ "hideDownloadDominoCli",
+ "hideMarketingDisclaimer",
+ "hidePublicProjects",
+ "hideSearchableProjects",
+ "hideSuggestedProjects",
+ "hideLearnMoreOnFile",
+ "hideGitSshKey",
+ "appName",
+ "pageFooter",
+ "showSupportButton",
+ "supportEmail"
+ ]
+ },
+ "domino.projects.api.UseableProjectEnvironmentsDTO": {
+ "properties": {
+ "currentlySelectedEnvironment": {
+ "$ref": "#/components/schemas/domino.projects.api.SelectedEnvironmentDTO"
+ },
+ "environments": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectEnvironmentDTO"
+ }
+ }
+ },
+ "required": ["currentlySelectedEnvironment", "environments"]
+ },
+ "domino.projects.api.EntityLink": {
+ "properties": {
+ "entityLinkType": {
+ "type": "string",
+ "enum": ["job", "model_api", "workspace", "app", "file"]
+ },
+ "metadata": {
+ "$ref": "#/components/schemas/domino.projects.api.EntityLinkMetadata"
+ },
+ "timestamp": { "type": "integer", "format": "epoch" },
+ "createdBy": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["entityLinkType", "metadata", "timestamp", "createdBy"]
+ },
+ "domino.workspaces.api.WorkspaceTag": {
+ "properties": {
+ "tagId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "createdBy": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "createdAt": { "type": "integer", "format": "epoch" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["tagId", "name", "createdBy", "createdAt", "projectId"]
+ },
+ "domino.scheduledrun.api.LegacyScheduledRunDTO": {
+ "properties": {
+ "id": { "type": "string" },
+ "schedulingUserName": { "type": "string" },
+ "title": { "type": "string", "nullable": true },
+ "scheduleTime": { "type": "string" },
+ "hardwareTierName": { "type": "string" },
+ "launchBehavior": {
+ "type": "string",
+ "enum": ["Concurrent", "Sequential"]
+ },
+ "emailsToNotify": { "type": "string", "nullable": true },
+ "projectIdentity": { "type": "string" }
+ },
+ "required": [
+ "id",
+ "schedulingUserName",
+ "scheduleTime",
+ "hardwareTierName",
+ "launchBehavior",
+ "projectIdentity"
+ ]
+ },
+ "domino.datamount.web.FindByPvcNamesRequest": {
+ "properties": {
+ "pvcNames": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["pvcNames"]
+ },
+ "domino.nucleus.modelproduct.models.VisibilityPatch": {
+ "properties": {
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "PUBLIC",
+ "AUTHENTICATED",
+ "GRANT_BASED",
+ "GRANT_BASED_STRICT"
+ ]
+ }
+ },
+ "required": ["visibility"]
+ },
+ "domino.projectManagement.api.PmTicketType": {
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmId"
+ },
+ "name": { "type": "string" }
+ },
+ "required": ["id", "name"]
+ },
+ "domino.credential.api.VisibleDataSourceCredentialDto": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "dataSourceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "credential": {
+ "$ref": "#/components/schemas/domino.credential.api.VisibleCredentialDto"
+ },
+ "owner": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "users": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": ["id", "dataSourceId", "credential", "owner", "users"]
+ },
+ "domino.projects.api.ProjectPortfolioPaginationFilter": {
+ "properties": {
+ "pagination": {
+ "type": "domino.apiserverutils.pagination.paginationfilter"
+ },
+ "sortBy": {
+ "type": "string",
+ "enum": [
+ "duration",
+ "centsPerMinute",
+ "lastActivity",
+ "projectName",
+ "createdOn",
+ "status",
+ "collaborators"
+ ]
+ },
+ "searchQuery": { "type": "string", "nullable": true },
+ "stageId": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "status": {
+ "type": "array",
+ "items": { "type": "string", "enum": ["active", "complete"] }
+ },
+ "isBlocked": { "type": "boolean", "nullable": true }
+ },
+ "required": ["pagination", "sortBy", "stageId", "status"]
+ },
+ "domino.activity.api.ProjectStatusChangeActivityMetaData": {
+ "properties": {
+ "projectName": { "type": "string" },
+ "fromStatus": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectStatus"
+ },
+ "toStatus": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectStatus"
+ }
+ },
+ "required": ["projectName", "fromStatus", "toStatus"]
+ },
+ "domino.admin.interface.ComputeNodeInfrastructureInfo": {
+ "properties": {
+ "name": { "type": "string" },
+ "nodePool": { "type": "string", "nullable": true },
+ "instanceType": { "type": "string", "nullable": true },
+ "isBuildNode": { "type": "boolean" }
+ },
+ "required": ["name", "isBuildNode"]
+ },
+ "domino.workspace.api.WorkspaceConfigDto": {
+ "properties": {
+ "environment": {
+ "$ref": "#/components/schemas/domino.environments.api.EnvironmentRevisionSummary"
+ },
+ "hardwareTier": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceHardwareTierDto"
+ },
+ "datasetConfig": { "type": "string", "nullable": true },
+ "tools": { "type": "array", "items": { "type": "string" } },
+ "clusterProps": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.computecluster.api.SparkClusterPropsDto"
+ },
+ "computeClusterResponseProps": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.computecluster.api.ComputeClusterConfigResponseDto"
+ }
+ },
+ "required": ["environment", "hardwareTier", "tools"]
+ },
+ "domino.jobs.interface.JobRepositoryStatus": {
+ "properties": {
+ "name": { "type": "string" },
+ "status": {
+ "type": "string",
+ "enum": [
+ "Unpushed",
+ "Unpushed and Dirty",
+ "Clean",
+ "Unknown",
+ "Modified"
+ ]
+ },
+ "changes": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.jobs.interface.RepositoryChanges"
+ }
+ },
+ "required": ["name", "status"]
+ },
+ "domino.datasetrw.api.DatasetRwCopyTimeEstimateDto": {
+ "properties": {
+ "isLessThanMinutesEstimate": { "type": "boolean" },
+ "minutesEstimate": { "type": "integer", "format": "int64" }
+ },
+ "required": ["isLessThanMinutesEstimate", "minutesEstimate"]
+ },
+ "domino.datasetrw.api.DatasetRwFileDetailsRowDto": {
+ "properties": {
+ "name": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwFileDetailsDto"
+ },
+ "size": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwFileDetailsDto"
+ },
+ "lastModified": { "type": "integer", "format": "int64" }
+ },
+ "required": ["name", "size", "lastModified"]
+ },
+ "domino.nucleus.modelproduct.models.ModelProductError": {
+ "properties": {
+ "message": { "type": "string" },
+ "correlationId": { "type": "string", "nullable": true }
+ },
+ "required": ["message"]
+ },
+ "domino.workspace.api.WorkspaceRepositoryState": {
+ "properties": {
+ "name": { "type": "string" },
+ "status": {
+ "type": "string",
+ "enum": [
+ "Unpushed",
+ "UnpushedDirty",
+ "Clean",
+ "Unknown",
+ "Modified"
+ ]
+ },
+ "changes": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.RepositoryChanges"
+ }
+ },
+ "required": ["name", "status"]
+ },
+ "domino.environments.api.RevisionSummary": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "number": { "type": "integer", "format": "int32" },
+ "created": { "type": "integer", "format": "epoch" }
+ },
+ "required": ["id", "number", "created"]
+ },
+ "domino.admin.interface.ProjectSearchResultsDto": {
+ "properties": {
+ "page": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.admin.interface.UserProjectEntry"
+ }
+ },
+ "totalMatches": { "type": "integer", "format": "int64" }
+ },
+ "required": ["page", "totalMatches"]
+ },
+ "domino.datasource.web.CheckDataSourceConnectionRequest": {
+ "properties": {
+ "dataSourceType": {
+ "type": "string",
+ "enum": ["SnowflakeConfig", "RedshiftConfig"]
+ },
+ "username": { "type": "string", "nullable": true },
+ "password": { "type": "string", "nullable": true },
+ "accountName": { "type": "string", "nullable": true },
+ "database": { "type": "string", "nullable": true },
+ "schema": { "type": "string", "nullable": true },
+ "warehouse": { "type": "string", "nullable": true },
+ "role": { "type": "string", "nullable": true },
+ "host": { "type": "string", "nullable": true },
+ "port": { "type": "string", "nullable": true },
+ "credentialType": {
+ "type": "string",
+ "enum": ["Individual", "Shared"]
+ }
+ },
+ "required": ["dataSourceType", "credentialType"]
+ },
+ "domino.nucleus.modelproduct.models.App": {
+ "properties": { "appType": { "type": "string" } },
+ "required": ["appType"]
+ },
+ "domino.common.models.DiagnosticStatistic": {
+ "properties": {
+ "key": { "type": "string" },
+ "value": { "type": "string" }
+ },
+ "required": ["key", "value"]
+ },
+ "domino.projects.api.CollaboratorDTO": {
+ "properties": {
+ "collaboratorId": { "type": "string" },
+ "projectRole": {
+ "type": "string",
+ "enum": [
+ "Contributor",
+ "LauncherUser",
+ "ResultsConsumer",
+ "ProjectImporter"
+ ]
+ }
+ },
+ "required": ["collaboratorId", "projectRole"]
+ },
+ "domino.projects.api.ProjectPortfolioMetaData": {
+ "properties": {
+ "projectStatusType": {
+ "type": "string",
+ "enum": ["active", "complete"]
+ }
+ },
+ "required": ["projectStatusType"]
+ },
+ "domino.nucleus.dataset.ui.DataSetFileBrowserRow": {
+ "properties": {
+ "name": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DataSetFileBrowserEntry"
+ },
+ "size": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.DataSetFileBrowserEntry"
+ }
+ },
+ "required": ["name", "size"]
+ },
+ "domino.server.account.api.GitCredentialDto": { "properties": {} },
+ "domino.jobs.interface.DependentDatasetMount": {
+ "properties": {
+ "datasetId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "snapshotId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "snapshotVersion": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "datasetName": { "type": "string" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "isInput": { "type": "boolean" },
+ "containerPath": { "type": "string", "nullable": true }
+ },
+ "required": ["datasetId", "datasetName", "projectId", "isInput"]
+ },
+ "domino.jobs.interface.CommentThread": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "comments": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Comment"
+ }
+ },
+ "context": {
+ "$ref": "#/components/schemas/domino.jobs.interface.CommentContext"
+ }
+ },
+ "required": ["id", "comments", "context"]
+ },
+ "domino.projects.api.RevisionOverview": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "number": { "type": "integer", "format": "int32" },
+ "status": { "type": "string", "nullable": true },
+ "url": { "type": "string" },
+ "availableTools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.EnvironmentWorkspaceToolDefinition"
+ }
+ }
+ },
+ "required": ["id", "number", "url", "availableTools"]
+ },
+ "domino.common.modelproduct.LogContent": {
+ "properties": {
+ "timestamp": { "type": "integer", "format": "epoch" },
+ "logType": {
+ "type": "string",
+ "enum": ["stdout", "stderr", "prepareoutput", "complete"]
+ },
+ "log": { "type": "string" },
+ "size": { "type": "integer", "format": "int64" }
+ },
+ "required": ["timestamp", "logType", "log", "size"]
+ },
+ "domino.projectManagement.web.LinkWorkspaceToGoalRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "goalId"]
+ },
+ "domino.computegrid.ComputeClusterStatus": {
+ "properties": {
+ "clusterName": { "type": "string" },
+ "clusterState": {
+ "type": "string",
+ "enum": ["Pending", "Starting", "Ready", "Stopping"]
+ },
+ "isReady": { "type": "boolean" },
+ "workerCount": { "type": "integer", "format": "int32" }
+ },
+ "required": ["clusterName", "clusterState", "isReady", "workerCount"]
+ },
+ "domino.nucleus.modelproduct.models.EmailInvitationResponse": {
+ "properties": {
+ "succeeded": { "type": "array", "items": { "type": "string" } },
+ "failed": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.EmailInvitationFailure"
+ }
+ }
+ },
+ "required": ["succeeded", "failed"]
+ },
+ "domino.workspace.web.UpdateWorkspaceTitleRequest": {
+ "properties": { "title": { "type": "string" } },
+ "required": ["title"]
+ },
+ "domino.jobs.interface.JobSet": {
+ "properties": {
+ "jobs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Job"
+ }
+ },
+ "totalCount": { "type": "integer", "format": "int64" },
+ "pagination": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobPagination"
+ },
+ "dominoStatColumns": {
+ "type": "array",
+ "items": { "type": "string" }
+ }
+ },
+ "required": ["jobs", "totalCount", "pagination", "dominoStatColumns"]
+ },
+ "domino.projects.api.SelectedEnvironmentDTO": {
+ "properties": {
+ "id": { "type": "string" },
+ "v2EnvironmentDetails": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.SelectedV2EnvironmentDetailsDTO"
+ },
+ "supportedClusters": {
+ "type": "array",
+ "items": { "$ref": "#/components/schemas/ComputeClusterType" }
+ }
+ },
+ "required": ["id", "supportedClusters"]
+ },
+ "domino.scheduledrun.api.ComputeClusterConfigSpecDto": {
+ "properties": {
+ "clusterType": { "$ref": "#/components/schemas/ComputeClusterType" },
+ "computeEnvironmentId": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "computeEnvironmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "masterHardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "workerCount": { "type": "integer", "format": "int32" },
+ "maxWorkerCount": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "workerHardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "workerStorage": {
+ "nullable": true,
+ "$ref": "#/components/schemas/Information"
+ },
+ "extraConfigs": {
+ "type": "collection.immutable.map[string,string]",
+ "nullable": true
+ }
+ },
+ "required": [
+ "clusterType",
+ "computeEnvironmentId",
+ "masterHardwareTierId",
+ "workerCount",
+ "workerHardwareTierId"
+ ]
+ },
+ "domino.workspace.api.RestartableWorkspaceChangeEvent": {
+ "properties": {
+ "correlationId": { "type": "string" },
+ "room": { "type": "string" },
+ "timestamp": { "type": "string", "format": "date-time" },
+ "workspace": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceDto"
+ }
+ },
+ "required": ["correlationId", "room", "timestamp", "workspace"]
+ },
+ "domino.nucleus.dataset.ui.UpdateDatasetInput": {
+ "properties": {
+ "description": { "type": "string", "nullable": true },
+ "name": { "type": "string", "nullable": true }
+ }
+ },
+ "domino.hardwaretier.api.HardwareTierCapacity": {
+ "properties": {
+ "currentNumberOfExecutors": { "type": "integer", "format": "int32" },
+ "maximumNumberOfExecutors": { "type": "integer", "format": "int32" },
+ "numberOfCurrentlyExecutingRuns": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "numberOfQueuedRuns": { "type": "integer", "format": "int32" },
+ "maximumConcurrentRuns": { "type": "integer", "format": "int32" },
+ "availableCapacityWithoutLaunching": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "maximumAvailableCapacity": { "type": "integer", "format": "int32" },
+ "capacityLevel": {
+ "type": "string",
+ "enum": [
+ "CAN_EXECUTE_WITH_CURRENT_INSTANCES",
+ "REQUIRES_LAUNCHING_INSTANCE",
+ "FULL",
+ "UNKNOWN"
+ ]
+ }
+ },
+ "required": [
+ "currentNumberOfExecutors",
+ "maximumNumberOfExecutors",
+ "numberOfCurrentlyExecutingRuns",
+ "numberOfQueuedRuns",
+ "maximumConcurrentRuns",
+ "availableCapacityWithoutLaunching",
+ "maximumAvailableCapacity",
+ "capacityLevel"
+ ]
+ },
+ "domino.workspace.api.git.ContinueMergeConflictResolutionRequest": {
+ "properties": {
+ "repository": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.MergeConflictRepository"
+ },
+ "shouldCommitAndPush": { "type": "boolean" }
+ },
+ "required": ["repository", "shouldCommitAndPush"]
+ },
+ "domino.nucleus.project.models.UpdateProjectVisibility": {
+ "properties": {
+ "visibility": {
+ "type": "string",
+ "enum": ["Public", "Searchable", "Private"]
+ }
+ },
+ "required": ["visibility"]
+ },
+ "domino.datasource.api.DataSourceAdminInfoDto": {
+ "properties": {
+ "projectNames": {
+ "type": "collection.immutable.map[domino.common.dominoid,string]"
+ },
+ "projectIdOwnerUsernameMap": {
+ "type": "collection.immutable.map[domino.common.dominoid,string]"
+ },
+ "projectLastActiveMap": {
+ "type": "collection.immutable.map[domino.common.dominoid,option[java.time.instant]]"
+ }
+ },
+ "required": [
+ "projectNames",
+ "projectIdOwnerUsernameMap",
+ "projectLastActiveMap"
+ ]
+ },
+ "domino.workspaces.web.WorkspaceRelaunchOperationRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "workspaceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "useOriginalInputCommit": { "type": "boolean" }
+ },
+ "required": ["projectId", "workspaceId", "useOriginalInputCommit"]
+ },
+ "domino.nucleus.modelproduct.models.ModelProduct": {
+ "properties": {
+ "modelProductType": {
+ "type": "string",
+ "enum": ["APP", "BATCH", "REPORT", "SCORER"]
+ },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "description": { "type": "string", "nullable": true },
+ "publisher": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.common.user.Person"
+ },
+ "created": { "type": "string", "format": "date-time" },
+ "lastUpdated": { "type": "string", "format": "date-time" },
+ "status": { "type": "string" },
+ "media": { "type": "array", "items": { "type": "string" } },
+ "openUrl": { "type": "string", "nullable": true },
+ "projectUrl": { "type": "string", "nullable": true },
+ "tags": { "type": "array", "items": { "type": "string" } },
+ "stats": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.Stats"
+ },
+ "appExtension": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.App"
+ },
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "latestAppVersionId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "runningAppUrl": { "type": "string", "nullable": true },
+ "runningCommitId": { "type": "string", "nullable": true },
+ "hardwareTierId": { "type": "string", "nullable": true },
+ "permissionsData": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.PermissionsData"
+ },
+ "runDescribeUrl": { "type": "string", "nullable": true },
+ "goalIds": {
+ "type": "array",
+ "nullable": true,
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": [
+ "modelProductType",
+ "projectId",
+ "name",
+ "created",
+ "lastUpdated",
+ "status",
+ "media",
+ "tags",
+ "stats",
+ "id",
+ "permissionsData"
+ ]
+ },
+ "domino.activity.api.CommentedOnFileMetaData": {
+ "properties": {
+ "commitId": { "type": "string" },
+ "fileName": { "type": "string" },
+ "separator": { "type": "string" }
+ },
+ "required": ["commitId", "fileName", "separator"]
+ },
+ "domino.datasetrw.web.UpdateDatasetStatusRequest": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "Pending",
+ "Deleted",
+ "DeletionInProgress",
+ "Failed",
+ "Active",
+ "MarkedForDeletion"
+ ]
+ }
+ },
+ "required": ["status"]
+ },
+ "domino.gruz.api.RunDependencyProject": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commitId": { "type": "string" }
+ },
+ "required": ["id", "commitId"]
+ },
+ "domino.workspace.api.WorkspaceSessionProvenanceDto": {
+ "properties": {
+ "workspaceSessionId": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "provenanceCheckpoints": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.provenance.api.ProvenanceCheckpointDto"
+ }
+ }
+ },
+ "required": ["workspaceSessionId", "provenanceCheckpoints"]
+ },
+ "domino.nucleus.project.models.Project": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "description": { "type": "string" },
+ "visibility": { "type": "string" },
+ "ownerId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "ownerUsername": { "type": "string" },
+ "mainRepository": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.server.projects.domain.entities.ProjectGitRepository"
+ },
+ "importedGitRepos": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.GitRepositoryDTO"
+ }
+ },
+ "collaboratorIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{40}$" }
+ },
+ "collaborators": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.CollaboratorDTO"
+ }
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectTagDTO"
+ }
+ },
+ "stageId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "status": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStatus"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "description",
+ "visibility",
+ "ownerId",
+ "ownerUsername",
+ "importedGitRepos",
+ "collaboratorIds",
+ "collaborators",
+ "tags",
+ "stageId",
+ "status"
+ ]
+ },
+ "domino.nucleus.modelproduct.models.AccessRequest": {
+ "properties": {
+ "userId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "redirect": { "type": "boolean", "nullable": true }
+ },
+ "required": ["userId"]
+ },
+ "domino.nucleus.modelproduct.models.StartParams": {
+ "properties": {
+ "hardwareTierId": { "type": "string", "nullable": true },
+ "datasetConfigName": { "type": "string", "nullable": true },
+ "externalVolumeMountIds": {
+ "type": "array",
+ "nullable": true,
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ }
+ },
+ "domino.projects.api.ProjectStatus": {
+ "properties": {
+ "status": { "type": "string", "enum": ["active", "complete"] },
+ "isBlocked": { "type": "boolean" },
+ "blockedReason": { "type": "string", "nullable": true },
+ "completedMessage": { "type": "string", "nullable": true }
+ },
+ "required": ["status", "isBlocked"]
+ },
+ "domino.projects.api.EntityLinkMetadata": { "properties": {} },
+ "domino.projects.web.CreateProjectStage": {
+ "properties": { "stage": { "type": "string" } },
+ "required": ["stage"]
+ },
+ "domino.nucleus.dataset.ui.MountConfigViewModel": {
+ "properties": {
+ "datasetId": { "type": "string" },
+ "useLatest": { "type": "boolean" },
+ "useTag": { "type": "string", "nullable": true },
+ "useId": { "nullable": true, "type": "string" },
+ "path": { "type": "string" }
+ },
+ "required": ["datasetId", "useLatest", "path"]
+ },
+ "domino.projects.api.AssetUsageValues": {
+ "properties": {
+ "timestamp": { "type": "integer", "format": "epoch" },
+ "statusCode": { "type": "integer", "format": "int32" },
+ "usageCount": { "type": "integer", "format": "int64" }
+ },
+ "required": ["timestamp", "statusCode", "usageCount"]
+ },
+ "domino.workspace.api.WorkspaceSessionStatsDto": {
+ "properties": {
+ "lastStartTime": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ },
+ "lastEndTime": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ },
+ "runTimeSec": { "type": "integer", "format": "int64" }
+ },
+ "required": ["runTimeSec"]
+ },
+ "domino.jobs.interface.PaginationFilter": {
+ "properties": {
+ "limit": { "type": "integer", "format": "int32" },
+ "offset": { "type": "integer", "format": "int32" },
+ "latestTimeNano": { "type": "string", "nullable": true }
+ },
+ "required": ["limit", "offset"]
+ },
+ "domino.workspace.api.WorkspaceAdminPageClusterInfo": {
+ "properties": {
+ "clusterType": { "$ref": "#/components/schemas/ComputeClusterType" },
+ "minWorkers": { "type": "integer", "format": "int32" },
+ "maxWorkers": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ }
+ },
+ "required": ["clusterType", "minWorkers"]
+ },
+ "domino.datasource.web.CreateDataSourceRequest": {
+ "properties": {
+ "name": { "type": "string" },
+ "dataSourceType": {
+ "type": "string",
+ "enum": ["SnowflakeConfig", "RedshiftConfig"]
+ },
+ "description": { "type": "string", "nullable": true },
+ "projectId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "accountName": { "type": "string", "nullable": true },
+ "database": { "type": "string", "nullable": true },
+ "schema": { "type": "string", "nullable": true },
+ "warehouse": { "type": "string", "nullable": true },
+ "role": { "type": "string", "nullable": true },
+ "host": { "type": "string", "nullable": true },
+ "port": { "type": "string", "nullable": true },
+ "credentialType": {
+ "type": "string",
+ "enum": ["Individual", "Shared"]
+ },
+ "username": { "type": "string", "nullable": true },
+ "password": { "type": "string", "nullable": true },
+ "isEveryone": { "type": "boolean" },
+ "userIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": [
+ "name",
+ "dataSourceType",
+ "credentialType",
+ "isEveryone",
+ "userIds"
+ ]
+ },
+ "domino.projects.api.repositories.responses.browse.RepoBrowserEntryDTO": {
+ "properties": {
+ "kind": { "type": "string", "enum": ["file", "dir"] },
+ "sha": { "type": "string" },
+ "name": { "type": "string" },
+ "path": { "type": "string" },
+ "modified": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.responses.browse.CommitShortDTO"
+ }
+ },
+ "required": ["kind", "sha", "name", "path", "modified"]
+ },
+ "domino.jobs.interface.Job": {
+ "properties": {
+ "number": { "type": "integer", "format": "int32" },
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "queuedJobHistoryDetails": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.jobs.interface.QueuedJobHistoryDetails"
+ },
+ "stageTime": {
+ "$ref": "#/components/schemas/domino.jobs.interface.StageTime"
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.TagApplication"
+ }
+ },
+ "jobRunCommand": { "type": "string" },
+ "usage": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.jobs.interface.JobUsageInJob"
+ },
+ "startedBy": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.jobs.interface.JobStartedBy"
+ },
+ "commentsCount": { "type": "integer", "format": "int32" },
+ "title": { "type": "string", "nullable": true },
+ "commitDetails": {
+ "$ref": "#/components/schemas/domino.jobs.interface.CommitDetails"
+ },
+ "dominoStats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.DominoStats"
+ }
+ },
+ "statuses": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobStatuses"
+ },
+ "mainRepoGitRef": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.repositories.ReferenceDTO"
+ },
+ "dependentRepositories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.DependentRepository"
+ }
+ },
+ "dependentDatasetMounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.DependentDatasetMount"
+ }
+ },
+ "dependentProjects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.DependentProject"
+ }
+ },
+ "suggestDatasets": { "type": "boolean" },
+ "goalIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "runLauncherId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "dependentExternalVolumeMounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.DependentExternalVolumeMount"
+ }
+ },
+ "computeCluster": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.jobs.interface.ComputeClusterConfigSpecDto"
+ }
+ },
+ "required": [
+ "number",
+ "id",
+ "stageTime",
+ "tags",
+ "jobRunCommand",
+ "commentsCount",
+ "commitDetails",
+ "dominoStats",
+ "statuses",
+ "dependentRepositories",
+ "dependentDatasetMounts",
+ "dependentProjects",
+ "suggestDatasets",
+ "goalIds",
+ "dependentExternalVolumeMounts"
+ ]
+ },
+ "domino.projects.api.repositories.responses.GetBranchesApiResponse": {
+ "properties": {
+ "currentItemCount": { "type": "integer", "format": "int32" },
+ "itemsPerPage": { "type": "integer", "format": "int32" },
+ "startIndex": { "type": "integer", "format": "int32" },
+ "totalItems": { "type": "integer", "format": "int32" },
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.responses.BranchEntryDTO"
+ }
+ }
+ },
+ "required": [
+ "currentItemCount",
+ "itemsPerPage",
+ "startIndex",
+ "totalItems",
+ "items"
+ ]
+ },
+ "domino.jobs.web.UnlinkJobfromGoalRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "goalId"]
+ },
+ "domino.workspaces.api.ExecutorInfo": {
+ "properties": {
+ "executorInstanceId": { "type": "string" },
+ "region": { "type": "string" },
+ "humanName": { "type": "string", "nullable": true },
+ "publicAddress": { "type": "string", "nullable": true },
+ "privateAddress": { "type": "string", "nullable": true }
+ },
+ "required": ["executorInstanceId", "region"]
+ },
+ "domino.nucleus.project.models.Collaborator": {
+ "properties": {
+ "collaboratorId": { "type": "string" },
+ "projectRole": {
+ "type": "string",
+ "enum": [
+ "Contributor",
+ "LauncherUser",
+ "ResultsConsumer",
+ "ProjectImporter"
+ ]
+ }
+ },
+ "required": ["collaboratorId", "projectRole"]
+ },
+ "domino.gruz.api.VerbatimBoundPort": {
+ "properties": {
+ "environmentVariableName": { "type": "string" },
+ "assignPortFromRange": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.gruz.api.PortsRange"
+ },
+ "name": { "type": "string", "nullable": true },
+ "port": { "type": "integer", "format": "int32", "nullable": true }
+ },
+ "required": ["environmentVariableName"]
+ },
+ "domino.datasource.api.DataSourceDto": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "description": { "type": "string", "nullable": true },
+ "ownerId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "ownerName": { "type": "string" },
+ "addedBy": {
+ "type": "collection.immutable.map[domino.common.dominoid,string]"
+ },
+ "dataSourceType": {
+ "type": "string",
+ "enum": ["SnowflakeConfig", "RedshiftConfig"]
+ },
+ "config": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceConfig"
+ },
+ "credentialType": {
+ "type": "string",
+ "enum": ["Individual", "Shared"]
+ },
+ "lastUpdated": { "type": "integer", "format": "int64" },
+ "lastUpdatedBy": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "addedToProjectTimeMap": {
+ "type": "collection.immutable.map[domino.common.dominoid,long]"
+ },
+ "isEveryone": { "type": "boolean" },
+ "userIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "projectIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "adminInfo": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceAdminInfoDto"
+ },
+ "status": { "type": "string", "enum": ["Active", "Deleted"] }
+ },
+ "required": [
+ "id",
+ "name",
+ "ownerId",
+ "ownerName",
+ "addedBy",
+ "dataSourceType",
+ "config",
+ "credentialType",
+ "lastUpdated",
+ "lastUpdatedBy",
+ "addedToProjectTimeMap",
+ "isEveryone",
+ "userIds",
+ "projectIds",
+ "adminInfo",
+ "status"
+ ]
+ },
+ "domino.jobs.interface.JobsTimelineSet": {
+ "properties": {
+ "jobsTimeline": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobsTimelineRecord"
+ }
+ },
+ "dominoStatColumns": {
+ "type": "array",
+ "items": { "type": "string" }
+ }
+ },
+ "required": ["jobsTimeline", "dominoStatColumns"]
+ },
+ "domino.nucleus.dataset.ui.AdvancedDatasetConfigurationViewModels": {
+ "properties": {
+ "models": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.dataset.ui.AdvancedDatasetConfigurationViewModel"
+ }
+ }
+ },
+ "required": ["models"]
+ },
+ "domino.projects.api.repositories.requests.CreateRepoRequest": {
+ "properties": {
+ "serviceProvider": {
+ "type": "string",
+ "enum": [
+ "github",
+ "gitlab",
+ "githubEnterprise",
+ "unknown",
+ "gitlabEnterprise",
+ "bitbucket",
+ "bitbucketServer"
+ ]
+ },
+ "credentialId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "repositoryName": { "type": "string" },
+ "owner": { "type": "string" },
+ "isPrivate": { "type": "boolean" }
+ },
+ "required": [
+ "serviceProvider",
+ "credentialId",
+ "repositoryName",
+ "owner",
+ "isPrivate"
+ ]
+ },
+ "domino.workspace.api.WorkspaceAdminPageSummaryDto": {
+ "properties": {
+ "totalNumWorkspaces": { "type": "integer", "format": "int64" },
+ "maxAllowedNumWorkspaces": { "type": "integer", "format": "int64" },
+ "totalAllocatedVolumeSize": {
+ "$ref": "#/components/schemas/Information"
+ },
+ "maxAllowedAllocatedVolumeSize": {
+ "nullable": true,
+ "$ref": "#/components/schemas/Information"
+ },
+ "totalStartedWorkspaces": { "type": "integer", "format": "int64" }
+ },
+ "required": [
+ "totalNumWorkspaces",
+ "maxAllowedNumWorkspaces",
+ "totalAllocatedVolumeSize",
+ "totalStartedWorkspaces"
+ ]
+ },
+ "domino.workspace.api.git.MergeConflictRepository": {
+ "properties": {
+ "repoId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "repoName": { "type": "string" }
+ },
+ "required": ["repoId", "repoName"]
+ },
+ "domino.workspaces.api.DependentRepository": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "uri": { "type": "string" },
+ "ref": { "type": "string" },
+ "serviceProvider": { "type": "string" },
+ "startingCommitId": { "nullable": true, "type": "string" },
+ "finishedCommitId": { "nullable": true, "type": "string" },
+ "startingBranch": { "type": "string", "nullable": true },
+ "finishedBranch": { "type": "string", "nullable": true }
+ },
+ "required": ["id", "name", "uri", "ref", "serviceProvider"]
+ },
+ "domino.modelmanager.api.ModelGoal": {
+ "properties": {
+ "modelVersionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "modelVersion": { "type": "integer", "format": "int32" },
+ "modelId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": [
+ "modelVersionId",
+ "goalId",
+ "projectId",
+ "modelVersion",
+ "modelId"
+ ]
+ },
+ "domino.projectManagement.web.CommentRequest": {
+ "properties": { "comment": { "type": "string" } },
+ "required": ["comment"]
+ },
+ "domino.scheduledrun.api.NewScheduledJobDto": {
+ "properties": {
+ "title": { "type": "string" },
+ "command": { "type": "string" },
+ "schedule": {
+ "$ref": "#/components/schemas/domino.scheduledrun.api.EditCronScheduleDTO"
+ },
+ "timezoneId": { "type": "string" },
+ "isPaused": { "type": "boolean" },
+ "publishAfterCompleted": { "type": "boolean" },
+ "publishModelId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "allowConcurrentExecution": { "type": "boolean" },
+ "hardwareTierIdentifier": { "type": "string" },
+ "overrideEnvironmentId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "overrideEnvironmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "scheduledByUserId": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "notifyOnCompleteEmailAddresses": {
+ "type": "array",
+ "items": { "type": "string" }
+ },
+ "datasetConfig": { "type": "string", "nullable": true },
+ "onDemandSparkClusterProperties": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.OnDemandSparkClusterPropertiesSpec"
+ },
+ "computeClusterProperties": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.scheduledrun.api.ComputeClusterConfigSpecDto"
+ }
+ },
+ "required": [
+ "title",
+ "command",
+ "schedule",
+ "timezoneId",
+ "isPaused",
+ "publishAfterCompleted",
+ "allowConcurrentExecution",
+ "hardwareTierIdentifier",
+ "scheduledByUserId",
+ "notifyOnCompleteEmailAddresses"
+ ]
+ },
+ "domino.environments.api.PaginatedRevisionInfo": {
+ "properties": {
+ "totalPages": { "type": "integer", "format": "int32" },
+ "currentPage": { "type": "integer", "format": "int32" },
+ "pageSize": { "type": "integer", "format": "int32" }
+ },
+ "required": ["totalPages", "currentPage", "pageSize"]
+ },
+ "domino.environments.api.ProxyConfig": {
+ "properties": {
+ "internalPath": { "type": "string" },
+ "port": { "type": "integer", "format": "int32" },
+ "rewrite": { "type": "boolean" }
+ },
+ "required": ["internalPath", "port", "rewrite"]
+ },
+ "domino.workspaces.api.StageTime": {
+ "properties": {
+ "submissionTime": { "type": "integer", "format": "epoch" },
+ "startTime": {
+ "type": "integer",
+ "format": "epoch",
+ "nullable": true
+ },
+ "completedTime": {
+ "type": "integer",
+ "format": "epoch",
+ "nullable": true
+ }
+ },
+ "required": ["submissionTime"]
+ },
+ "domino.nucleus.dataset.ui.DataSetFileBrowserEntry": {
+ "properties": {
+ "isDir": { "type": "boolean", "nullable": true },
+ "label": { "type": "string" },
+ "sortableName": { "type": "string", "nullable": true },
+ "fileName": { "type": "string", "nullable": true },
+ "url": { "type": "string", "nullable": true },
+ "inBytes": { "type": "integer", "format": "int64", "nullable": true }
+ },
+ "required": ["label"]
+ },
+ "domino.workspace.api.WorkspaceSessionStatusInfo": {
+ "properties": {
+ "rawExecutionDisplayStatus": { "type": "string" },
+ "rawExecutionDisplayStatusUpdatedAt": {
+ "type": "string",
+ "format": "date-time"
+ },
+ "isLoading": { "type": "boolean" },
+ "isRunning": { "type": "boolean" },
+ "isStoppable": { "type": "boolean" },
+ "isCompleting": { "type": "boolean" },
+ "isFailed": { "type": "boolean" },
+ "isSuccessful": { "type": "boolean" },
+ "isCompleted": { "type": "boolean" }
+ },
+ "required": [
+ "rawExecutionDisplayStatus",
+ "rawExecutionDisplayStatusUpdatedAt",
+ "isLoading",
+ "isRunning",
+ "isStoppable",
+ "isCompleting",
+ "isFailed",
+ "isSuccessful",
+ "isCompleted"
+ ]
+ },
+ "domino.provenance.api.ProvenanceCommit": {
+ "properties": {
+ "commitId": { "type": "string" },
+ "branchName": { "type": "string" }
+ },
+ "required": ["commitId", "branchName"]
+ },
+ "domino.server.projects.api.ProjectGatewaySummary": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "ownerId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "ownerName": { "type": "string" },
+ "description": { "type": "string" },
+ "visibility": {
+ "type": "string",
+ "enum": ["Public", "Searchable", "Private"]
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.projects.api.ProjectGatewayTag"
+ }
+ },
+ "runCounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.server.projects.api.ProjectGatewayRunCountForType"
+ }
+ },
+ "latestResultTimestamp": {
+ "nullable": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ "latestResultRunId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "relationship": {
+ "type": "string",
+ "enum": ["Owned", "Collaborating", "Suggested", "Popular"]
+ },
+ "projectType": { "type": "string", "enum": ["Analytic", "DataSet"] },
+ "stageId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "status": {
+ "$ref": "#/components/schemas/domino.server.projects.api.ProjectStatus"
+ },
+ "mainGitRepositoryUri": { "type": "string", "nullable": true },
+ "serviceProvider": {
+ "type": "string",
+ "nullable": true,
+ "enum": [
+ "github",
+ "gitlab",
+ "githubEnterprise",
+ "unknown",
+ "gitlabEnterprise",
+ "bitbucket",
+ "bitbucketServer"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "ownerId",
+ "ownerName",
+ "description",
+ "visibility",
+ "tags",
+ "runCounts",
+ "relationship",
+ "projectType",
+ "stageId",
+ "status"
+ ]
+ },
+ "domino.nucleus.project.models.ForkOrCopyProject": {
+ "properties": {
+ "name": { "type": "string", "nullable": true },
+ "description": { "type": "string", "nullable": true },
+ "visibility": {
+ "type": "string",
+ "nullable": true,
+ "enum": ["Public", "Searchable", "Private"]
+ },
+ "ownerId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "collaborators": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.CollaboratorDTO"
+ }
+ },
+ "tags": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.NewTagsDTO"
+ }
+ }
+ },
+ "domino.environments.api.RevisionOverview": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "number": { "type": "integer", "format": "int32" },
+ "status": {
+ "type": "string",
+ "nullable": true,
+ "enum": [
+ "Pushing",
+ "Killed",
+ "Starting",
+ "Queued",
+ "Pulling",
+ "Succeeded",
+ "Failed",
+ "Building"
+ ]
+ },
+ "url": { "type": "string" },
+ "availableTools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.environments.api.EnvironmentWorkspaceToolDefinition"
+ }
+ }
+ },
+ "required": ["id", "number", "url", "availableTools"]
+ },
+ "domino.workspaces.web.LinkWorkspaceToGoal": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "goalId"]
+ },
+ "domino.datasetrw.api.DatasetRwDto": {
+ "type": "object",
+ "properties": {
+ "lifecycleStatus": {
+ "type": "string",
+ "enum": [
+ "Pending",
+ "Deleted",
+ "DeletionInProgress",
+ "Failed",
+ "Active",
+ "MarkedForDeletion"
+ ]
+ },
+ "author": {
+ "nullable": true,
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "string"
+ },
+ "snapshotIds": {
+ "type": "array",
+ "items": { "pattern": "^[0-9a-f]{24}$", "type": "string" }
+ },
+ "description": { "nullable": true, "type": "string" },
+ "statusLastUpdatedBy": {
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "string"
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "type": "object"
+ },
+ "datasetPath": { "type": "string" },
+ "readWriteSnapshotId": {
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "string"
+ },
+ "name": { "type": "string" },
+ "createdTime": { "format": "int64", "type": "integer" },
+ "statusLastUpdatedTime": { "format": "int64", "type": "integer" },
+ "id": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "projectId": {
+ "nullable": true,
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "snapshotIds",
+ "tags",
+ "createdTime",
+ "lifecycleStatus",
+ "statusLastUpdatedBy",
+ "statusLastUpdatedTime",
+ "readWriteSnapshotId",
+ "datasetPath"
+ ]
+ },
+ "domino.activity.api.ProjectGoalCreateActivityMetadata": {
+ "properties": {
+ "title": { "type": "string" },
+ "description": { "type": "string", "nullable": true }
+ },
+ "required": ["title"]
+ },
+ "domino.workspace.api.WorkspaceSortableColumns.Value": {
+ "properties": {}
+ },
+ "Organization": {
+ "type": "object",
+ "properties": {
+ "id": { "type": "string", "description": "Organization identifier" },
+ "organizationUserId": {
+ "type": "string",
+ "description": "User id of Organization user"
+ },
+ "name": { "type": "string", "description": "Organization name" },
+ "members": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.organization.models.OrganizationMember"
+ },
+ "description": "List of the organization members"
+ },
+ "defaultEnvironment": {
+ "type": "string",
+ "description": "Default environment used in the organization"
+ },
+ "legacyDefaultEnvironment": {
+ "type": "string",
+ "description": "Legacy default environment used in the organization"
+ }
+ },
+ "required": ["id", "name", "organizationUserId", "members"]
+ },
+ "domino.nucleus.organization.models.OrganizationMember": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "role": { "type": "string", "enum": ["Member", "Admin"] }
+ },
+ "required": ["id", "role"]
+ },
+ "domino.workspace.api.WorkspaceDatasetMountDto": {
+ "properties": {
+ "datasetId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "snapshot": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceDatasetSnapshotDto"
+ },
+ "datasetName": { "type": "string" },
+ "containerPath": { "type": "string" },
+ "isInput": { "type": "boolean" }
+ },
+ "required": ["datasetId", "datasetName", "containerPath", "isInput"]
+ },
+ "domino.workspaces.api.Comment": {
+ "properties": {
+ "commentId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commenter": {
+ "$ref": "#/components/schemas/domino.workspaces.api.Commenter"
+ },
+ "commentBody": {
+ "$ref": "#/components/schemas/domino.workspaces.api.CommentContent"
+ },
+ "created": { "type": "integer", "format": "epoch" }
+ },
+ "required": ["commentId", "commenter", "commentBody", "created"]
+ },
+ "domino.server.controlcenter.OrganizationStatsDTO": {
+ "properties": {
+ "id": { "type": "string" },
+ "fullName": { "type": "string" },
+ "totalComputeTimeInMillis": { "type": "integer", "format": "int64" },
+ "totalComputeSpend": {
+ "$ref": "#/components/schemas/domino.server.controlcenter.MoneyDTO"
+ },
+ "numberOfRuns": { "type": "integer", "format": "int32" },
+ "numberOfProjectsWithRuns": { "type": "integer", "format": "int32" }
+ },
+ "required": [
+ "id",
+ "fullName",
+ "totalComputeTimeInMillis",
+ "totalComputeSpend",
+ "numberOfRuns",
+ "numberOfProjectsWithRuns"
+ ]
+ },
+ "domino.projects.api.AssetPortfolioSet": {
+ "properties": {
+ "totalCount": { "type": "integer", "format": "int32" },
+ "assetPortfolios": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.AssetPortfolioElement"
+ }
+ },
+ "filter": {
+ "$ref": "#/components/schemas/domino.projects.api.AssetPortfolioPaginationFilter"
+ }
+ },
+ "required": ["totalCount", "assetPortfolios", "filter"]
+ },
+ "domino.jobs.interface.JobsTimelineDiagnosticStatRecord": {
+ "properties": {
+ "name": { "type": "string" },
+ "value": { "type": "number", "format": "double" }
+ },
+ "required": ["name", "value"]
+ },
+ "domino.datasource.api.DataSourceConfigFieldInfoDto": {
+ "properties": {
+ "name": { "type": "string" },
+ "label": { "type": "string" },
+ "optional": { "type": "boolean" },
+ "regex": { "type": "string" }
+ },
+ "required": ["name", "label", "optional", "regex"]
+ },
+ "domino.projects.web.RaiseBlockerToProject": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "blockerReason": { "type": "string" }
+ },
+ "required": ["projectId", "blockerReason"]
+ },
+ "domino.jobs.web.ArchiveComment": {
+ "properties": {
+ "commentId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["commentId"]
+ },
+ "DominoId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "domino.jobs.web.LinkJobtoGoalRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "goalId"]
+ },
+ "domino.gruz.api.DatasetMount": {
+ "properties": {
+ "containerPath": { "type": "string" },
+ "datasetId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "snapshotId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "isReadOnly": { "type": "boolean" },
+ "storageMode": { "type": "string", "nullable": true },
+ "resourceId": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.gruz.api.ResourceId"
+ },
+ "resourcePath": { "type": "string", "nullable": true }
+ },
+ "required": ["containerPath", "isReadOnly"]
+ },
+ "domino.datamount.api.DataMountDto": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "description": { "type": "string", "nullable": true },
+ "volumeType": { "type": "string", "enum": ["Nfs", "Smb", "Efs"] },
+ "pvcName": { "type": "string" },
+ "pvId": { "type": "string" },
+ "mountPath": { "type": "string" },
+ "users": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "projects": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "readOnly": { "type": "boolean" },
+ "isPublic": { "type": "boolean" },
+ "isRegistered": { "type": "boolean" },
+ "status": { "type": "string", "nullable": true }
+ },
+ "required": [
+ "id",
+ "name",
+ "volumeType",
+ "pvcName",
+ "pvId",
+ "mountPath",
+ "users",
+ "projects",
+ "readOnly",
+ "isPublic",
+ "isRegistered"
+ ]
+ },
+ "domino.projects.api.DefaultOnDemandSparkClusterPropertiesSpec": {
+ "properties": {
+ "computeEnvironmentId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "computeEnvironmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "executorCount": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "executorHardwareTierId": { "type": "string", "nullable": true },
+ "executorStorage": {
+ "nullable": true,
+ "$ref": "#/components/schemas/Information"
+ },
+ "masterHardwareTierId": { "type": "string", "nullable": true },
+ "maximumExecutionSlotsPerUser": {
+ "type": "integer",
+ "format": "int32"
+ }
+ },
+ "required": ["maximumExecutionSlotsPerUser"]
+ },
+ "domino.server.controlcenter.UserStatsDTO": {
+ "properties": {
+ "id": { "type": "string" },
+ "fullName": { "type": "string" },
+ "totalComputeTimeInMillis": { "type": "integer", "format": "int64" },
+ "totalComputeSpend": {
+ "$ref": "#/components/schemas/domino.server.controlcenter.MoneyDTO"
+ },
+ "numberOfRuns": { "type": "integer", "format": "int32" },
+ "numberOfProjectsWithRuns": { "type": "integer", "format": "int32" },
+ "username": { "type": "string" }
+ },
+ "required": [
+ "id",
+ "fullName",
+ "totalComputeTimeInMillis",
+ "totalComputeSpend",
+ "numberOfRuns",
+ "numberOfProjectsWithRuns",
+ "username"
+ ]
+ },
+ "domino.provenance.web.UpsertProvenanceCheckpointRequest": {
+ "properties": {
+ "executionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "syncOperationInfo": {
+ "$ref": "#/components/schemas/domino.provenance.api.SyncOperationInfo"
+ },
+ "commitMessage": { "type": "string" },
+ "dfsCommitId": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.provenance.api.ProvenanceCommit"
+ },
+ "importedRepositories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.provenance.api.ProvenanceGitRepo"
+ }
+ },
+ "createdBy": { "type": "string", "enum": ["Sync", "ExecutionInit"] }
+ },
+ "required": [
+ "executionId",
+ "syncOperationInfo",
+ "commitMessage",
+ "importedRepositories",
+ "createdBy"
+ ]
+ },
+ "domino.files.interface.CommentContext": { "properties": {} },
+ "SyncOperationType": {
+ "type": "string",
+ "description": "Type of sync operation taking place",
+ "enum": ["onlyDfs", "onlyGit", "gitAndDfs"]
+ },
+ "domino.activity.api.ProjectLinkChangeActivityMetadata": {
+ "properties": {
+ "ticketKey": { "type": "string" },
+ "ticketUrl": { "type": "string" },
+ "projectLinkAction": { "type": "string", "enum": ["Link", "Unlink"] },
+ "keepExistingGoals": { "type": "boolean" }
+ },
+ "required": [
+ "ticketKey",
+ "ticketUrl",
+ "projectLinkAction",
+ "keepExistingGoals"
+ ]
+ },
+ "domino.projectManagement.api.DominoEntity": {
+ "properties": {
+ "entityId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "entityType": {
+ "type": "string",
+ "enum": [
+ "DominoProject",
+ "DominoGoal",
+ "DominoStage",
+ "DominoComment"
+ ]
+ }
+ },
+ "required": ["entityId", "entityType"]
+ },
+ "domino.nucleus.modelproduct.models.UsageStatisticsRecorded": {
+ "properties": {
+ "productId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "timestampInSec": { "type": "integer", "format": "int64" }
+ },
+ "required": ["productId", "timestampInSec"]
+ },
+ "domino.projectManagement.web.UnlinkFileFromGoalRequest": {
+ "properties": {
+ "fileName": { "type": "string" },
+ "commitId": { "type": "string" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["fileName", "commitId", "projectId", "goalId"]
+ },
+ "domino.nucleus.dataset.ui.SetLimitOverrideInput": {
+ "properties": { "ignoreLimits": { "type": "boolean" } },
+ "required": ["ignoreLimits"]
+ },
+ "domino.workspace.api.ComputeClusterConfigDto": {
+ "properties": {
+ "clusterType": { "$ref": "#/components/schemas/ComputeClusterType" },
+ "computeEnvironmentId": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "computeEnvironmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "masterHardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "workerCount": { "type": "integer", "format": "int32" },
+ "maxWorkerCount": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "workerHardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "workerStorage": {
+ "nullable": true,
+ "$ref": "#/components/schemas/Information"
+ },
+ "extraConfigs": {
+ "type": "collection.immutable.map[string,string]",
+ "nullable": true
+ }
+ },
+ "required": [
+ "clusterType",
+ "computeEnvironmentId",
+ "masterHardwareTierId",
+ "workerCount",
+ "workerHardwareTierId"
+ ]
+ },
+ "domino.files.web.CreateFileComment": {
+ "properties": {
+ "comment": { "type": "string" },
+ "fileName": { "type": "string" },
+ "commitId": { "type": "string" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["comment", "fileName", "commitId", "projectId"]
+ },
+ "domino.common.modelproduct.AppCodeInfoRepositoryDto": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "linkText": { "type": "string" },
+ "fullUrl": { "type": "string" },
+ "commit": { "type": "string", "nullable": true },
+ "commitResourceLink": { "type": "string", "nullable": true }
+ },
+ "required": ["id", "linkText", "fullUrl"]
+ },
+ "domino.projects.api.EnvironmentOwner": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "username": { "type": "string" },
+ "environmentOwnerType": {
+ "type": "string",
+ "enum": ["Organization", "Individual"]
+ }
+ },
+ "required": ["id", "username", "environmentOwnerType"]
+ },
+ "domino.provenance.api.ProvenanceImportedProject": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectName": { "type": "string" },
+ "ownerId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "directoryName": { "type": "string", "nullable": true },
+ "commitId": { "type": "string" },
+ "release": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ }
+ },
+ "required": ["projectId", "projectName", "ownerId", "commitId"]
+ },
+ "domino.workspace.api.git.StageLocalCommitFileRequest": {
+ "properties": {
+ "repoId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "filePath": { "type": "string" }
+ },
+ "required": ["repoId", "filePath"]
+ },
+ "domino.workspaces.api.PaginationFilter": {
+ "properties": {
+ "limit": { "type": "integer", "format": "int32" },
+ "offset": { "type": "integer", "format": "int32" },
+ "latestTimeNano": { "type": "string", "nullable": true }
+ },
+ "required": ["limit", "offset"]
+ },
+ "domino.server.projects.api.Owner": {
+ "properties": {
+ "id": { "type": "string", "nullable": true },
+ "userName": { "type": "string" }
+ },
+ "required": ["userName"]
+ },
+ "domino.common.run.interfaces.RunDTO": {
+ "properties": { "runId": { "type": "string" } },
+ "required": ["runId"]
+ },
+ "domino.nucleus.project.ProjectSettingsUpdateDto": {
+ "properties": {
+ "defaultEnvironmentId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "defaultEnvironmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "defaultHardwareTierId": { "type": "string", "nullable": true },
+ "defaultVolumeSizeGiB": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ }
+ }
+ },
+ "domino.files.interface.FileSearchQuery": {
+ "properties": { "value": { "type": "string" } },
+ "required": ["value"]
+ },
+ "domino.datasetrw.api.DatasetRwProjectDetailsDto": {
+ "properties": {
+ "sourceProjectName": { "type": "string" },
+ "sourceProjectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "sourceProjectOwnerUsername": { "type": "string" },
+ "sharedProjectNames": {
+ "type": "array",
+ "items": { "type": "string" }
+ },
+ "sharedProjectIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "sharedProjectOwnerUsernames": {
+ "type": "array",
+ "items": { "type": "string" }
+ }
+ },
+ "required": [
+ "sourceProjectName",
+ "sourceProjectId",
+ "sourceProjectOwnerUsername",
+ "sharedProjectNames",
+ "sharedProjectIds",
+ "sharedProjectOwnerUsernames"
+ ]
+ },
+ "domino.workspaces.api.CommentContext": {
+ "properties": {
+ "commentType": {
+ "type": "string",
+ "enum": [
+ "WorkspaceCommentThread",
+ "WorkspaceResultFileCommentThread"
+ ]
+ },
+ "workspaceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "fileName": { "type": "string", "nullable": true },
+ "commitId": { "type": "string", "nullable": true }
+ },
+ "required": ["commentType", "workspaceId"]
+ },
+ "domino.jobs.web.StartJobRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commandToRun": { "type": "string" },
+ "commitId": { "type": "string", "nullable": true },
+ "mainRepoGitRef": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.repositories.ReferenceDTO"
+ },
+ "overrideHardwareTierId": { "type": "string", "nullable": true },
+ "dataSetMountConfigName": { "type": "string", "nullable": true },
+ "onDemandSparkClusterProperties": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.OnDemandSparkClusterPropertiesSpec"
+ },
+ "computeClusterProperties": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.jobs.interface.ComputeClusterConfigSpecDto"
+ },
+ "environmentId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "environmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "externalVolumeMounts": {
+ "type": "array",
+ "nullable": true,
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": ["projectId", "commandToRun"]
+ },
+ "domino.dataset.api.DatasetSnapshotDto": {
+ "type": "object",
+ "properties": {
+ "resourceId": { "type": "string" },
+ "creationTime": { "format": "int64", "type": "integer" },
+ "author": { "nullable": true, "type": "string" },
+ "deletedByUser": { "nullable": true, "type": "string" },
+ "description": { "nullable": true, "type": "string" },
+ "lastUsedTime": {
+ "nullable": true,
+ "format": "int64",
+ "type": "integer"
+ },
+ "version": { "format": "int32", "type": "integer" },
+ "labels": { "type": "object" },
+ "markedForDeletionTime": {
+ "nullable": true,
+ "format": "int64",
+ "type": "integer"
+ },
+ "deleted": { "type": "boolean" },
+ "deleteTime": {
+ "nullable": true,
+ "format": "int64",
+ "type": "integer"
+ },
+ "storageSize": { "format": "int64", "type": "integer" },
+ "datasetId": { "type": "string" },
+ "id": { "type": "string" },
+ "isPartialSize": { "type": "boolean" },
+ "status": { "type": "string" }
+ },
+ "required": [
+ "id",
+ "resourceId",
+ "datasetId",
+ "version",
+ "labels",
+ "creationTime",
+ "status",
+ "deleted",
+ "storageSize",
+ "isPartialSize"
+ ]
+ },
+ "domino.nucleus.dataset.ui.DatasetViewModel": {
+ "type": "object",
+ "properties": {
+ "snapshotIds": { "type": "array", "items": { "type": "string" } },
+ "name": { "type": "string" },
+ "description": { "nullable": true, "type": "string" },
+ "projectOwner": { "nullable": true, "type": "string" },
+ "id": { "type": "string" },
+ "projectName": { "nullable": true, "type": "string" },
+ "tags": { "type": "object" }
+ },
+ "required": ["id", "name", "snapshotIds", "tags"]
+ },
+ "domino.jobs.web.JobEvents": {
+ "properties": {
+ "jobsUsageEvent": {
+ "$ref": "#/components/schemas/domino.jobs.web.JobsUsageSocketEvent"
+ },
+ "jobStatusChangeEvent": {
+ "$ref": "#/components/schemas/domino.jobs.web.JobStatusChangeSocketEvent"
+ }
+ },
+ "required": ["jobsUsageEvent", "jobStatusChangeEvent"]
+ },
+ "domino.hardwaretier.api.HardwareTierIdentifier": {
+ "properties": { "value": { "type": "string" } },
+ "required": ["value"]
+ },
+ "domino.server.controlcenter.TopItemDTO": {
+ "description": "Represents one of the values for some object for which a specific metric has one of the top values",
+ "type": "object",
+ "properties": {
+ "unit": {
+ "description": "What units this value is in (e.g., \"$\", \"hours\")",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the object for which this metric is at the top",
+ "type": "string"
+ },
+ "id": {
+ "description": "Unique identifier of the ranked metric value",
+ "type": "string"
+ },
+ "value": {
+ "format": "double",
+ "description": "What is the current value of this metric",
+ "type": "number"
+ },
+ "variation": {
+ "format": "double",
+ "description": "Derivative of the value between the previous state and current",
+ "type": "number"
+ },
+ "username": { "type": "string", "nullable": true }
+ },
+ "required": ["id", "name", "value", "unit", "variation"]
+ },
+ "domino.common.modelproduct.AppVersionDetails": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "started": { "type": "integer", "format": "epoch" },
+ "inputCommitId": { "type": "string" },
+ "outputCommitId": { "type": "string", "nullable": true },
+ "resourceUsage": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.AppResourceUsage"
+ },
+ "hardwareTierName": { "type": "string" },
+ "executorDetails": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.common.modelproduct.ExecutorDetails"
+ },
+ "environmentDetails": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.EnvironmentDetails"
+ },
+ "appCodeInfo": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.AppCodeInfoDto"
+ },
+ "status": { "type": "string" }
+ },
+ "required": [
+ "id",
+ "started",
+ "inputCommitId",
+ "resourceUsage",
+ "hardwareTierName",
+ "environmentDetails",
+ "appCodeInfo",
+ "status"
+ ]
+ },
+ "domino.workspaces.web.ArchiveWorkspaceInput": {
+ "properties": {
+ "workspaceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["workspaceId", "projectId"]
+ },
+ "domino.environments.api.EnvironmentWorkspaceToolDefinition": {
+ "properties": {
+ "id": { "type": "string" },
+ "name": { "type": "string" },
+ "title": { "type": "string" },
+ "iconUrl": { "type": "string", "nullable": true },
+ "start": { "type": "array", "items": { "type": "string" } },
+ "proxyConfig": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.environments.api.ProxyConfig"
+ },
+ "supportedFileExtensions": {
+ "type": "array",
+ "nullable": true,
+ "items": { "type": "string" }
+ }
+ },
+ "required": ["id", "name", "title", "start"]
+ },
+ "domino.nucleus.project.models.NewTags": {
+ "properties": {
+ "tagNames": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["tagNames"]
+ },
+ "domino.projects.api.ProjectGoalStageAndStatus": {
+ "properties": {
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "isCompleted": { "type": "boolean" },
+ "stage": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStage"
+ },
+ "lastStageUpdatedAt": { "type": "integer", "format": "epoch" }
+ },
+ "required": ["goalId", "isCompleted", "stage", "lastStageUpdatedAt"]
+ },
+ "domino.nucleus.modelproduct.models.UsageStatisticsTotalResponse": {
+ "properties": {
+ "stats": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.UsageStatistics"
+ }
+ },
+ "required": ["stats"]
+ },
+ "domino.workspace.web.UpdateWorkspaceRequest": {
+ "properties": {
+ "name": { "type": "string" },
+ "environmentId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "environmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "hardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "datasetConfig": { "type": "string", "nullable": true },
+ "tools": { "type": "array", "items": { "type": "string" } },
+ "clusterConfig": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceClusterConfigDto"
+ },
+ "computeClusterConfig": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.ComputeClusterConfigDto"
+ }
+ },
+ "required": ["name", "environmentId", "hardwareTierId", "tools"]
+ },
+ "domino.datasource.api.DataSourceProxyConfigDto": {
+ "properties": {
+ "dataSourceType": { "type": "string" },
+ "config": { "type": "collection.immutable.map[string,string]" }
+ },
+ "required": ["dataSourceType", "config"]
+ },
+ "domino.jobs.interface.ArtifactsStartStateDto": {
+ "properties": {
+ "projectArtifacts": {
+ "$ref": "#/components/schemas/domino.jobs.interface.ArtifactsObjectDto"
+ },
+ "importedProjectArtifacts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.ArtifactsObjectDto"
+ }
+ }
+ },
+ "required": ["projectArtifacts", "importedProjectArtifacts"]
+ },
+ "domino.projects.api.repositories.AccessTypeDto": {
+ "properties": {
+ "accessType": { "type": "string" },
+ "label": { "type": "string" }
+ },
+ "required": ["accessType", "label"]
+ },
+ "domino.activity.api.ProjectGoalAppLinkActivityMetadata": {
+ "properties": {
+ "action": { "type": "string", "enum": ["added", "removed"] },
+ "modelProductId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "appVersionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectGoalTitle": { "type": "string" },
+ "name": { "type": "string" }
+ },
+ "required": [
+ "action",
+ "modelProductId",
+ "appVersionId",
+ "projectGoalTitle",
+ "name"
+ ]
+ },
+ "domino.projects.api.Comment": {
+ "properties": {
+ "commentId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commenter": {
+ "$ref": "#/components/schemas/domino.projects.api.Commenter"
+ },
+ "commentBody": { "type": "string" },
+ "created": { "type": "integer", "format": "epoch" },
+ "updatedAt": { "type": "integer", "format": "epoch" }
+ },
+ "required": [
+ "commentId",
+ "commenter",
+ "commentBody",
+ "created",
+ "updatedAt"
+ ]
+ },
+ "domino.projects.api.OnDemandSparkClusterStatus": {
+ "properties": {
+ "clusterName": { "type": "string" },
+ "clusterState": {
+ "type": "string",
+ "enum": ["Pending", "Stopping", "Starting", "Ready", "NotFound"]
+ },
+ "exists": { "type": "boolean" },
+ "isReady": { "type": "boolean" },
+ "workerCount": { "type": "integer", "format": "int32" }
+ },
+ "required": [
+ "clusterName",
+ "clusterState",
+ "exists",
+ "isReady",
+ "workerCount"
+ ]
+ },
+ "domino.jobs.web.JobRestartOperationRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "jobId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "shouldUseOriginalInputCommit": { "type": "boolean" }
+ },
+ "required": ["projectId", "jobId", "shouldUseOriginalInputCommit"]
+ },
+ "domino.admin.interface.ComputeNodeOverview": {
+ "properties": {
+ "name": { "type": "string" },
+ "status": {
+ "$ref": "#/components/schemas/domino.admin.interface.ComputeNodeStatus"
+ },
+ "utilization": {
+ "$ref": "#/components/schemas/domino.admin.interface.ComputeNodeUtilization"
+ }
+ },
+ "required": ["name", "status", "utilization"]
+ },
+ "domino.activity.api.ProjectStageChangeActivityMetaData": {
+ "properties": {
+ "projectName": { "type": "string" },
+ "fromStage": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectStage"
+ },
+ "toStage": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectStage"
+ }
+ },
+ "required": ["projectName", "fromStage", "toStage"]
+ },
+ "domino.admin.interface.ExecutionOverview": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "computeGridType": {
+ "type": "string",
+ "enum": ["ClassicOnPremises", "ClassicAWS", "Kubernetes"]
+ },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectIdentifier": {
+ "$ref": "#/components/schemas/domino.common.ProjectId"
+ },
+ "startingUserId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "startingUsername": { "type": "string", "nullable": true },
+ "hardwareTier": {
+ "$ref": "#/components/schemas/domino.admin.interface.HardwareTierOverview"
+ },
+ "status": { "type": "string" },
+ "executionUnits": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.admin.interface.ExecutionUnitOverview"
+ }
+ },
+ "created": { "type": "string", "format": "date-time" },
+ "title": { "type": "string", "nullable": true },
+ "workloadType": { "type": "string" },
+ "computeClusterOverviews": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.admin.interface.ComputeClusterOverview"
+ }
+ },
+ "onDemandSparkClusterProperties": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.admin.interface.OnDemandSparkClusterOverview"
+ },
+ "onDemandSparkExecutionUnits": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.admin.interface.OnDemandSparkExecutionUnitOverview"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "computeGridType",
+ "projectId",
+ "projectIdentifier",
+ "hardwareTier",
+ "status",
+ "executionUnits",
+ "created",
+ "workloadType",
+ "computeClusterOverviews",
+ "onDemandSparkExecutionUnits"
+ ]
+ },
+ "domino.workspaces.web.AutoSyncFrequencyRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "timeInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "enableAutoSync": { "type": "boolean" }
+ },
+ "required": ["projectId", "enableAutoSync"]
+ },
+ "domino.datasetrw.web.FileCollisionRequest": {
+ "properties": {
+ "filePaths": { "type": "array", "items": { "type": "string" } },
+ "fileCollisionSetting": {
+ "type": "string",
+ "nullable": true,
+ "enum": ["Rename", "Ignore", "Overwrite"]
+ }
+ },
+ "required": ["filePaths"]
+ },
+ "domino.projects.web.AddComment": {
+ "properties": { "comment": { "type": "string" } },
+ "required": ["comment"]
+ },
+ "domino.datasetrw.web.CreateDatasetRequest": {
+ "properties": {
+ "datasetName": { "type": "string" },
+ "description": { "type": "string", "nullable": true },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["datasetName", "projectId"]
+ },
+ "domino.files.interface.ProjectReadmeFile": {
+ "properties": { "path": { "type": "string" } },
+ "required": ["path"]
+ },
+ "domino.provenance.api.SyncOperationInfo": {
+ "properties": {
+ "syncOperationId": { "type": "string" },
+ "syncOperationType": {
+ "$ref": "#/components/schemas/SyncOperationType"
+ }
+ },
+ "required": ["syncOperationId", "syncOperationType"]
+ },
+ "Information": {
+ "type": "object",
+ "properties": {
+ "value": { "type": "number", "description": "Number being stored" },
+ "unit": { "$ref": "#/components/schemas/StorageUnit" }
+ },
+ "required": ["value", "unit"]
+ },
+ "domino.activity.api.WorkspaceStatusActivityMetaData": {
+ "properties": {
+ "title": { "type": "string" },
+ "number": { "type": "integer", "format": "int32" },
+ "status": { "type": "string" },
+ "currentStatus": { "type": "string" },
+ "commentCount": { "type": "integer", "format": "int32" }
+ },
+ "required": [
+ "title",
+ "number",
+ "status",
+ "currentStatus",
+ "commentCount"
+ ]
+ },
+ "domino.workspaces.api.LogSet": {
+ "properties": {
+ "logContent": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.LogContent"
+ }
+ },
+ "isComplete": { "type": "boolean" },
+ "pagination": {
+ "$ref": "#/components/schemas/domino.workspaces.api.PaginationFilter"
+ }
+ },
+ "required": ["logContent", "isComplete", "pagination"]
+ },
+ "domino.computecluster.api.ComputeClusterType.Value": {
+ "properties": {}
+ },
+ "domino.gruz.api.RunTrigger": {
+ "properties": {
+ "startingUserId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "startingScheduledRunId": { "type": "string", "nullable": true },
+ "command": {
+ "$ref": "#/components/schemas/domino.gruz.api.RawRunCommand"
+ },
+ "commitId": { "type": "string" },
+ "environmentId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "environmentRevisionId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "runMemoryLimit": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.gruz.api.RunMemoryLimit"
+ }
+ },
+ "required": ["command", "commitId"]
+ },
+ "domino.nucleus.modelproduct.models.ConsumerModelProduct": {
+ "properties": {
+ "modelProductType": {
+ "type": "string",
+ "enum": ["APP", "BATCH", "REPORT", "SCORER"]
+ },
+ "name": { "type": "string" },
+ "description": { "type": "string", "nullable": true },
+ "publisher": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.common.user.Person"
+ },
+ "notificationRecipients": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.NotificationRecipient"
+ }
+ },
+ "lastUpdated": { "type": "string", "format": "date-time" },
+ "status": { "type": "string" },
+ "media": { "type": "array", "items": { "type": "string" } },
+ "openUrl": { "type": "string", "nullable": true },
+ "projectUrl": { "type": "string", "nullable": true },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "stats": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.Stats"
+ },
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "PUBLIC",
+ "AUTHENTICATED",
+ "GRANT_BASED",
+ "GRANT_BASED_STRICT"
+ ]
+ },
+ "runningAppUrl": { "type": "string", "nullable": true },
+ "runningCommitId": { "type": "string", "nullable": true },
+ "appAccessStatus": {
+ "type": "string",
+ "enum": ["ALLOWED", "PENDING", "REQUESTABLE", "NOT_ALLOWED"]
+ }
+ },
+ "required": [
+ "modelProductType",
+ "name",
+ "notificationRecipients",
+ "lastUpdated",
+ "status",
+ "media",
+ "projectId",
+ "stats",
+ "id",
+ "visibility",
+ "appAccessStatus"
+ ]
+ },
+ "domino.projectManagement.api.PmComment": {
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmId"
+ },
+ "commentBody": { "type": "string" },
+ "created": { "type": "integer", "format": "epoch" },
+ "commenter": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmUser"
+ },
+ "updatedAt": { "type": "integer", "format": "epoch" },
+ "dominoEntity": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projectManagement.api.DominoEntity"
+ }
+ },
+ "required": ["id", "commentBody", "created", "updatedAt"]
+ },
+ "domino.projects.api.OnDemandSparkClusterDetailsView": {
+ "properties": {
+ "sparkClusterProperties": {
+ "$ref": "#/components/schemas/domino.projects.api.OnDemandSparkClusterPropertiesSpec"
+ },
+ "sparkClusterUri": { "type": "string" }
+ },
+ "required": ["sparkClusterProperties", "sparkClusterUri"]
+ },
+ "domino.datasource.api.DataSourceConfigDto": { "properties": {} },
+ "domino.workspace.api.QueuedWorkspaceHistoryDetails": {
+ "properties": {
+ "expectedWait": { "type": "string" },
+ "explanation": { "type": "string" },
+ "helpText": { "type": "string" }
+ },
+ "required": ["expectedWait", "explanation", "helpText"]
+ },
+ "domino.gruz.api.HttpProxyConfig": {
+ "properties": {
+ "port": { "type": "integer", "format": "int32" },
+ "internalPath": { "type": "string" },
+ "rewrite": { "type": "boolean" },
+ "requireSubdomain": { "type": "boolean" }
+ },
+ "required": ["port", "internalPath", "rewrite", "requireSubdomain"]
+ },
+ "domino.workspace.api.git.CommitAndPushReposResponseDto": {
+ "properties": {
+ "succeeded": { "type": "boolean" },
+ "message": { "type": "string" }
+ },
+ "required": ["succeeded", "message"]
+ },
+ "domino.workspace.api.WorkspaceDatasetConfigDto": {
+ "properties": {
+ "name": { "type": "string" },
+ "resolutionCommit": { "type": "string" }
+ },
+ "required": ["name", "resolutionCommit"]
+ },
+ "domino.projects.api.ProjectGoal": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "title": { "type": "string" },
+ "description": { "type": "string", "nullable": true },
+ "linkedEntities": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.EntityLink"
+ }
+ },
+ "currentStage": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStage"
+ },
+ "isComplete": { "type": "boolean" },
+ "isDeleted": { "type": "boolean" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "createdAt": { "type": "integer", "format": "epoch" },
+ "createdBy": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "lastTitleUpdatedAt": {
+ "type": "integer",
+ "format": "epoch",
+ "nullable": true
+ },
+ "lastDescriptionUpdatedAt": {
+ "type": "integer",
+ "format": "epoch",
+ "nullable": true
+ }
+ },
+ "required": [
+ "id",
+ "title",
+ "linkedEntities",
+ "currentStage",
+ "isComplete",
+ "isDeleted",
+ "projectId",
+ "createdAt",
+ "createdBy"
+ ]
+ },
+ "domino.datasetrw.web.CreateSnapshotRequest": {
+ "properties": {
+ "relativeFilePaths": {
+ "type": "array",
+ "items": { "type": "string" }
+ },
+ "datasetId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["relativeFilePaths", "datasetId"]
+ },
+ "domino.jobs.interface.CodeInfoRepositoryDto": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "linkText": { "type": "string" },
+ "fullUrl": { "type": "string" },
+ "commit": { "type": "string", "nullable": true },
+ "commitResourceLink": { "type": "string", "nullable": true },
+ "branch": { "type": "string", "nullable": true }
+ },
+ "required": ["id", "linkText", "fullUrl"]
+ },
+ "domino.files.interface.CommentThread": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "comments": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.files.interface.Comment"
+ }
+ },
+ "context": {
+ "$ref": "#/components/schemas/domino.files.interface.CommentContext"
+ }
+ },
+ "required": ["id", "comments", "context"]
+ },
+ "domino.common.modelproduct.EnvironmentDetails": {
+ "properties": {
+ "environmentRevisionId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "environmentName": { "type": "string" },
+ "revisionNumber": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ }
+ },
+ "required": ["environmentName"]
+ },
+ "domino.files.interface.ProjectFile": {
+ "properties": {
+ "path": { "type": "string" },
+ "lastModified": { "type": "integer", "format": "int64" },
+ "size": { "type": "integer", "format": "int64" },
+ "key": { "type": "string" },
+ "goalIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": ["path", "lastModified", "size", "key", "goalIds"]
+ },
+ "domino.projects.web.UpdateProjectGoalTitle": {
+ "properties": { "title": { "type": "string" } },
+ "required": ["title"]
+ },
+ "domino.activity.api.ProjectStatus": {
+ "properties": {
+ "status": { "type": "string", "enum": ["active", "complete"] },
+ "isBlocked": { "type": "boolean" },
+ "blockedReason": { "type": "string", "nullable": true },
+ "completedMessage": { "type": "string", "nullable": true }
+ },
+ "required": ["status", "isBlocked"]
+ },
+ "domino.admin.interface.ComputeNodeUtilization": {
+ "properties": {
+ "cpuUtilization": {
+ "$ref": "#/components/schemas/domino.admin.interface.ComputeNodeCpuUtilization"
+ },
+ "memUtilization": {
+ "$ref": "#/components/schemas/domino.admin.interface.ComputeNodeMemUtilization"
+ },
+ "diskUtilization": {
+ "$ref": "#/components/schemas/domino.admin.interface.ComputeNodeDiskUtilization"
+ }
+ },
+ "required": ["cpuUtilization", "memUtilization", "diskUtilization"]
+ },
+ "domino.jobs.interface.ComputeClusterConfigSpecDto": {
+ "properties": {
+ "clusterType": { "$ref": "#/components/schemas/ComputeClusterType" },
+ "computeEnvironmentId": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "computeEnvironmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "masterHardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "workerCount": { "type": "integer", "format": "int32" },
+ "maxWorkerCount": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "workerHardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "workerStorage": {
+ "nullable": true,
+ "$ref": "#/components/schemas/Information"
+ },
+ "extraConfigs": {
+ "type": "collection.immutable.map[string,string]",
+ "nullable": true
+ }
+ },
+ "required": [
+ "clusterType",
+ "computeEnvironmentId",
+ "masterHardwareTierId",
+ "workerCount",
+ "workerHardwareTierId"
+ ]
+ },
+ "domino.workspace.api.git.PullReposRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "repos": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": ["projectId", "repos"]
+ },
+ "domino.workspace.api.git.PullReposResponseDto": {
+ "properties": {
+ "succeeded": { "type": "boolean" },
+ "message": { "type": "string" }
+ },
+ "required": ["succeeded", "message"]
+ },
+ "domino.nucleus.project.models.UpdateProjectDescription": {
+ "properties": { "description": { "type": "string" } },
+ "required": ["description"]
+ },
+ "domino.datasetrw.api.DatasetRwUploadSessionDto": {
+ "properties": {
+ "uploadKey": { "type": "string" },
+ "lastTouched": { "type": "integer", "format": "epoch" },
+ "datasetId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["uploadKey", "lastTouched", "datasetId", "id"]
+ },
+ "domino.workspaces.api.WorkspaceStartedBy": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "username": { "type": "string" }
+ },
+ "required": ["id", "username"]
+ },
+ "domino.nucleus.gateway.users.models.ProjectsDependencyGraph": {
+ "properties": {
+ "selectedProjectId": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.common.ProjectId"
+ },
+ "nodes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.gateway.users.models.ProjectDependencyView"
+ }
+ }
+ },
+ "required": ["nodes"]
+ },
+ "domino.workspaces.api.WorkspaceGoal": {
+ "properties": {
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "workspaceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "workspaceNumber": { "type": "integer", "format": "int32" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["goalId", "workspaceId", "workspaceNumber", "projectId"]
+ },
+ "domino.workspace.api.WorkspaceDto": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "deleted": { "type": "boolean" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "ownerId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "ownerName": { "type": "string" },
+ "name": { "type": "string" },
+ "state": { "type": "string" },
+ "stateUpdatedAt": { "type": "string", "format": "date-time" },
+ "initConfig": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceInitConfigDto"
+ },
+ "configTemplate": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceConfigDto"
+ },
+ "createdAt": { "type": "string", "format": "date-time" },
+ "importedProjects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceImportedProject"
+ }
+ },
+ "importedGitRepos": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceImportedGitRepo"
+ }
+ },
+ "mostRecentSession": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceSessionDto"
+ },
+ "sessionStats": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceSessionStatsDto"
+ },
+ "isLegacy": { "type": "boolean" },
+ "isReproduced": { "type": "boolean" }
+ },
+ "required": [
+ "id",
+ "deleted",
+ "projectId",
+ "ownerId",
+ "ownerName",
+ "name",
+ "state",
+ "stateUpdatedAt",
+ "initConfig",
+ "configTemplate",
+ "createdAt",
+ "importedProjects",
+ "importedGitRepos",
+ "sessionStats",
+ "isLegacy",
+ "isReproduced"
+ ]
+ },
+ "domino.datasource.api.DataSourceTypeConfigMetadataDto": {
+ "properties": {
+ "dataSourceType": {
+ "type": "string",
+ "enum": ["SnowflakeConfig", "RedshiftConfig"]
+ },
+ "config": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasource.api.DataSourceConfigFieldInfoDto"
+ }
+ }
+ },
+ "required": ["dataSourceType", "config"]
+ },
+ "domino.common.modelproduct.LogSet": {
+ "properties": {
+ "logContent": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.LogContent"
+ }
+ },
+ "isComplete": { "type": "boolean" },
+ "pagination": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.PaginationFilter"
+ }
+ },
+ "required": ["logContent", "isComplete", "pagination"]
+ },
+ "domino.projectManagement.api.PmTicket": {
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmId"
+ },
+ "ticketType": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmTicketType"
+ },
+ "stage": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmTicketStage"
+ },
+ "title": { "type": "string" },
+ "description": { "type": "string", "nullable": true },
+ "comments": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmComment"
+ }
+ },
+ "ticketMetadata": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmTicketMetadata"
+ },
+ "updatedAt": { "type": "integer", "format": "epoch" },
+ "subTickets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmTicket"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "ticketType",
+ "stage",
+ "title",
+ "comments",
+ "ticketMetadata",
+ "updatedAt",
+ "subTickets"
+ ]
+ },
+ "domino.files.web.ArchiveFileComment": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commentThreadId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commentId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "commentThreadId", "commentId"]
+ },
+ "domino.gruz.api.RawRunCommand": {
+ "properties": {
+ "runCommandType": {
+ "type": "string",
+ "enum": ["App", "Direct", "InteractiveSession", "Argv", "Launcher"]
+ },
+ "argv": {
+ "type": "array",
+ "nullable": true,
+ "items": { "type": "string" }
+ },
+ "name": { "type": "string", "nullable": true },
+ "title": { "type": "string", "nullable": true },
+ "commands": {
+ "type": "array",
+ "nullable": true,
+ "items": { "type": "string" }
+ },
+ "initCommand": {
+ "type": "array",
+ "nullable": true,
+ "items": { "type": "string" }
+ },
+ "networkingConfig": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.gruz.api.ContainerNetworkingConfig"
+ },
+ "httpProxy": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.gruz.api.HttpProxyConfig"
+ },
+ "isGitBased": { "type": "boolean", "nullable": true },
+ "commandString": { "type": "string", "nullable": true },
+ "launcherId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "values": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "$ref": "#/components/schemas/domino.gruz.api.LauncherValue"
+ }
+ }
+ },
+ "required": ["runCommandType"]
+ },
+ "domino.workspaces.api.WorkspaceRuntimeExecutionDetails": {
+ "properties": {
+ "executorInfo": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspaces.api.ExecutorInfo"
+ },
+ "environment": {
+ "$ref": "#/components/schemas/domino.workspaces.api.Environment"
+ },
+ "hardwareTier": {
+ "$ref": "#/components/schemas/domino.workspaces.api.HardwareTierDetails"
+ }
+ },
+ "required": ["environment", "hardwareTier"]
+ },
+ "domino.workspaces.api.ListWorkspaceStatus": { "properties": {} },
+ "domino.credential.web.CreateRequest": {
+ "properties": {
+ "dataSourceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "credential": {
+ "$ref": "#/components/schemas/domino.credential.api.FullCredentialDto"
+ },
+ "owner": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "users": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": ["dataSourceId", "credential", "owner", "users"]
+ },
+ "domino.projectManagement.api.PmCredentials": { "properties": {} },
+ "domino.projects.api.repositories.responses.GetRepoBrowseApiResponse": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.responses.browse.RepoBrowserEntryDTO"
+ }
+ },
+ "summary": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.responses.browse.RepoBrowserSummaryDTO"
+ }
+ },
+ "required": ["items", "summary"]
+ },
+ "domino.activity.api.CommentActivityMetaData": {
+ "properties": {
+ "commentedOn": {
+ "type": "string",
+ "enum": ["project", "job", "goal", "workspace", "file"]
+ },
+ "commentedOnMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.CommentedOnMetaData"
+ },
+ "operation": {
+ "type": "string",
+ "enum": ["Archived", "Updated", "Created"]
+ },
+ "commentData": { "type": "string" }
+ },
+ "required": [
+ "commentedOn",
+ "commentedOnMetaData",
+ "operation",
+ "commentData"
+ ]
+ },
+ "domino.jobs.interface.RepositoryChanges": {
+ "properties": {
+ "created": { "type": "array", "items": { "type": "string" } },
+ "modified": { "type": "array", "items": { "type": "string" } },
+ "deleted": { "type": "array", "items": { "type": "string" } },
+ "staged": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["created", "modified", "deleted", "staged"]
+ },
+ "domino.workspace.api.WorkspaceImportedGitRepo": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "ref": { "type": "string" }
+ },
+ "required": ["id", "name", "ref"]
+ },
+ "domino.workspaces.api.WorkspaceRepositoryStatus": {
+ "properties": {
+ "repositories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceRepositoryState"
+ }
+ }
+ },
+ "required": ["repositories"]
+ },
+ "domino.projectManagement.api.ResponseMessage": {
+ "properties": { "message": { "type": "string" } },
+ "required": ["message"]
+ },
+ "domino.jobs.interface.ExecutorInfo": {
+ "properties": {
+ "executorInstanceId": { "type": "string" },
+ "region": { "type": "string" },
+ "humanName": { "type": "string", "nullable": true },
+ "publicAddress": { "type": "string", "nullable": true },
+ "privateAddress": { "type": "string", "nullable": true }
+ },
+ "required": ["executorInstanceId", "region"]
+ },
+ "domino.gitproviders.api.RepoTypeCapabilitiesDTO": {
+ "properties": {
+ "repoCreationEnabled": { "type": "boolean" },
+ "repoListingEnabled": { "type": "boolean" },
+ "ownerListingEnabled": { "type": "boolean" }
+ },
+ "required": [
+ "repoCreationEnabled",
+ "repoListingEnabled",
+ "ownerListingEnabled"
+ ]
+ },
+ "domino.jobs.interface.JobStartedBy": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "username": { "type": "string" }
+ },
+ "required": ["id", "username"]
+ },
+ "domino.common.modelproduct.AppGoal": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "appVersionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "goalId", "appVersionId"]
+ },
+ "domino.projectManagement.api.PmProjectSummary": {
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmId"
+ },
+ "key": { "type": "string" },
+ "name": { "type": "string" },
+ "link": { "type": "string" }
+ },
+ "required": ["id", "key", "name", "link"]
+ },
+ "domino.gruz.api.CustomHostnameMapping": {
+ "properties": {
+ "hostname": { "type": "string" },
+ "targetIp": { "type": "string" }
+ },
+ "required": ["hostname", "targetIp"]
+ },
+ "domino.projects.api.repositories.responses.browse.RepoDirectorySummaryDTO": {
+ "properties": {
+ "path": { "type": "string" },
+ "commit": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.responses.browse.CommitShortDTO"
+ }
+ },
+ "required": ["path", "commit"]
+ },
+ "domino.workspaces.api.WorkspaceRepositoryState": {
+ "properties": {
+ "name": { "type": "string" },
+ "status": {
+ "type": "string",
+ "enum": [
+ "Unpushed",
+ "Unpushed and Dirty",
+ "Clean",
+ "Unknown",
+ "Modified"
+ ]
+ },
+ "changes": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspaces.api.RepositoryChanges"
+ }
+ },
+ "required": ["name", "status"]
+ },
+ "domino.nucleus.file.ProjectFileDeprecated": {
+ "properties": {
+ "path": { "type": "domino.filesync.sync.relativefilepath" },
+ "lastModified": { "type": "integer", "format": "int64" },
+ "size": { "type": "integer", "format": "int64" },
+ "key": { "type": "domino.filesync.sync.sha1" }
+ },
+ "required": ["path", "lastModified", "size", "key"]
+ },
+ "domino.files.interface.Comment": {
+ "properties": {
+ "commentId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commentedBy": {
+ "$ref": "#/components/schemas/domino.files.interface.CommentedBy"
+ },
+ "commentBody": { "type": "string" },
+ "createdAt": { "type": "integer", "format": "epoch" }
+ },
+ "required": ["commentId", "commentedBy", "commentBody", "createdAt"]
+ },
+ "domino.datasetrw.web.FilesToDeleteRequest": {
+ "properties": {
+ "relativePaths": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["relativePaths"]
+ },
+ "domino.workspace.api.InitialCommitsDto": { "properties": {} },
+ "domino.datasource.web.UpdateDataSourceCredentialRequest": {
+ "properties": {
+ "credentialType": {
+ "type": "string",
+ "enum": ["Individual", "Shared"]
+ },
+ "username": { "type": "string", "nullable": true },
+ "password": { "type": "string", "nullable": true }
+ },
+ "required": ["credentialType"]
+ },
+ "domino.jobs.interface.JobResultFiles": {
+ "properties": {
+ "commitId": { "type": "string" },
+ "fileMetadata": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.ResultFileMetadata"
+ }
+ }
+ },
+ "required": ["commitId", "fileMetadata"]
+ },
+ "domino.nucleus.dataset.ui.DatasetProjectMountSummaryViewModel": {
+ "properties": {
+ "datasetId": { "type": "string" },
+ "snapshotId": { "nullable": true, "type": "string" },
+ "name": { "type": "string" },
+ "ownerName": { "type": "string" },
+ "projectName": { "type": "string" },
+ "description": { "type": "string", "nullable": true },
+ "storageSize": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ },
+ "isPartialSize": { "type": "boolean" },
+ "requestLatest": { "type": "boolean" },
+ "requestedTag": { "type": "string", "nullable": true },
+ "requestedVersionNumber": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "latestVersionNumber": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "totalAvailableVersions": { "type": "integer", "format": "int32" },
+ "path": { "type": "string" }
+ },
+ "required": [
+ "datasetId",
+ "name",
+ "ownerName",
+ "projectName",
+ "isPartialSize",
+ "requestLatest",
+ "totalAvailableVersions",
+ "path"
+ ]
+ },
+ "domino.datasetrw.api.DatasetRwSnapshotFilesViewDto": {
+ "properties": {
+ "directorySize": { "type": "string", "nullable": true },
+ "rows": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwFileDetailsRowDto"
+ }
+ }
+ },
+ "required": ["rows"]
+ },
+ "domino.nucleus.lib.auth.PrincipalWithFeatureFlags": {
+ "properties": {
+ "isAnonymous": { "type": "boolean" },
+ "isAdmin": { "type": "boolean" },
+ "canonicalId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "canonicalName": { "type": "string", "nullable": true },
+ "allowedSystemOperations": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "EditCentralConfig",
+ "ManageOrganizations",
+ "UpdateUser",
+ "ViewUsage",
+ "ViewProjectSizes",
+ "ListAllProjects",
+ "StopRuns",
+ "ViewExecutors",
+ "UseK8sDashboard",
+ "EditEnvironmentsAsOwner",
+ "StopServer",
+ "GeneratePasswordResetLinks",
+ "ViewRevenue",
+ "ActAsProjectAdmin",
+ "ViewMetrics",
+ "ViewLogs",
+ "RunMongoDBCommands",
+ "ManageEnvironments",
+ "ExecuteRunsForFree",
+ "ViewGlobalEnvironments",
+ "ViewAdminMenu",
+ "ViewUserList",
+ "ManageBuilds",
+ "ClearProjectBlobs",
+ "CurateProjects",
+ "ViewProjectList",
+ "ViewEverythingInControlCenter",
+ "RestartNucleus",
+ "ManageHardwareTiers",
+ "TriggerSearchIndexing",
+ "ManageProjectTags",
+ "ResetIndex",
+ "SetUserSystemRoles",
+ "ManageFeatureFlags",
+ "ViewAdminDashboard",
+ "PreviewProjects",
+ "ManageExecutors",
+ "MigrateRunLogs",
+ "ReadKubernetes",
+ "ViewSearchIndex"
+ ]
+ }
+ },
+ "featureFlags": { "type": "array", "items": { "type": "string" } },
+ "booleanSettings": { "type": "array", "items": { "type": "string" } },
+ "mixpanelSettings": {
+ "$ref": "#/components/schemas/domino.nucleus.lib.auth.MixpanelSettings"
+ }
+ },
+ "required": [
+ "isAnonymous",
+ "isAdmin",
+ "allowedSystemOperations",
+ "featureFlags",
+ "booleanSettings",
+ "mixpanelSettings"
+ ]
+ },
+ "domino.workspaces.api.Commenter": {
+ "properties": {
+ "commenterId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "username": { "type": "string" },
+ "fullName": { "type": "string" }
+ },
+ "required": ["commenterId", "username", "fullName"]
+ },
+ "domino.gruz.api.StopRequest": {
+ "properties": {
+ "saveChanges": { "type": "boolean" },
+ "commitMessage": { "type": "string", "nullable": true },
+ "saveDatasets": { "type": "boolean", "nullable": true },
+ "stoppingUserId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ }
+ },
+ "required": ["saveChanges"]
+ },
+ "domino.common.ProjectId": {
+ "properties": {
+ "ownerUsername": { "type": "string" },
+ "projectName": { "type": "string" }
+ },
+ "required": ["ownerUsername", "projectName"]
+ },
+ "domino.files.interface.FileGoal": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "fileName": { "type": "string" },
+ "commitId": { "type": "string" }
+ },
+ "required": ["projectId", "goalId", "fileName", "commitId"]
+ },
+ "domino.common.modelproduct.AppCodeInfoDto": {
+ "properties": {
+ "mainRepo": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.common.modelproduct.AppCodeInfoRepositoryDto"
+ },
+ "importedGitRepos": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.AppCodeInfoRepositoryDto"
+ }
+ }
+ },
+ "required": ["importedGitRepos"]
+ },
+ "domino.projectManagement.api.FullSyncStatus": {
+ "properties": {
+ "syncStatus": {
+ "type": "string",
+ "enum": ["InProgress", "Completed", "Failed"]
+ },
+ "lastSyncInitiatedAt": { "type": "integer", "format": "epoch" }
+ },
+ "required": ["syncStatus", "lastSyncInitiatedAt"]
+ },
+ "domino.modelmanager.api.ModelApiLast24HourInvocationCount": {
+ "properties": {
+ "modelVersionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "statusCode": { "type": "integer", "format": "int32" },
+ "invocationCount": { "type": "integer", "format": "int64" }
+ },
+ "required": ["modelVersionId", "statusCode", "invocationCount"]
+ },
+ "domino.nucleus.modelproduct.models.PermissionsData": {
+ "description": "ModelProduct permissions",
+ "type": "object",
+ "properties": {
+ "appAccessStatus": {
+ "type": "string",
+ "enum": ["ALLOWED", "PENDING", "REQUESTABLE", "NOT_ALLOWED"]
+ },
+ "pendingInvitations": {
+ "type": "array",
+ "items": { "type": "string" }
+ },
+ "visibility": {
+ "type": "string",
+ "enum": [
+ "PUBLIC",
+ "AUTHENTICATED",
+ "GRANT_BASED",
+ "GRANT_BASED_STRICT"
+ ]
+ },
+ "discoverable": { "type": "boolean" },
+ "accessRequestStatuses": {
+ "additionalProperties": { "type": "string" },
+ "type": "object"
+ }
+ },
+ "required": [
+ "visibility",
+ "accessRequestStatuses",
+ "pendingInvitations",
+ "discoverable",
+ "appAccessStatus"
+ ]
+ },
+ "domino.common.user.LiteUserResponseDTO": {
+ "properties": { "isLiteUser": { "type": "boolean" } },
+ "required": ["isLiteUser"]
+ },
+ "domino.launcherjob.api.PostParameter": {
+ "properties": {
+ "key": { "type": "string" },
+ "value": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["key", "value"]
+ },
+ "domino.nucleus.modelproduct.models.UsageStatisticsCount": {
+ "properties": {
+ "productId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "count": { "type": "integer", "format": "int64" }
+ },
+ "required": ["productId", "count"]
+ },
+ "domino.jobs.interface.LogContent": {
+ "properties": {
+ "timestamp": { "type": "integer", "format": "epoch" },
+ "logType": {
+ "type": "string",
+ "enum": ["stdout", "stderr", "prepareoutput", "complete"]
+ },
+ "log": { "type": "string" },
+ "size": { "type": "integer", "format": "int64" }
+ },
+ "required": ["timestamp", "logType", "log", "size"]
+ },
+ "domino.server.projects.api.ProjectGatewayRunCountForType": {
+ "properties": {
+ "runType": {
+ "type": "string",
+ "enum": [
+ "Other",
+ "SSHProxy",
+ "Endpoint",
+ "App",
+ "Scheduled",
+ "Launcher",
+ "Batch",
+ "Workspace"
+ ]
+ },
+ "executingCount": { "type": "integer", "format": "int32" },
+ "stoppedCount": { "type": "integer", "format": "int32" }
+ },
+ "required": ["runType", "executingCount", "stoppedCount"]
+ },
+ "domino.server.projects.domain.entities.ProjectGitRepository": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "uriHost": { "type": "string" },
+ "uriPort": { "type": "string", "nullable": true },
+ "uriPath": { "type": "string" },
+ "defaultRef": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.ReferenceDTO"
+ },
+ "name": { "type": "string", "nullable": true },
+ "serviceProvider": {
+ "type": "string",
+ "enum": [
+ "github",
+ "gitlab",
+ "githubEnterprise",
+ "unknown",
+ "gitlabEnterprise",
+ "bitbucket",
+ "bitbucketServer"
+ ]
+ }
+ },
+ "required": [
+ "id",
+ "uriHost",
+ "uriPath",
+ "defaultRef",
+ "serviceProvider"
+ ]
+ },
+ "domino.datasource.web.UpdateDataSourceMetadataRequest": {
+ "properties": { "description": { "type": "string", "nullable": true } }
+ },
+ "domino.datasetrw.api.DatasetRwDetailsDto": {
+ "type": "object",
+ "properties": {
+ "datasetPath": { "type": "string" },
+ "projects": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwProjectDetailsDto"
+ },
+ "lifecycleStatus": {
+ "type": "string",
+ "enum": [
+ "Pending",
+ "Deleted",
+ "DeletionInProgress",
+ "Failed",
+ "Active",
+ "MarkedForDeletion"
+ ]
+ },
+ "author": {
+ "nullable": true,
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "string"
+ },
+ "snapshotIds": {
+ "type": "array",
+ "items": { "pattern": "^[0-9a-f]{24}$", "type": "string" }
+ },
+ "readWriteSnapshotId": {
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "string"
+ },
+ "name": { "type": "string" },
+ "description": { "nullable": true, "type": "string" },
+ "id": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "tags": {
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "snapshotIds",
+ "tags",
+ "projects",
+ "lifecycleStatus",
+ "readWriteSnapshotId",
+ "datasetPath"
+ ]
+ },
+ "domino.projects.api.ProjectSummary": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "description": { "type": "string" },
+ "visibility": { "type": "string" },
+ "ownerId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "ownerUsername": { "type": "string" },
+ "mainRepository": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGitRepositoryTemp"
+ },
+ "importedGitRepositories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.GitRepositoryDTO"
+ }
+ },
+ "collaboratorIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{40}$" }
+ },
+ "collaborators": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.CollaboratorDTO"
+ }
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectTagDTO"
+ }
+ },
+ "stageId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "status": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStatus"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "description",
+ "visibility",
+ "ownerId",
+ "ownerUsername",
+ "importedGitRepositories",
+ "collaboratorIds",
+ "collaborators",
+ "tags",
+ "stageId",
+ "status"
+ ]
+ },
+ "domino.workspaces.web.WorkspaceStatusChangeSocketEvent": {
+ "properties": {
+ "correlationId": { "type": "string" },
+ "workspaceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "room": { "type": "string" },
+ "status": { "type": "string" },
+ "timestamp": { "type": "integer", "format": "epoch" },
+ "startedBy": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ }
+ },
+ "required": [
+ "correlationId",
+ "workspaceId",
+ "projectId",
+ "room",
+ "status",
+ "timestamp"
+ ]
+ },
+ "domino.workspaces.web.StopDiscardWorkspaceDetails": {
+ "properties": {
+ "workspaceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["workspaceId"]
+ },
+ "domino.nucleus.modelproduct.models.UninviteRequest": {
+ "properties": { "email": { "type": "string" } },
+ "required": ["email"]
+ },
+ "domino.datasetrw.web.FiletaskUpdateRequest": {
+ "properties": {
+ "id": { "type": "string" },
+ "key": { "type": "string" },
+ "taskType": { "type": "string" },
+ "status": { "type": "string" },
+ "errorMsg": { "type": "string" }
+ },
+ "required": ["id", "key", "taskType", "status", "errorMsg"]
+ },
+ "domino.jobs.interface.QueuedJobHistoryDetails": {
+ "properties": {
+ "expectedWait": { "type": "string" },
+ "explanation": { "type": "string" },
+ "helpText": { "type": "string" }
+ },
+ "required": ["expectedWait", "explanation", "helpText"]
+ },
+ "StorageUnit": {
+ "type": "string",
+ "description": "Unit of number being stored",
+ "enum": [
+ "B",
+ "o",
+ "KB",
+ "KiB",
+ "MB",
+ "MiB",
+ "GB",
+ "GiB",
+ "TB",
+ "TiB",
+ "PB",
+ "PiB",
+ "EB",
+ "EiB",
+ "ZB",
+ "ZiB",
+ "YB",
+ "YiB",
+ "bit",
+ "Kbit",
+ "Kibit",
+ "Mbit",
+ "Mibit",
+ "Gbit",
+ "Gibit",
+ "Tbit",
+ "Tibit",
+ "Pbit",
+ "Pibit",
+ "Ebit",
+ "Eibit",
+ "Zbit",
+ "Zibit",
+ "Ybit",
+ "Yibit"
+ ]
+ },
+ "domino.computegrid.ResourceUsage": {
+ "properties": {
+ "snapshots": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.computegrid.UsageSnapshot"
+ }
+ }
+ },
+ "required": ["snapshots"]
+ },
+ "domino.modelmanager.web.UnlinkmodelFromGoal": {
+ "properties": {
+ "modelId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "modelVersion": { "type": "integer", "format": "int32" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["modelId", "modelVersion", "projectId", "goalId"]
+ },
+ "domino.jobs.interface.JobsTimelineRecord": {
+ "properties": {
+ "jobNumber": { "type": "integer", "format": "int32" },
+ "jobId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "jobStartTime": { "type": "integer", "format": "epoch" },
+ "jobTitle": { "type": "string" },
+ "jobStatus": { "type": "string" },
+ "diagnosticStats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.JobsTimelineDiagnosticStatRecord"
+ }
+ }
+ },
+ "required": [
+ "jobNumber",
+ "jobId",
+ "jobStartTime",
+ "jobTitle",
+ "jobStatus",
+ "diagnosticStats"
+ ]
+ },
+ "domino.jobs.interface.VolumeMount": {
+ "properties": {
+ "mountPath": { "type": "string" },
+ "subPath": { "type": "string", "nullable": true },
+ "readOnly": { "type": "boolean" }
+ },
+ "required": ["mountPath", "readOnly"]
+ },
+ "domino.workspaces.api.VolumeMount": {
+ "properties": {
+ "mountPath": { "type": "string" },
+ "subPath": { "type": "string", "nullable": true },
+ "readOnly": { "type": "boolean" }
+ },
+ "required": ["mountPath", "readOnly"]
+ },
+ "domino.projectManagement.api.LinkedProjectDetails": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectName": { "type": "string" },
+ "ticketId": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmId"
+ },
+ "ticketKey": { "type": "string" },
+ "ticketLink": { "type": "string" }
+ },
+ "required": [
+ "projectId",
+ "projectName",
+ "ticketId",
+ "ticketKey",
+ "ticketLink"
+ ]
+ },
+ "domino.nucleus.modelproduct.models.GrantAccessRequired": {
+ "properties": {
+ "modelProduct": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.ModelProduct"
+ }
+ },
+ "required": ["modelProduct"]
+ },
+ "domino.datasetrw.api.DatasetRwSnapshotAdminSummaryDto": {
+ "properties": {
+ "snapshot": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwSnapshotDto"
+ },
+ "datasetName": { "type": "string" },
+ "ownerUsername": { "type": "string", "nullable": true },
+ "projectName": { "type": "string" }
+ },
+ "required": ["snapshot", "datasetName", "projectName"]
+ },
+ "domino.admin.interface.UserProjectEntry": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "ownerUsername": { "type": "string", "nullable": true },
+ "ownerName": { "type": "string", "nullable": true },
+ "name": { "type": "string" },
+ "created": { "type": "string", "format": "date-time" },
+ "runs": { "type": "integer", "format": "int64" },
+ "lastRunStart": {
+ "nullable": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ "totalRunTimeInHours": { "type": "number", "format": "double" },
+ "archived": { "type": "boolean" }
+ },
+ "required": [
+ "projectId",
+ "name",
+ "created",
+ "runs",
+ "totalRunTimeInHours",
+ "archived"
+ ]
+ },
+ "domino.workspace.api.git.MergeConflictResolutionResponseDto": {
+ "properties": {
+ "succeededRepoIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "failedRepoIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "failedReason": { "type": "string", "nullable": true }
+ },
+ "required": ["succeededRepoIds", "failedRepoIds"]
+ },
+ "domino.files.web.LinkFileToGoal": {
+ "properties": {
+ "fileName": { "type": "string" },
+ "commitId": { "type": "string" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["fileName", "commitId", "projectId", "goalId"]
+ },
+ "domino.workspaces.api.AvailableWorkspaceTools": {
+ "properties": {
+ "workspaceTools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceDefinitionDto"
+ }
+ }
+ },
+ "required": ["workspaceTools"]
+ },
+ "domino.workspace.api.git.ContinueMergeConflictResolutionResponseDto": {
+ "properties": {
+ "succeeded": { "type": "boolean" },
+ "message": { "type": "string" }
+ },
+ "required": ["succeeded", "message"]
+ },
+ "domino.workspace.api.git.StageCurrentLocalFileRequest": {
+ "properties": {
+ "repoId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "filePath": { "type": "string" }
+ },
+ "required": ["repoId", "filePath"]
+ },
+ "NewOrganization": {
+ "type": "object",
+ "properties": {
+ "name": { "type": "string", "description": "Organization name" },
+ "email": {
+ "type": "string",
+ "description": "Organization email used to create the organization user"
+ },
+ "members": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.organization.models.OrganizationMember"
+ },
+ "description": "List of members the organization should have"
+ }
+ },
+ "required": [
+ "firstName",
+ "lastName",
+ "fullName",
+ "userName",
+ "avatarUrl",
+ "id"
+ ]
+ },
+ "domino.gruz.api.RawRun": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "status": { "type": "string" },
+ "trigger": {
+ "$ref": "#/components/schemas/domino.gruz.api.RunTrigger"
+ },
+ "meta": { "$ref": "#/components/schemas/domino.gruz.api.RunMeta" },
+ "output": { "$ref": "#/components/schemas/domino.gruz.api.RunOutput" }
+ },
+ "required": ["id", "projectId", "status", "trigger", "meta", "output"]
+ },
+ "domino.jobs.interface.DependentProject": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commitId": { "type": "string" }
+ },
+ "required": ["projectId", "commitId"]
+ },
+ "domino.projects.api.repositories.responses.browse.RepoBranchSummaryDTO": {
+ "properties": {
+ "branchName": { "type": "string" },
+ "commit": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.responses.browse.CommitShortDTO"
+ }
+ },
+ "required": ["branchName", "commit"]
+ },
+ "domino.workspace.api.WorkspaceSessionStartDto": {
+ "properties": { "time": { "type": "integer", "format": "int64" } },
+ "required": ["time"]
+ },
+ "domino.computecluster.api.SparkClusterPropsDto": {
+ "properties": {
+ "computeEnvironment": {
+ "$ref": "#/components/schemas/domino.environments.api.EnvironmentRevisionSummary"
+ },
+ "executorCount": { "type": "integer", "format": "int32" },
+ "executorHardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "volumeSize": {
+ "nullable": true,
+ "$ref": "#/components/schemas/Information"
+ },
+ "masterHardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ }
+ },
+ "required": [
+ "computeEnvironment",
+ "executorCount",
+ "executorHardwareTierId",
+ "masterHardwareTierId"
+ ]
+ },
+ "domino.computecluster.api.ComputeClusterConfigResponseDto": {
+ "properties": {
+ "clusterType": { "$ref": "#/components/schemas/ComputeClusterType" },
+ "computeEnvironment": {
+ "$ref": "#/components/schemas/domino.environments.api.EnvironmentRevisionSummary"
+ },
+ "masterHardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "masterHardwareTierName": { "type": "string" },
+ "workerCount": { "type": "integer", "format": "int32" },
+ "maxWorkerCount": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "workerHardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "workerHardwareTierName": { "type": "string" },
+ "workerStorage": {
+ "nullable": true,
+ "$ref": "#/components/schemas/Information"
+ },
+ "extraConfigs": {
+ "type": "collection.immutable.map[string,string]",
+ "nullable": true
+ }
+ },
+ "required": [
+ "clusterType",
+ "computeEnvironment",
+ "masterHardwareTierId",
+ "masterHardwareTierName",
+ "workerCount",
+ "workerHardwareTierId",
+ "workerHardwareTierName"
+ ]
+ },
+ "domino.workspaces.api.Environment": {
+ "properties": {
+ "environmentRevisionId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "environmentName": { "type": "string" },
+ "environmentId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "revisionNumber": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ }
+ },
+ "required": ["environmentName", "environmentId"]
+ },
+ "domino.credential.api.VisibleCredentialDto": {
+ "properties": {
+ "visibleCredentials": {
+ "type": "collection.immutable.map[string,string]"
+ },
+ "credentialType": {
+ "type": "string",
+ "enum": ["Individual", "Shared"]
+ }
+ },
+ "required": ["visibleCredentials", "credentialType"]
+ },
+ "domino.workspaces.api.QueuedWorkspaceHistoryDetails": {
+ "properties": {
+ "expectedWait": { "type": "string" },
+ "explanation": { "type": "string" },
+ "helpText": { "type": "string" }
+ },
+ "required": ["expectedWait", "explanation", "helpText"]
+ },
+ "domino.nucleus.modelproduct.models.UsageStatisticsTimeseries": {
+ "properties": {
+ "timestampSec": { "type": "integer", "format": "int64" },
+ "stats": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.UsageStatistics"
+ }
+ },
+ "required": ["timestampSec", "stats"]
+ },
+ "domino.admin.interface.ComputeNodeDiskUtilization": {
+ "properties": {
+ "total": { "type": "number", "format": "double" },
+ "used": { "type": "number", "format": "double" }
+ },
+ "required": ["total", "used"]
+ },
+ "domino.gruz.api.ContainerNetworkingConfig": {
+ "properties": {
+ "httpProxyPort": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "autoBoundPorts": {
+ "type": "array",
+ "items": { "type": "integer", "format": "int32" }
+ },
+ "verbatimBoundPorts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.gruz.api.VerbatimBoundPort"
+ }
+ },
+ "allowedVerbatimPortsRange": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.gruz.api.PortsRange"
+ },
+ "executorHostnameMapping": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.gruz.api.ExecutorHostnameMapping"
+ },
+ "customHostnameMappings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.gruz.api.CustomHostnameMapping"
+ }
+ }
+ },
+ "required": [
+ "autoBoundPorts",
+ "verbatimBoundPorts",
+ "customHostnameMappings"
+ ]
+ },
+ "domino.nucleus.gateway.users.models.ProjectDependencyView": {
+ "properties": {
+ "projectId": {
+ "$ref": "#/components/schemas/domino.common.ProjectId"
+ },
+ "projectType": { "type": "string", "enum": ["Analytic", "DataSet"] },
+ "dependencies": {
+ "type": "array",
+ "items": { "$ref": "#/components/schemas/domino.common.ProjectId" }
+ }
+ },
+ "required": ["projectId", "projectType", "dependencies"]
+ },
+ "domino.common.modelproduct.PaginationFilter": {
+ "properties": {
+ "limit": { "type": "integer", "format": "int32" },
+ "offset": { "type": "integer", "format": "int32" },
+ "latestTimeNano": { "type": "string", "nullable": true }
+ },
+ "required": ["limit", "offset"]
+ },
+ "domino.projectManagement.api.DominoProjectToPmTicketMetadata": {
+ "properties": {
+ "mapType": {
+ "type": "string",
+ "enum": [
+ "DominoProject",
+ "DominoGoal",
+ "DominoStage",
+ "DominoComment"
+ ]
+ },
+ "ticketMetadata": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmTicketMetadata"
+ },
+ "description": { "type": "string" },
+ "title": { "type": "string" },
+ "updatedAt": { "type": "integer", "format": "epoch" },
+ "ticketTypes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmTicketType"
+ }
+ },
+ "ticketStages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmTicketStage"
+ }
+ }
+ },
+ "required": [
+ "mapType",
+ "ticketMetadata",
+ "description",
+ "title",
+ "updatedAt",
+ "ticketTypes",
+ "ticketStages"
+ ]
+ },
+ "domino.workspaces.api.DependentExternalVolumeMount": {
+ "properties": {
+ "name": { "type": "string" },
+ "mount": {
+ "$ref": "#/components/schemas/domino.workspaces.api.VolumeMount"
+ }
+ },
+ "required": ["name", "mount"]
+ },
+ "domino.workspace.api.git.CancelMergeConflictResolutionRequest": {
+ "properties": {
+ "repositories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.MergeConflictRepository"
+ }
+ },
+ "shouldRevertLastCommit": { "type": "boolean" }
+ },
+ "required": ["repositories", "shouldRevertLastCommit"]
+ },
+ "domino.jobs.interface.DependentExternalVolumeMount": {
+ "properties": {
+ "name": { "type": "string" },
+ "mount": {
+ "$ref": "#/components/schemas/domino.jobs.interface.VolumeMount"
+ }
+ },
+ "required": ["name", "mount"]
+ },
+ "ComputeClusterType": {
+ "type": "string",
+ "description": "Type of compute cluster",
+ "enum": ["Spark", "Ray", "Dask"]
+ },
+ "domino.activity.api.AllMetadata": {
+ "properties": {
+ "jobStatusActivityMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.JobStatusActivityMetaData"
+ },
+ "workspaceStatusActivityMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.WorkspaceStatusActivityMetaData"
+ },
+ "commentActivityMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.CommentActivityMetaData"
+ },
+ "commentedOnJobMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.CommentedOnJobMetaData"
+ },
+ "commentedOnWorkspaceMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.CommentedOnWorkspaceMetaData"
+ },
+ "commentedOnFileMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.CommentedOnFileMetaData"
+ },
+ "commentedOnProjectGoalMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.CommentedOnProjectGoalMetaData"
+ },
+ "projectStageChangeActivityMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectStageChangeActivityMetaData"
+ },
+ "projectStatusChangeActivityMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectStatusChangeActivityMetaData"
+ },
+ "appStatusActivityMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.AppStatusActivityMetaData"
+ },
+ "modelVersionStatusActivityMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.ModelVersionStatusActivityMetaData"
+ },
+ "scheduleJobActivityMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.ScheduleJobActivityMetaData"
+ },
+ "scheduleJobEditActivityMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.ScheduleJobEditActivityMetaData"
+ },
+ "fileChangeActivityMetaData": {
+ "$ref": "#/components/schemas/domino.activity.api.FileChangeActivityMetaData"
+ },
+ "projectGoalCreateActivityMetadata": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectGoalCreateActivityMetadata"
+ },
+ "projectGoalStatusChangeActivityMetadata": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectGoalStatusChangeActivityMetadata"
+ },
+ "projectGoalUpdateTitleActivityMetadata": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectGoalUpdateTitleActivityMetadata"
+ },
+ "projectGoalUpdateDescriptionActivityMetadata": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectGoalUpdateDescriptionActivityMetadata"
+ },
+ "projectGoalFileLinkActivityMetadata": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectGoalFileLinkActivityMetadata"
+ },
+ "projectGoalJobLinkActivityMetadata": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectGoalJobLinkActivityMetadata"
+ },
+ "projectGoalWorkspaceLinkActivityMetadata": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectGoalWorkspaceLinkActivityMetadata"
+ },
+ "projectGoalAppLinkActivityMetadata": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectGoalAppLinkActivityMetadata"
+ },
+ "projectGoalModelLinkActivityMetadata": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectGoalModelLinkActivityMetadata"
+ },
+ "projectLinkChangeActivityMetadata": {
+ "$ref": "#/components/schemas/domino.activity.api.ProjectLinkChangeActivityMetadata"
+ }
+ },
+ "required": [
+ "jobStatusActivityMetaData",
+ "workspaceStatusActivityMetaData",
+ "commentActivityMetaData",
+ "commentedOnJobMetaData",
+ "commentedOnWorkspaceMetaData",
+ "commentedOnFileMetaData",
+ "commentedOnProjectGoalMetaData",
+ "projectStageChangeActivityMetaData",
+ "projectStatusChangeActivityMetaData",
+ "appStatusActivityMetaData",
+ "modelVersionStatusActivityMetaData",
+ "scheduleJobActivityMetaData",
+ "scheduleJobEditActivityMetaData",
+ "fileChangeActivityMetaData",
+ "projectGoalCreateActivityMetadata",
+ "projectGoalStatusChangeActivityMetadata",
+ "projectGoalUpdateTitleActivityMetadata",
+ "projectGoalUpdateDescriptionActivityMetadata",
+ "projectGoalFileLinkActivityMetadata",
+ "projectGoalJobLinkActivityMetadata",
+ "projectGoalWorkspaceLinkActivityMetadata",
+ "projectGoalAppLinkActivityMetadata",
+ "projectGoalModelLinkActivityMetadata",
+ "projectLinkChangeActivityMetadata"
+ ]
+ },
+ "domino.workspace.api.WorkspaceQuotaStatusDto": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "OverQuotaForMaxWorkspacesPerUserPerProject",
+ "OverQuotaForMaxAllocatedVolumeSizeAcrossAllWorkspaces",
+ "QuotaNotExceeded",
+ "OverQuotaForMaxWorkspacesPerUser",
+ "OverQuotaForMaxWorkspaces"
+ ]
+ },
+ "currentValue": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ },
+ "limit": { "type": "integer", "format": "int64", "nullable": true }
+ },
+ "required": ["status"]
+ },
+ "domino.activity.api.CommentedOnWorkspaceMetaData": {
+ "properties": {
+ "workspaceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "workspaceNumber": { "type": "integer", "format": "int32" },
+ "title": { "type": "string" }
+ },
+ "required": ["workspaceId", "workspaceNumber", "title"]
+ },
+ "domino.workspace.api.git.CommitAndPushRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "repos": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.CommitRepo"
+ }
+ },
+ "syncOperationInfo": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.provenance.api.SyncOperationInfo"
+ }
+ },
+ "required": ["projectId", "repos"]
+ },
+ "domino.workspaces.api.DominoStats": {
+ "properties": {
+ "name": { "type": "string" },
+ "value": { "type": "string" }
+ },
+ "required": ["name", "value"]
+ },
+ "domino.workspaces.web.CreateCommentInput": {
+ "properties": { "comment": { "type": "string" } },
+ "required": ["comment"]
+ },
+ "domino.projects.web.MoveProjectToStage": {
+ "properties": {
+ "stageId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["stageId", "projectId"]
+ },
+ "domino.projects.api.OnDemandSparkClusterPropertiesSpec": {
+ "properties": {
+ "computeEnvironmentId": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "computeEnvironmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "executorCount": { "type": "integer", "format": "int32" },
+ "executorHardwareTierId": { "type": "string" },
+ "executorStorage": {
+ "nullable": true,
+ "$ref": "#/components/schemas/Information"
+ },
+ "masterHardwareTierId": { "type": "string" }
+ },
+ "required": [
+ "computeEnvironmentId",
+ "executorCount",
+ "executorHardwareTierId",
+ "masterHardwareTierId"
+ ]
+ },
+ "domino.common.gateway.runs.ComputeClusterDetails": {
+ "properties": {
+ "computeClusterType": { "type": "string" },
+ "masterHardwareTierId": { "type": "string", "nullable": true },
+ "masterHardwareTierCostPerMinute": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "workerCount": { "type": "integer", "format": "int32" },
+ "workerHardwareTierId": { "type": "string" },
+ "workerHardwareTierCostPerMinute": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "required": [
+ "computeClusterType",
+ "workerCount",
+ "workerHardwareTierId",
+ "workerHardwareTierCostPerMinute"
+ ]
+ },
+ "domino.jobs.interface.ResultFileContent": {
+ "properties": { "content": { "type": "string" } },
+ "required": ["content"]
+ },
+ "domino.nucleus.modelproduct.models.UsageStatistics": {
+ "type": "object",
+ "properties": {
+ "count": { "format": "int64", "type": "integer" },
+ "users": { "type": "object" }
+ },
+ "required": ["count", "users"]
+ },
+ "domino.workspaces.api.WorkspaceAutoSync": {
+ "properties": {
+ "enable": { "type": "boolean" },
+ "syncFrequencyInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ }
+ },
+ "required": ["enable"]
+ },
+ "domino.jobs.interface.JobStatus": {
+ "properties": {
+ "queued": { "type": "array", "items": { "type": "string" } },
+ "running": { "type": "array", "items": { "type": "string" } },
+ "completed": { "type": "array", "items": { "type": "string" } },
+ "archived": { "type": "array", "items": { "type": "string" } },
+ "active": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["queued", "running", "completed", "archived", "active"]
+ },
+ "domino.computegrid.UsageSnapshot": {
+ "properties": {
+ "timestamp": { "type": "integer", "format": "epoch" },
+ "cpu": { "type": "number", "format": "double" },
+ "memory": { "type": "number", "format": "double" }
+ },
+ "required": ["timestamp", "cpu", "memory"]
+ },
+ "domino.datasetrw.api.SharedDatasetRwEntryDto": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "sharedDatasets": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": ["projectId", "sharedDatasets"]
+ },
+ "domino.projects.api.AssetViewStats": {
+ "properties": {
+ "viewType": { "type": "string", "enum": ["last24H", "allView"] },
+ "totalCount": { "type": "integer", "format": "int64" },
+ "errorRate": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ }
+ },
+ "required": ["viewType", "totalCount"]
+ },
+ "domino.admin.interface.ComputeClusterOverview": {
+ "properties": {
+ "clusterName": { "type": "string" },
+ "clusterType": { "type": "string" },
+ "masterHardwareTier": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.admin.interface.HardwareTierOverview"
+ },
+ "workerHardwareTier": {
+ "$ref": "#/components/schemas/domino.admin.interface.HardwareTierOverview"
+ },
+ "workerStorageSize": {
+ "nullable": true,
+ "$ref": "#/components/schemas/Information"
+ },
+ "webUiPath": { "type": "string" },
+ "podOverviews": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.admin.interface.ComputeClusterPodOverview"
+ }
+ }
+ },
+ "required": [
+ "clusterName",
+ "clusterType",
+ "workerHardwareTier",
+ "webUiPath",
+ "podOverviews"
+ ]
+ },
+ "domino.datasetrw.web.UpdateSnapshotStatusRequest": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "enum": [
+ "Pending",
+ "Deleted",
+ "DeletionInProgress",
+ "Failed",
+ "Active",
+ "MarkedForDeletion"
+ ]
+ }
+ },
+ "required": ["status"]
+ },
+ "domino.activity.api.ProjectGoalUpdateTitleActivityMetadata": {
+ "properties": {
+ "fromTitle": { "type": "string" },
+ "toTitle": { "type": "string" }
+ },
+ "required": ["fromTitle", "toTitle"]
+ },
+ "domino.nucleus.modelproduct.models.EmailInvitationFailure": {
+ "properties": {
+ "email": { "type": "string" },
+ "errorMessage": { "type": "string" }
+ },
+ "required": ["email", "errorMessage"]
+ },
+ "domino.filesync.sync.RelativeFilePath": {
+ "type": "object",
+ "properties": {
+ "canonicalizedPathString": {
+ "type": "string",
+ "description": "Path on the file system"
+ },
+ "separator": {
+ "type": "string",
+ "description": "Path separator",
+ "example": "/"
+ }
+ }
+ },
+ "domino.projects.api.ProxyConfig": {
+ "properties": {
+ "internalPath": { "type": "string" },
+ "port": { "type": "integer", "format": "int32" },
+ "rewrite": { "type": "boolean" }
+ },
+ "required": ["internalPath", "port", "rewrite"]
+ },
+ "domino.workspaces.web.StopCommitWorkspaceDetails": {
+ "properties": {
+ "workspaceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commitMessage": { "type": "string", "nullable": true }
+ },
+ "required": ["workspaceId"]
+ },
+ "domino.modelmanager.web.RecordInvocation": {
+ "properties": {
+ "modelVersionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "statusCode": { "type": "integer", "format": "int32" }
+ },
+ "required": ["modelVersionId", "statusCode"]
+ },
+ "domino.projectManagement.api.PmId": {
+ "properties": { "id": { "type": "string" } },
+ "required": ["id"]
+ },
+ "domino.workspace.api.WorkspacePageDto": {
+ "properties": {
+ "workspaces": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceDto"
+ }
+ },
+ "totalWorkspaceCount": { "type": "integer", "format": "int64" },
+ "offset": { "type": "integer", "format": "int32" },
+ "limit": { "type": "integer", "format": "int32" }
+ },
+ "required": ["workspaces", "totalWorkspaceCount", "offset", "limit"]
+ },
+ "domino.nucleus.dataset.ui.UpdateSnapshotStatusInput": {
+ "properties": { "status": { "type": "string" } },
+ "required": ["status"]
+ },
+ "domino.projectManagement.api.DominoGoalToPmSubTicketMetadata": {
+ "properties": {
+ "mapType": {
+ "type": "string",
+ "enum": [
+ "DominoProject",
+ "DominoGoal",
+ "DominoStage",
+ "DominoComment"
+ ]
+ },
+ "dominoProjectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "updatedAt": { "type": "integer", "format": "epoch" },
+ "ticketMetadata": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmTicketMetadata"
+ },
+ "ticketStages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmTicketStage"
+ }
+ }
+ },
+ "required": [
+ "mapType",
+ "dominoProjectId",
+ "updatedAt",
+ "ticketMetadata",
+ "ticketStages"
+ ]
+ },
+ "domino.workspace.api.git.StageFileResponseDto": {
+ "properties": {
+ "succeeded": { "type": "boolean" },
+ "message": { "type": "string" }
+ },
+ "required": ["succeeded", "message"]
+ },
+ "domino.activity.api.JobStatusActivityMetaData": {
+ "properties": {
+ "title": { "type": "string" },
+ "number": { "type": "integer", "format": "int32" },
+ "status": { "type": "string" },
+ "isScheduled": { "type": "boolean" },
+ "currentStatus": { "type": "string" },
+ "commentCount": { "type": "integer", "format": "int32" }
+ },
+ "required": [
+ "title",
+ "number",
+ "status",
+ "isScheduled",
+ "currentStatus",
+ "commentCount"
+ ]
+ },
+ "domino.gruz.api.LauncherValue": {
+ "properties": {
+ "key": { "type": "string" },
+ "values": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["key", "values"]
+ },
+ "domino.workspace.api.WorkspaceDatasetSnapshotDto": {
+ "properties": {
+ "snapshotId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "snapshotVersion": { "type": "integer", "format": "int32" }
+ },
+ "required": ["snapshotId", "snapshotVersion"]
+ },
+ "domino.common.models.EnvironmentVariables": {
+ "properties": {
+ "vars": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.common.models.EnvironmentVariable"
+ }
+ }
+ },
+ "required": ["vars"]
+ },
+ "domino.datasource.web.UpdateDataSourceConfigRequest": {
+ "properties": {
+ "dataSourceType": {
+ "type": "string",
+ "enum": ["SnowflakeConfig", "RedshiftConfig"]
+ },
+ "accountName": { "type": "string", "nullable": true },
+ "database": { "type": "string", "nullable": true },
+ "schema": { "type": "string", "nullable": true },
+ "warehouse": { "type": "string", "nullable": true },
+ "role": { "type": "string", "nullable": true },
+ "host": { "type": "string", "nullable": true },
+ "port": { "type": "string", "nullable": true }
+ },
+ "required": ["dataSourceType"]
+ },
+ "domino.scheduledrun.api.ScheduledJobDto": {
+ "properties": {
+ "id": { "type": "string" },
+ "created": { "type": "string", "format": "date-time" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "title": { "type": "string" },
+ "command": { "type": "string" },
+ "schedule": {
+ "$ref": "#/components/schemas/domino.scheduledrun.api.CronScheduleDTO"
+ },
+ "timezoneId": { "type": "string" },
+ "isPaused": { "type": "boolean" },
+ "publishAfterCompleted": { "type": "boolean" },
+ "publishModelId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "allowConcurrentExecution": { "type": "boolean" },
+ "hardwareTierIdentifier": { "type": "string" },
+ "hardwareTierName": { "type": "string" },
+ "overrideEnvironmentId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "overrideEnvironmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "scheduledByUserId": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "scheduledByUserName": { "type": "string" },
+ "notifyOnCompleteEmailAddresses": {
+ "type": "array",
+ "items": { "type": "string" }
+ },
+ "datasetConfig": { "type": "string", "nullable": true },
+ "onDemandSparkClusterProperties": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.OnDemandSparkClusterPropertiesSpec"
+ },
+ "computeClusterProperties": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.scheduledrun.api.ComputeClusterConfigSpecDto"
+ }
+ },
+ "required": [
+ "id",
+ "created",
+ "projectId",
+ "title",
+ "command",
+ "schedule",
+ "timezoneId",
+ "isPaused",
+ "publishAfterCompleted",
+ "allowConcurrentExecution",
+ "hardwareTierIdentifier",
+ "hardwareTierName",
+ "scheduledByUserId",
+ "scheduledByUserName",
+ "notifyOnCompleteEmailAddresses"
+ ]
+ },
+ "domino.modelmanager.web.LinkmodelToGoal": {
+ "properties": {
+ "modelId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "modelVersion": { "type": "integer", "format": "int32" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["modelId", "modelVersion", "projectId", "goalId"]
+ },
+ "domino.workspaces.api.DependentDatasetMount": {
+ "properties": {
+ "datasetId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "snapshotId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "snapshotVersion": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "datasetName": { "type": "string" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "isInput": { "type": "boolean" },
+ "containerPath": { "type": "string", "nullable": true }
+ },
+ "required": ["datasetId", "datasetName", "projectId", "isInput"]
+ },
+ "domino.nucleus.modelproduct.models.GranteeList": {
+ "properties": {
+ "emails": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["emails"]
+ },
+ "domino.workspace.api.DataMountSpecificationDto": {
+ "properties": {
+ "name": { "type": "string" },
+ "mount": {
+ "$ref": "#/components/schemas/domino.workspace.api.VolumeMountDto"
+ }
+ },
+ "required": ["name", "mount"]
+ },
+ "domino.projects.api.AssetPortfolioPaginationFilter": {
+ "properties": {
+ "pagination": {
+ "type": "domino.apiserverutils.pagination.paginationfilter"
+ },
+ "sortBy": {
+ "type": "string",
+ "enum": [
+ "name",
+ "projectName",
+ "assetType",
+ "lastUpdated",
+ "numberOfVersions",
+ "ownerName",
+ "last24Hours"
+ ]
+ },
+ "searchQuery": { "type": "string", "nullable": true }
+ },
+ "required": ["pagination", "sortBy"]
+ },
+ "domino.computegrid.ExecutionCheckpoint": {
+ "properties": {
+ "checkpointName": {
+ "type": "string",
+ "enum": [
+ "UserFilesSaved",
+ "ResourcesCreated",
+ "NodeAssigned",
+ "VolumesMounted",
+ "VolumesReleased",
+ "UserCodeLaunched",
+ "FilesPrepared",
+ "ResourcesDeleted",
+ "Acknowledged",
+ "ImagesPulled",
+ "QuotaChecked"
+ ]
+ },
+ "status": {
+ "type": "string",
+ "enum": ["Pending", "Completed", "Error"]
+ },
+ "message": { "type": "string", "nullable": true }
+ },
+ "required": ["checkpointName", "status"]
+ },
+ "domino.datasetrw.api.DatasetRwViewDto": {
+ "type": "object",
+ "properties": {
+ "snapshotIds": {
+ "type": "array",
+ "items": { "pattern": "^[0-9a-f]{24}$", "type": "string" }
+ },
+ "name": { "type": "string" },
+ "description": { "nullable": true, "type": "string" },
+ "createdTime": { "format": "int64", "type": "integer" },
+ "projectOwner": { "type": "string" },
+ "id": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "projectName": { "type": "string" },
+ "projectId": {
+ "nullable": true,
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "string"
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "type": "object"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "snapshotIds",
+ "tags",
+ "createdTime",
+ "projectOwner",
+ "projectName"
+ ]
+ },
+ "domino.projects.api.ProjectPortfolioElement": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectName": { "type": "string" },
+ "status": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStatus"
+ },
+ "stage": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStage"
+ },
+ "createdOn": { "type": "integer", "format": "epoch" },
+ "lastActivity": {
+ "type": "integer",
+ "format": "epoch",
+ "nullable": true
+ },
+ "collaborators": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStakeholder"
+ }
+ },
+ "owner": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStakeholder"
+ },
+ "assets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectAssetCount"
+ }
+ },
+ "costPerMinute": { "type": "number", "format": "double" },
+ "duration": { "type": "integer", "format": "int64" },
+ "totalGoalsCount": { "type": "integer", "format": "int32" },
+ "completedGoalsCount": { "type": "integer", "format": "int32" }
+ },
+ "required": [
+ "projectId",
+ "projectName",
+ "status",
+ "stage",
+ "createdOn",
+ "collaborators",
+ "owner",
+ "assets",
+ "costPerMinute",
+ "duration",
+ "totalGoalsCount",
+ "completedGoalsCount"
+ ]
+ },
+ "domino.workspaces.web.WorkspacesUsageSocketEvent": {
+ "properties": {
+ "correlationId": { "type": "string" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "workspaceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "room": { "type": "string" },
+ "cpu": { "type": "number", "format": "double" },
+ "mem": { "type": "number", "format": "double" },
+ "timestamp": { "type": "integer", "format": "epoch" }
+ },
+ "required": [
+ "correlationId",
+ "projectId",
+ "workspaceId",
+ "room",
+ "cpu",
+ "mem",
+ "timestamp"
+ ]
+ },
+ "domino.server.account.api.GitCredentialAccessorDto": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "gitServiceProvider": {
+ "type": "string",
+ "enum": [
+ "github",
+ "gitlab",
+ "githubEnterprise",
+ "unknown",
+ "gitlabEnterprise",
+ "bitbucket",
+ "bitbucketServer"
+ ]
+ },
+ "domain": { "type": "string" },
+ "fingerprint": { "type": "string" },
+ "protocol": { "type": "string" }
+ },
+ "required": [
+ "id",
+ "name",
+ "gitServiceProvider",
+ "domain",
+ "fingerprint",
+ "protocol"
+ ]
+ },
+ "domino.scheduledrun.api.UpdatedScheduledJobDTO": {
+ "properties": {
+ "title": { "type": "string" },
+ "command": { "type": "string" },
+ "schedule": {
+ "$ref": "#/components/schemas/domino.scheduledrun.api.EditCronScheduleDTO"
+ },
+ "timezoneId": { "type": "string" },
+ "isPaused": { "type": "boolean" },
+ "publishAfterCompleted": { "type": "boolean" },
+ "publishModelId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "allowConcurrentExecution": { "type": "boolean" },
+ "hardwareTierIdentifier": { "type": "string" },
+ "overrideEnvironmentId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "overrideEnvironmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "scheduledByUserId": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "notifyOnCompleteEmailAddresses": {
+ "type": "array",
+ "items": { "type": "string" }
+ },
+ "datasetConfig": { "type": "string", "nullable": true },
+ "onDemandSparkClusterProperties": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.OnDemandSparkClusterPropertiesSpec"
+ },
+ "computeClusterProperties": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.scheduledrun.api.ComputeClusterConfigSpecDto"
+ }
+ },
+ "required": [
+ "title",
+ "command",
+ "schedule",
+ "timezoneId",
+ "isPaused",
+ "publishAfterCompleted",
+ "allowConcurrentExecution",
+ "hardwareTierIdentifier",
+ "scheduledByUserId",
+ "notifyOnCompleteEmailAddresses"
+ ]
+ },
+ "DocumentType": {
+ "type": "string",
+ "description": "List of searchable document types",
+ "enum": [
+ "project",
+ "data_set",
+ "file",
+ "run",
+ "model",
+ "environment",
+ "comment"
+ ]
+ },
+ "domino.computegrid.LogSet": {
+ "properties": {
+ "logContent": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.computegrid.LogContent"
+ }
+ },
+ "isComplete": { "type": "boolean" },
+ "pagination": {
+ "$ref": "#/components/schemas/domino.computegrid.PaginationFilter"
+ }
+ },
+ "required": ["logContent", "isComplete", "pagination"]
+ },
+ "domino.projects.api.repositories.responses.BranchEntryDTO": {
+ "properties": { "name": { "type": "string" } },
+ "required": ["name"]
+ },
+ "domino.projects.api.CommentThread": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "comments": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.Comment"
+ }
+ }
+ },
+ "required": ["id", "comments"]
+ },
+ "domino.jobs.interface.JobGoal": {
+ "properties": {
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "jobId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "jobNumber": { "type": "integer", "format": "int32" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["goalId", "jobId", "jobNumber", "projectId"]
+ },
+ "domino.projects.api.repositories.responses.browse.RepoBrowserSummaryDTO": {
+ "properties": {
+ "ref": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.responses.browse.RepoBranchSummaryDTO"
+ },
+ "dir": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.repositories.responses.browse.RepoDirectorySummaryDTO"
+ }
+ },
+ "required": ["ref"]
+ },
+ "domino.server.projects.api.ProjectStatus": {
+ "properties": {
+ "status": { "type": "string", "enum": ["active", "complete"] },
+ "isBlocked": { "type": "boolean" },
+ "blockedReason": { "type": "string", "nullable": true },
+ "completedMessage": { "type": "string", "nullable": true }
+ },
+ "required": ["status", "isBlocked"]
+ },
+ "domino.activity.api.ProjectGoalFileLinkActivityMetadata": {
+ "properties": {
+ "action": { "type": "string", "enum": ["added", "removed"] },
+ "fileName": { "type": "string" },
+ "commitId": { "type": "string" },
+ "projectGoalTitle": { "type": "string" }
+ },
+ "required": ["action", "fileName", "commitId", "projectGoalTitle"]
+ },
+ "domino.scheduledrun.api.ScheduledJobForRequestingUserDto": {
+ "properties": {
+ "scheduledJob": {
+ "$ref": "#/components/schemas/domino.scheduledrun.api.ScheduledJobDto"
+ },
+ "canEdit": { "type": "boolean" }
+ },
+ "required": ["scheduledJob", "canEdit"]
+ },
+ "domino.jobs.web.JobStopOperationRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "jobId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commitResults": { "type": "boolean" }
+ },
+ "required": ["projectId", "jobId", "commitResults"]
+ },
+ "domino.projects.api.repositories.ReferenceDTO": {
+ "properties": {
+ "type": { "type": "string" },
+ "value": { "type": "string", "nullable": true }
+ },
+ "required": ["type"]
+ },
+ "domino.jobs.web.CreateComment": {
+ "properties": { "comment": { "type": "string" } },
+ "required": ["comment"]
+ },
+ "domino.jobs.interface.ResultFileMetadata": {
+ "properties": {
+ "contentId": { "type": "string" },
+ "filename": { "type": "string" },
+ "size": { "type": "integer", "format": "int64" },
+ "lastModified": { "type": "integer", "format": "epoch" },
+ "author": { "type": "string" }
+ },
+ "required": ["contentId", "filename", "size", "lastModified", "author"]
+ },
+ "domino.jobs.interface.Tag": {
+ "properties": {
+ "tagId": { "type": "string" },
+ "name": { "type": "string" }
+ },
+ "required": ["tagId", "name"]
+ },
+ "domino.activity.api.ProjectGoalStatusChangeActivityMetadata": {
+ "properties": {
+ "statusChange": {
+ "type": "string",
+ "enum": ["complete", "incomplete", "delete"]
+ },
+ "projectGoalTitle": { "type": "string" }
+ },
+ "required": ["statusChange", "projectGoalTitle"]
+ },
+ "domino.files.web.FilesAndFoldersToRemove": {
+ "properties": {
+ "paths": { "type": "array", "items": { "type": "string" } },
+ "ownerUsername": { "type": "string" },
+ "projectName": { "type": "string" }
+ },
+ "required": ["paths", "ownerUsername", "projectName"]
+ },
+ "domino.projects.api.ProjectPortfolioStats": {
+ "properties": {
+ "totalProjects": { "type": "integer", "format": "int32" },
+ "stageStats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.StageStat"
+ }
+ },
+ "statuStats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.StatusStat"
+ }
+ }
+ },
+ "required": ["totalProjects", "stageStats", "statuStats"]
+ },
+ "domino.computegrid.ExecutionEventDto": {
+ "type": "object",
+ "properties": {
+ "reason": { "nullable": true, "type": "string" },
+ "metricName": { "nullable": true, "type": "string" },
+ "creationTime": { "format": "date-time", "type": "string" },
+ "executionType": {
+ "nullable": true,
+ "type": "string",
+ "enum": [
+ "Other",
+ "SSHProxy",
+ "Model API",
+ "Endpoint",
+ "App",
+ "Scheduled",
+ "Launcher",
+ "Batch",
+ "Workspace"
+ ]
+ },
+ "description": { "nullable": true, "type": "string" },
+ "source": {
+ "type": "string",
+ "enum": ["Domino", "Kubernetes", "Metrics"]
+ },
+ "attempt": { "format": "int32", "type": "integer" },
+ "resourceKind": {
+ "nullable": true,
+ "type": "string",
+ "enum": ["Other", "Event", "Deployment", "Job", "Service", "Pod"]
+ },
+ "payload": { "nullable": true, "type": "object" },
+ "id": { "pattern": "^[0-9a-f]{24}$", "type": "string" },
+ "state": { "nullable": true, "type": "string" },
+ "outcome": {
+ "nullable": true,
+ "type": "string",
+ "enum": ["Error", "Retry", "Failure", "Ignored", "Success"]
+ },
+ "timestamp": { "format": "date-time", "type": "string" },
+ "kind": { "type": "string" },
+ "sagaId": { "nullable": true, "type": "string" },
+ "outcomeMessage": { "nullable": true, "type": "string" },
+ "updateTime": { "format": "date-time", "type": "string" },
+ "durationMillis": {
+ "nullable": true,
+ "format": "int64",
+ "type": "integer"
+ },
+ "elapsedMillis": { "format": "int64", "type": "integer" },
+ "outcomeDetails": { "nullable": true, "type": "string" },
+ "sagaName": { "nullable": true, "type": "string" },
+ "executionId": {
+ "nullable": true,
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "string"
+ },
+ "maxAttempts": {
+ "nullable": true,
+ "format": "int32",
+ "type": "integer"
+ },
+ "attemptCorrelationId": {
+ "pattern": "^[0-9a-f]{24}$",
+ "type": "string"
+ },
+ "nextState": { "nullable": true, "type": "string" }
+ },
+ "required": [
+ "id",
+ "kind",
+ "source",
+ "attempt",
+ "attemptCorrelationId",
+ "timestamp",
+ "elapsedMillis",
+ "creationTime",
+ "updateTime"
+ ]
+ },
+ "RunUtilization": {
+ "type": "object",
+ "description": "Statistics on a specific run",
+ "properties": {
+ "id": { "type": "string", "description": "Id of a run" },
+ "projectId": {
+ "type": "string",
+ "description": "Id of a oproject the run belongs to"
+ },
+ "projectIdentity": {
+ "type": "string",
+ "description": "human-readable project identifier"
+ },
+ "startingUserId": {
+ "type": "string",
+ "description": "Id of a user who started the run"
+ },
+ "startingUserFullName": {
+ "type": "string",
+ "description": "Full name of a user who started the run"
+ },
+ "runType": { "$ref": "#/components/schemas/RunType" },
+ "hardwareTierId": {
+ "type": "string",
+ "description": "Hardware tier which was used for these runs"
+ },
+ "startDateTime": {
+ "type": "string",
+ "description": "Date when the run was started in the ISO-8601 format"
+ },
+ "queueDurationInSeconds": {
+ "type": "number",
+ "description": "How long the run spent in the queue before running (in seconds)"
+ },
+ "runDurationInSeconds": {
+ "type": "number",
+ "description": "How long the run was running (in seconds)"
+ },
+ "estimatedCost": {
+ "type": "number",
+ "description": "The estimated cost of the run"
+ }
+ }
+ },
+ "domino.projects.api.ProjectGitRepositoryTemp": {
+ "properties": {
+ "id": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "uri": { "type": "string" },
+ "defaultRef": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.ReferenceDTO"
+ },
+ "name": { "type": "string", "nullable": true },
+ "serviceProvider": { "type": "string" },
+ "credentialId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ }
+ },
+ "required": ["uri", "defaultRef", "serviceProvider"]
+ },
+ "domino.gruz.api.RunMeta": {
+ "properties": {
+ "queued": { "type": "string", "format": "date-time" },
+ "started": {
+ "nullable": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ "completed": {
+ "nullable": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ "title": { "type": "string", "nullable": true },
+ "number": { "type": "integer", "format": "int32", "nullable": true },
+ "dependencyProjects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.gruz.api.RunDependencyProject"
+ }
+ },
+ "postProcessing": {
+ "$ref": "#/components/schemas/domino.gruz.api.RunPostProcessing"
+ },
+ "overrideHardwareTierId": { "type": "string", "nullable": true },
+ "centsPerMinute": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "isolatedOutputCommit": { "type": "boolean", "nullable": true },
+ "priority": { "type": "integer", "format": "int32" },
+ "repositories": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "$ref": "#/components/schemas/domino.gruz.api.PreparedRepository"
+ }
+ },
+ "statusChanges": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.gruz.api.StatusChange"
+ }
+ },
+ "stopRequest": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.gruz.api.StopRequest"
+ },
+ "publiclyVisible": { "type": "boolean" },
+ "datasetMounts": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "$ref": "#/components/schemas/domino.gruz.api.DatasetMount"
+ }
+ }
+ },
+ "required": [
+ "queued",
+ "dependencyProjects",
+ "postProcessing",
+ "priority",
+ "statusChanges",
+ "publiclyVisible"
+ ]
+ },
+ "domino.projects.api.EnvironmentWorkspaceToolDefinition": {
+ "properties": {
+ "id": { "type": "string" },
+ "name": { "type": "string" },
+ "title": { "type": "string" },
+ "iconUrl": { "type": "string", "nullable": true },
+ "start": { "type": "array", "items": { "type": "string" } },
+ "proxyConfig": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.ProxyConfig"
+ },
+ "supportedFileExtensions": {
+ "type": "array",
+ "nullable": true,
+ "items": { "type": "string" }
+ }
+ },
+ "required": ["id", "name", "title", "start"]
+ },
+ "domino.workspaces.web.WorkspaceEvents": {
+ "properties": {
+ "workspacesUsage": {
+ "$ref": "#/components/schemas/domino.workspaces.web.WorkspacesUsageSocketEvent"
+ },
+ "workspaceStatusChangeEvent": {
+ "$ref": "#/components/schemas/domino.workspaces.web.WorkspaceStatusChangeSocketEvent"
+ }
+ },
+ "required": ["workspacesUsage", "workspaceStatusChangeEvent"]
+ },
+ "domino.workspace.api.RepositoryChanges": {
+ "properties": {
+ "created": { "type": "array", "items": { "type": "string" } },
+ "modified": { "type": "array", "items": { "type": "string" } },
+ "deleted": { "type": "array", "items": { "type": "string" } },
+ "staged": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["created", "modified", "deleted", "staged"]
+ },
+ "domino.jobs.interface.ArtifactsObjectDto": {
+ "properties": {
+ "commitId": { "type": "string" },
+ "projectName": { "type": "string" },
+ "ownerName": { "type": "string" }
+ },
+ "required": ["commitId", "projectName", "ownerName"]
+ },
+ "domino.workspace.api.WorkspaceInitConfigDto": {
+ "properties": {
+ "volumeSize": { "$ref": "#/components/schemas/Information" },
+ "intialCommits": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.InitialCommitsDto"
+ }
+ },
+ "required": ["volumeSize"]
+ },
+ "domino.common.DominoId": {
+ "properties": { "raw": { "type": "string" } },
+ "required": ["raw"]
+ },
+ "domino.activity.api.ProjectStage": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" }
+ },
+ "required": ["id", "name"]
+ },
+ "domino.workspaces.api.DependentProject": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commitId": { "type": "string" }
+ },
+ "required": ["projectId", "commitId"]
+ },
+ "domino.files.interface.CommentedBy": {
+ "properties": {
+ "userId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "userName": { "type": "string" }
+ },
+ "required": ["userId", "userName"]
+ },
+ "domino.jobs.interface.JobResourceUsage": {
+ "properties": {
+ "cpu": { "type": "number", "format": "double" },
+ "memory": { "type": "number", "format": "double" },
+ "timestamp": { "type": "integer", "format": "epoch" }
+ },
+ "required": ["cpu", "memory", "timestamp"]
+ },
+ "domino.common.gateway.runs.RunsGatewaySummary": {
+ "properties": {
+ "batchId": { "type": "string" },
+ "runId": { "type": "string" },
+ "title": { "type": "string" },
+ "command": { "type": "string" },
+ "status": { "type": "string" },
+ "runType": { "type": "string" },
+ "userName": { "type": "string" },
+ "userId": { "type": "string" },
+ "projectOwnerName": { "type": "string" },
+ "projectOwnerId": { "type": "string" },
+ "projectName": { "type": "string" },
+ "projectId": { "type": "string" },
+ "runDurationSec": { "type": "number", "format": "double" },
+ "hardwareTier": { "type": "string" },
+ "hardwareTierCostCurrency": { "type": "string" },
+ "hardwareTierCostAmount": { "type": "number", "format": "double" },
+ "queuedTime": { "type": "string", "format": "date-time" },
+ "startTime": {
+ "nullable": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTime": {
+ "nullable": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ "totalCostCurrency": { "type": "string" },
+ "totalCostAmount": { "type": "number", "format": "double" },
+ "computeClusterDetails": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.common.gateway.runs.ComputeClusterDetails"
+ }
+ },
+ "required": [
+ "batchId",
+ "runId",
+ "title",
+ "command",
+ "status",
+ "runType",
+ "userName",
+ "userId",
+ "projectOwnerName",
+ "projectOwnerId",
+ "projectName",
+ "projectId",
+ "runDurationSec",
+ "hardwareTier",
+ "hardwareTierCostCurrency",
+ "hardwareTierCostAmount",
+ "queuedTime",
+ "totalCostCurrency",
+ "totalCostAmount"
+ ]
+ },
+ "domino.files.interface.DeletePropsDto": { "properties": {} },
+ "domino.workspaces.web.UnlinkWorkspaceFromGoal": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "goalId"]
+ },
+ "domino.projects.api.WritableProjectMounts": {
+ "type": "object",
+ "properties": {
+ "mainGitMount": { "nullable": true, "type": "string" },
+ "importedGitMounts": { "type": "object" },
+ "mainDfsMount": { "type": "string" }
+ },
+ "required": ["mainDfsMount", "importedGitMounts"]
+ },
+ "domino.gitproviders.api.GetOwnersApiResponse": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.gitproviders.api.OwnerDTO"
+ }
+ }
+ },
+ "required": ["items"]
+ },
+ "domino.jobs.interface.CommentContext": {
+ "properties": {
+ "commentType": {
+ "type": "string",
+ "enum": ["JobCommentThread", "JobResultFileCommentThread"]
+ },
+ "jobId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "fileName": { "type": "string", "nullable": true },
+ "commitId": { "type": "string", "nullable": true }
+ },
+ "required": ["commentType", "jobId"]
+ },
+ "domino.common.gateway.runs.RunsGatewaySequence": {
+ "properties": {
+ "runs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.common.gateway.runs.RunsGatewaySummary"
+ }
+ },
+ "nextBatchId": { "type": "string", "nullable": true }
+ },
+ "required": ["runs"]
+ },
+ "domino.gruz.api.ResourceId": {
+ "properties": { "raw": { "type": "string" } },
+ "required": ["raw"]
+ },
+ "domino.projectManagement.web.ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "description": "Error code",
+ "type": "integer"
+ },
+ "message": {
+ "description": "Error message received from external service (ex jira)",
+ "type": "string"
+ }
+ },
+ "required": ["message", "code"]
+ },
+ "domino.dataset.api.DatasetDto": {
+ "type": "object",
+ "properties": {
+ "archived": { "type": "boolean" },
+ "created": { "format": "int64", "type": "integer" },
+ "snapshotIds": { "type": "array", "items": { "type": "string" } },
+ "name": { "type": "string" },
+ "description": { "nullable": true, "type": "string" },
+ "id": { "type": "string" },
+ "projectId": { "nullable": true, "type": "string" },
+ "stupidProjectId": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.common.ProjectId"
+ },
+ "tags": { "type": "object" }
+ },
+ "required": ["id", "name", "archived", "snapshotIds", "tags", "created"]
+ },
+ "domino.common.run.interfaces.NewRunGitRefDto": {
+ "properties": {
+ "refType": { "type": "string" },
+ "refValue": { "type": "string", "nullable": true }
+ },
+ "required": ["refType"]
+ },
+ "domino.activity.api.Activity": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "activitySource": {
+ "type": "string",
+ "enum": [
+ "project",
+ "job",
+ "model_api",
+ "schedule_job",
+ "files",
+ "workspace",
+ "comment",
+ "app"
+ ]
+ },
+ "activity": {
+ "type": "string",
+ "enum": [
+ "PROJECT_GOAL_DESCRIPTION_CHANGE",
+ "PROJECT_STAGE_CHANGE",
+ "COMMENT_ADDED",
+ "MODEL_API_STATUS_CHANGE",
+ "PROJECT_GOAL_MODEL_LINK_CHANGE",
+ "JOB_STATUS_CHANGE",
+ "WORKSPACE_TITLE_CHANGE",
+ "PROJECT_STATUS_CHANGE",
+ "PROJECT_GOAL_CREATE",
+ "APP_STATUS_CHANGE",
+ "FILE_CHANGE",
+ "PROJECT_GOAL_APP_LINK_CHANGE",
+ "SCHEDULE_JOB_TRIGGER_CHANGE",
+ "PROJECT_LINK_CHANGE",
+ "SCHEDULE_JOB_CONFIG_CHANGE",
+ "PROJECT_GOAL_FILE_LINK_CHANGE",
+ "PROJECT_GOAL_STATUS_CHANGE",
+ "JOB_TITLE_CHANGE",
+ "PROJECT_GOAL_TITLE_CHANGE",
+ "PROJECT_GOAL_JOB_LINK_CHANGE",
+ "COMMENT_ARCHIVED",
+ "COMMENT_UPDATED",
+ "WORKSPACE_STATUS_CHANGE",
+ "PROJECT_GOAL_WORKSPACE_LINK_CHANGE"
+ ]
+ },
+ "sourceId": { "type": "string" },
+ "timestamp": { "type": "integer", "format": "epoch" },
+ "activityBy": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.activity.api.ActivityBy"
+ },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "metadata": {
+ "$ref": "#/components/schemas/domino.activity.api.ActivityMetaData"
+ }
+ },
+ "required": [
+ "id",
+ "activitySource",
+ "activity",
+ "sourceId",
+ "timestamp",
+ "projectId",
+ "metadata"
+ ]
+ },
+ "domino.nucleus.file.ProjectCommitDeprecated": {
+ "properties": {
+ "id": { "type": "string" },
+ "name": { "type": "string" },
+ "commitTime": { "type": "integer", "format": "int64" }
+ },
+ "required": ["id", "name", "commitTime"]
+ },
+ "domino.projects.web.MarkProjectComplete": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "completeReason": { "type": "string" }
+ },
+ "required": ["projectId", "completeReason"]
+ },
+ "domino.nucleus.dataset.ui.AddDataSetTagInput": {
+ "properties": {
+ "name": { "type": "string" },
+ "dataSetId": { "type": "string" }
+ },
+ "required": ["name", "dataSetId"]
+ },
+ "domino.common.run.interfaces.NewRunDTO": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commandToRun": { "type": "string" },
+ "commitId": { "type": "string", "nullable": true },
+ "mainRepoGitRef": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.common.run.interfaces.NewRunGitRefDto"
+ },
+ "hardwareTierName": { "type": "string", "nullable": true },
+ "datasetConfig": { "type": "string", "nullable": true },
+ "dominoClientSource": { "type": "string", "nullable": true }
+ },
+ "required": ["projectId", "commandToRun"]
+ },
+ "domino.jobs.interface.Comment": {
+ "properties": {
+ "commentId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commenter": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Commenter"
+ },
+ "commentBody": {
+ "$ref": "#/components/schemas/domino.jobs.interface.CommentContent"
+ },
+ "created": { "type": "integer", "format": "epoch" }
+ },
+ "required": ["commentId", "commenter", "commentBody", "created"]
+ },
+ "domino.projectManagement.api.SubTicketToDominoMapper": {
+ "properties": {
+ "dominoEntity": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.DominoEntity"
+ },
+ "pmEntity": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmEntity"
+ },
+ "metadata": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.DominoGoalToPmSubTicketMetadata"
+ },
+ "isDeleted": { "type": "boolean" }
+ },
+ "required": ["dominoEntity", "pmEntity", "metadata", "isDeleted"]
+ },
+ "domino.projects.api.ProjectOwnerInfo": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "canonicalName": { "type": "string" }
+ },
+ "required": ["id", "canonicalName"]
+ },
+ "domino.computegrid.LogContent": {
+ "properties": {
+ "timestamp": { "type": "integer", "format": "epoch" },
+ "logType": {
+ "type": "string",
+ "enum": [
+ "stdout",
+ "complete",
+ "prepareoutput",
+ "stderr",
+ "stdoutstderr"
+ ]
+ },
+ "log": { "type": "string" },
+ "size": { "type": "integer", "format": "int64" }
+ },
+ "required": ["timestamp", "logType", "log", "size"]
+ },
+ "domino.common.modelproduct.AppResourceUsageSnapshot": {
+ "properties": {
+ "timestamp": { "type": "integer", "format": "epoch" },
+ "cpu": { "type": "number", "format": "double" },
+ "memory": { "type": "number", "format": "double" }
+ },
+ "required": ["timestamp", "cpu", "memory"]
+ },
+ "domino.gruz.api.StatusChange": {
+ "properties": {
+ "time": { "type": "string", "format": "date-time" },
+ "status": { "type": "string" }
+ },
+ "required": ["time", "status"]
+ },
+ "domino.gruz.api.RunPostProcessingControl": {
+ "properties": {
+ "publishApiEndpoint": { "type": "boolean" },
+ "publishModelId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ }
+ },
+ "required": ["publishApiEndpoint"]
+ },
+ "domino.projects.api.ProjectDependenciesAndForks": {
+ "properties": {
+ "dependencies": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectInfo"
+ }
+ },
+ "baseProject": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.ProjectInfo"
+ },
+ "relatedForks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectInfo"
+ }
+ },
+ "canCreateReviewRequest": { "type": "boolean" },
+ "canUpdateFork": { "type": "boolean" }
+ },
+ "required": [
+ "dependencies",
+ "relatedForks",
+ "canCreateReviewRequest",
+ "canUpdateFork"
+ ]
+ },
+ "domino.projectManagement.api.PmLinker": {
+ "properties": {
+ "userId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "credentials": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmCredentials"
+ }
+ },
+ "required": ["credentials"]
+ },
+ "domino.projects.api.StatusStat": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": ["active", "complete", "blocked"]
+ },
+ "projectCount": { "type": "integer", "format": "int32" }
+ },
+ "required": ["name", "projectCount"]
+ },
+ "domino.workspace.api.WorkspaceCommitDto": {
+ "properties": {
+ "id": { "type": "string" },
+ "isDfsCommit": { "type": "boolean" }
+ },
+ "required": ["id", "isDfsCommit"]
+ },
+ "domino.nucleus.dataset.ui.DatasetWorkspace": {
+ "properties": { "workspaceId": { "type": "string" } },
+ "required": ["workspaceId"]
+ },
+ "domino.projects.web.UpdateStageName": {
+ "properties": {
+ "stageId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "stageName": { "type": "string" }
+ },
+ "required": ["stageId", "stageName"]
+ },
+ "domino.workspaces.api.CommentContent": {
+ "properties": { "value": { "type": "string" } },
+ "required": ["value"]
+ },
+ "domino.projects.api.NewTagsDTO": {
+ "properties": {
+ "tagNames": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["tagNames"]
+ },
+ "domino.workspace.api.WorkspaceAdminPageTableRow": {
+ "properties": {
+ "workspaceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "ownerUsername": { "type": "string" },
+ "workspaceCreatedTime": { "type": "string", "format": "date-time" },
+ "lastSessionStart": {
+ "nullable": true,
+ "type": "string",
+ "format": "date-time"
+ },
+ "environmentRevisionId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "environmentRevisionNumber": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "environmentName": { "type": "string" },
+ "pvSpace": { "$ref": "#/components/schemas/Information" },
+ "projectName": { "type": "string" },
+ "projectOwnerName": { "type": "string" },
+ "workspaceState": {
+ "type": "string",
+ "enum": [
+ "Started",
+ "Stopping",
+ "Created",
+ "Deleted",
+ "Starting",
+ "Stopped",
+ "Initializing"
+ ]
+ },
+ "pvcName": { "type": "string" },
+ "clusterInfo": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceAdminPageClusterInfo"
+ }
+ },
+ "required": [
+ "workspaceId",
+ "name",
+ "ownerUsername",
+ "workspaceCreatedTime",
+ "environmentName",
+ "pvSpace",
+ "projectName",
+ "projectOwnerName",
+ "workspaceState",
+ "pvcName"
+ ]
+ },
+ "domino.datasetrw.web.AddTagRequest": {
+ "properties": {
+ "snapshotId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "tag": { "type": "string" }
+ },
+ "required": ["snapshotId", "tag"]
+ },
+ "domino.workspaces.api.ResultFileMetadata": {
+ "properties": {
+ "contentId": { "type": "string" },
+ "filename": { "type": "string" },
+ "size": { "type": "integer", "format": "int64" },
+ "lastModified": { "type": "integer", "format": "epoch" },
+ "author": { "type": "string" }
+ },
+ "required": ["contentId", "filename", "size", "lastModified", "author"]
+ },
+ "domino.jobs.web.RemoveTagFromJob": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "tagId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "tagId"]
+ },
+ "domino.projectManagement.web.UnlinkWorkspaceFromGoalRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "goalId"]
+ },
+ "domino.datasetrw.web.UpdateDatasetRequest": {
+ "properties": {
+ "datasetName": { "type": "string", "nullable": true },
+ "description": { "type": "string", "nullable": true }
+ }
+ },
+ "domino.jobs.interface.CommitDetails": {
+ "properties": {
+ "inputCommitId": { "type": "string" },
+ "outputCommitId": { "type": "string", "nullable": true }
+ },
+ "required": ["inputCommitId"]
+ },
+ "domino.nucleus.modelproduct.models.UnlinkAppFromGoal": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "appVersionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "goalId", "appVersionId"]
+ },
+ "domino.projects.api.ProjectTagDTO": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "isApproved": { "type": "boolean" }
+ },
+ "required": ["id", "name", "isApproved"]
+ },
+ "domino.projectManagement.api.TicketToDominoMapper": {
+ "properties": {
+ "dominoEntity": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.DominoEntity"
+ },
+ "pmEntity": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmEntity"
+ },
+ "metadata": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.DominoProjectToPmTicketMetadata"
+ },
+ "isDeleted": { "type": "boolean" }
+ },
+ "required": ["dominoEntity", "pmEntity", "metadata", "isDeleted"]
+ },
+ "domino.jobs.web.CreateTag": {
+ "properties": {
+ "tagName": { "type": "string" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["tagName", "projectId"]
+ },
+ "domino.workspace.api.git.HardResetResolutionRequest": {
+ "properties": {
+ "repositories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.MergeConflictRepository"
+ }
+ }
+ },
+ "required": ["repositories"]
+ },
+ "domino.activity.api.ProjectGoalWorkspaceLinkActivityMetadata": {
+ "properties": {
+ "action": { "type": "string", "enum": ["added", "removed"] },
+ "workspaceNumber": { "type": "integer", "format": "int32" },
+ "workspaceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectGoalTitle": { "type": "string" }
+ },
+ "required": [
+ "action",
+ "workspaceNumber",
+ "workspaceId",
+ "projectGoalTitle"
+ ]
+ },
+ "domino.nucleus.dataset.ui.CreateSnapshotWithRunInput": {
+ "properties": {
+ "datasetId": { "type": "string" },
+ "command": { "type": "string" },
+ "outputPath": { "type": "string" }
+ },
+ "required": ["datasetId", "command", "outputPath"]
+ },
+ "domino.activity.api.CommentedOnProjectGoalMetaData": {
+ "properties": {
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "title": { "type": "string" },
+ "isArchived": { "type": "boolean" }
+ },
+ "required": ["goalId", "title", "isArchived"]
+ },
+ "domino.jobs.interface.JobRuntimeExecutionDetails": {
+ "properties": {
+ "executorInfo": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.jobs.interface.ExecutorInfo"
+ },
+ "environment": {
+ "$ref": "#/components/schemas/domino.jobs.interface.Environment"
+ },
+ "hardwareTier": { "type": "string" },
+ "hardwareTierId": { "type": "string" }
+ },
+ "required": ["environment", "hardwareTier", "hardwareTierId"]
+ },
+ "domino.gruz.api.RunMemoryLimit": {
+ "properties": {
+ "memoryLimitMegabytes": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "memorySwapLimitMegabytes": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ }
+ }
+ },
+ "domino.common.models.EnvironmentVariable": {
+ "properties": {
+ "name": { "type": "string" },
+ "value": { "type": "string" }
+ },
+ "required": ["name", "value"]
+ },
+ "domino.activity.api.ActivityBy": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "username": { "type": "string" }
+ },
+ "required": ["id", "username"]
+ },
+ "domino.datasetrw.api.DatasetRwSnapshotDto": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "resourceId": { "type": "string" },
+ "datasetId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "author": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "version": { "type": "integer", "format": "int32" },
+ "description": { "type": "string", "nullable": true },
+ "creationTime": { "type": "integer", "format": "int64" },
+ "lifecycleStatus": {
+ "type": "string",
+ "enum": [
+ "Pending",
+ "Deleted",
+ "DeletionInProgress",
+ "Failed",
+ "Active",
+ "MarkedForDeletion"
+ ]
+ },
+ "statusLastUpdatedBy": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "statusLastUpdatedTime": { "type": "integer", "format": "int64" },
+ "storageSize": { "type": "integer", "format": "int64" },
+ "isPartialSize": { "type": "boolean" },
+ "lastUsedTime": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ },
+ "isReadWrite": { "type": "boolean" }
+ },
+ "required": [
+ "id",
+ "resourceId",
+ "datasetId",
+ "version",
+ "creationTime",
+ "lifecycleStatus",
+ "statusLastUpdatedBy",
+ "statusLastUpdatedTime",
+ "storageSize",
+ "isPartialSize",
+ "isReadWrite"
+ ]
+ },
+ "domino.computecluster.api.DefaultComputeClusterSettings": {
+ "properties": {
+ "clusterType": { "$ref": "#/components/schemas/ComputeClusterType" },
+ "computeEnvironmentId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "computeEnvironmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "masterHardwareTierId": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "workerCount": { "type": "integer", "format": "int32" },
+ "maxWorkerCount": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "workerHardwareTierId": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "workerStorage": {
+ "nullable": true,
+ "$ref": "#/components/schemas/Information"
+ },
+ "extraConfigs": {
+ "type": "collection.immutable.map[string,string]",
+ "nullable": true
+ },
+ "maxUserExecutionSlots": { "type": "integer", "format": "int32" }
+ },
+ "required": ["clusterType", "workerCount", "maxUserExecutionSlots"]
+ },
+ "domino.projects.api.repositories.responses.browse.CommitShortDTO": {
+ "properties": {
+ "sha": { "type": "string" },
+ "author": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.responses.browse.CommitAuthorDTO"
+ },
+ "message": { "type": "string" }
+ },
+ "required": ["sha", "author", "message"]
+ },
+ "domino.credential.web.UpdateAccessRequest": {
+ "properties": {
+ "owner": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "users": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": ["owner", "users"]
+ },
+ "domino.jobs.interface.DominoStats": {
+ "properties": {
+ "name": { "type": "string" },
+ "value": { "type": "string" }
+ },
+ "required": ["name", "value"]
+ },
+ "domino.jobs.interface.Environment": {
+ "properties": {
+ "environmentRevisionId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "environmentName": { "type": "string" },
+ "revisionNumber": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ }
+ },
+ "required": ["environmentName"]
+ },
+ "domino.jobs.interface.TagApplication": {
+ "properties": {
+ "tagId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "createdBy": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "createdAt": { "type": "integer", "format": "epoch" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["tagId", "name", "createdBy", "createdAt", "projectId"]
+ },
+ "domino.activity.api.ActivityPagination": {
+ "properties": {
+ "pageSize": { "type": "integer", "format": "int32" },
+ "latestTimeStamp": { "type": "integer", "format": "epoch" }
+ },
+ "required": ["pageSize", "latestTimeStamp"]
+ },
+ "domino.admin.interface.ExecutionUnitOverview": {
+ "properties": {
+ "deployableObjectType": {
+ "type": "string",
+ "enum": ["Container", "Pod"]
+ },
+ "deployableObjectId": { "type": "string" },
+ "computeNodeId": { "type": "string", "nullable": true },
+ "status": { "type": "string" }
+ },
+ "required": ["deployableObjectType", "deployableObjectId", "status"]
+ },
+ "domino.projects.web.SetCredentialMapping": {
+ "properties": {
+ "credentialId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["credentialId"]
+ },
+ "domino.provenance.api.ProvenanceGitRepo": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "commit": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.provenance.api.ProvenanceCommit"
+ }
+ },
+ "required": ["id", "name"]
+ },
+ "domino.projects.api.ProjectStakeholder": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "userName": { "type": "string" }
+ },
+ "required": ["id", "name", "userName"]
+ },
+ "domino.server.projectreleases.ProjectReleaseDto": {
+ "properties": {
+ "projectId": { "type": "string" },
+ "runId": { "type": "string" },
+ "createdAt": { "type": "integer", "format": "epoch" },
+ "createdBy": { "type": "string" }
+ },
+ "required": ["projectId", "runId", "createdAt", "createdBy"]
+ },
+ "domino.projects.api.SelectedV2EnvironmentDetailsDTO": {
+ "properties": {
+ "latestRevision": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "latestRevisionUrl": { "type": "string" },
+ "latestRevisionStatus": { "type": "string", "nullable": true },
+ "selectedRevision": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "selectedRevisionUrl": { "type": "string", "nullable": true }
+ },
+ "required": ["latestRevisionUrl"]
+ },
+ "domino.projects.api.AssetPortfolioStats": {
+ "properties": {
+ "assetPortfolioStats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectAssetCount"
+ }
+ }
+ },
+ "required": ["assetPortfolioStats"]
+ },
+ "domino.projects.web.ArchiveComment": {
+ "properties": {
+ "threadId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commentId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["threadId", "commentId"]
+ },
+ "domino.datasetrw.api.DatasetRwSummaryDto": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "description": { "type": "string", "nullable": true },
+ "ownerUsername": { "type": "string", "nullable": true },
+ "projects": {
+ "$ref": "#/components/schemas/domino.datasetrw.api.DatasetRwProjectDetailsDto"
+ },
+ "lifecycleStatus": {
+ "type": "string",
+ "enum": [
+ "Pending",
+ "Deleted",
+ "DeletionInProgress",
+ "Failed",
+ "Active",
+ "MarkedForDeletion"
+ ]
+ },
+ "sizeInBytes": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ }
+ },
+ "required": ["id", "name", "projects", "lifecycleStatus"]
+ },
+ "domino.launcherjob.api.LauncherJobStartDto": {
+ "properties": {
+ "jobTitle": { "type": "string", "nullable": true },
+ "startingUserId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "project": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "postParameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.launcherjob.api.PostParameter"
+ }
+ },
+ "uploadedFiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.launcherjob.api.LauncherJobUploadedFile"
+ }
+ },
+ "notifyOnCompleteEmailAddresses": {
+ "type": "array",
+ "items": { "type": "string" }
+ }
+ },
+ "required": [
+ "project",
+ "postParameters",
+ "uploadedFiles",
+ "notifyOnCompleteEmailAddresses"
+ ]
+ },
+ "domino.workspace.api.WorkspaceHardwareTierDto": {
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "name": { "type": "string" }
+ },
+ "required": ["id", "name"]
+ },
+ "domino.files.interface.CommitSourceInfo": {
+ "properties": {
+ "sourceProjectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "sourceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "sourceNumber": { "type": "integer", "format": "int32" },
+ "sourceType": {
+ "type": "string",
+ "enum": ["job", "workspace", "user"]
+ }
+ },
+ "required": [
+ "sourceProjectId",
+ "sourceId",
+ "sourceNumber",
+ "sourceType"
+ ]
+ },
+ "domino.nucleus.lib.auth.MixpanelSettings": {
+ "properties": {
+ "frontendClientEnabled": { "type": "boolean" },
+ "backendClientEnabled": { "type": "boolean" },
+ "token": { "type": "string" }
+ },
+ "required": ["frontendClientEnabled", "backendClientEnabled", "token"]
+ },
+ "domino.files.interface.CommitInfo": {
+ "properties": {
+ "commitId": { "type": "string" },
+ "commitShortMessage": { "type": "string" },
+ "commitFullMessage": { "type": "string" },
+ "commitTime": { "type": "integer", "format": "int32" },
+ "committedBy": { "type": "string" },
+ "commitSourceInfo": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.files.interface.CommitSourceInfo"
+ },
+ "isLatestCommit": { "type": "boolean" }
+ },
+ "required": [
+ "commitId",
+ "commitShortMessage",
+ "commitFullMessage",
+ "commitTime",
+ "committedBy",
+ "isLatestCommit"
+ ]
+ },
+ "domino.nucleus.dataset.ui.DataSetRun": {
+ "properties": { "runId": { "type": "string" } },
+ "required": ["runId"]
+ },
+ "domino.workspace.api.git.CommitRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "repos": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.CommitRepo"
+ }
+ }
+ },
+ "required": ["projectId", "repos"]
+ },
+ "domino.projects.api.AssetVersionHistoryElement": {
+ "properties": {
+ "timestamp": { "type": "integer", "format": "epoch" },
+ "duration": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ },
+ "stakeholder": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStakeholder"
+ },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectName": { "type": "string" },
+ "assetVersion": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.AssetVersionInfo"
+ }
+ },
+ "required": ["timestamp", "stakeholder", "projectId", "projectName"]
+ },
+ "domino.projects.api.ProjectEnvironmentDTO": {
+ "properties": {
+ "id": { "type": "string" },
+ "archived": { "type": "boolean" },
+ "name": { "type": "string" },
+ "version": { "type": "integer", "format": "int32" },
+ "visibility": {
+ "type": "string",
+ "enum": ["Global", "Private", "Organization"]
+ },
+ "owner": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.ProjectEnvironmentOwnerDTO"
+ },
+ "supportedClusters": {
+ "type": "array",
+ "items": { "$ref": "#/components/schemas/ComputeClusterType" }
+ }
+ },
+ "required": [
+ "id",
+ "archived",
+ "name",
+ "version",
+ "visibility",
+ "supportedClusters"
+ ]
+ },
+ "domino.workspace.api.WorkspaceSessionEndDto": {
+ "properties": {
+ "time": { "type": "integer", "format": "int64" },
+ "exitStatus": {
+ "type": "string",
+ "enum": ["Stopped", "Succeeded", "Failed", "Error"]
+ },
+ "repoDirty": { "type": "boolean" }
+ },
+ "required": ["time", "exitStatus", "repoDirty"]
+ },
+ "domino.nucleus.modelproduct.models.UsageStatisticsTopNResponse": {
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.UsageStatisticsCount"
+ }
+ }
+ },
+ "required": ["data"]
+ },
+ "domino.jobs.interface.DependentRepository": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "uri": { "type": "string" },
+ "ref": { "type": "string" },
+ "serviceProvider": { "type": "string" },
+ "startingCommitId": { "nullable": true, "type": "string" },
+ "startingCommitUri": { "type": "string", "nullable": true },
+ "finishedCommitId": { "nullable": true, "type": "string" },
+ "finishedCommitUri": { "type": "string", "nullable": true },
+ "startingBranch": { "type": "string", "nullable": true },
+ "finishedBranch": { "type": "string", "nullable": true }
+ },
+ "required": ["id", "name", "uri", "ref", "serviceProvider"]
+ },
+ "domino.projectManagement.api.PmTicketMetadata": {
+ "properties": {
+ "ticketLink": { "type": "string" },
+ "ticketKey": { "type": "string" },
+ "projectId": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmId"
+ }
+ },
+ "required": ["ticketLink", "ticketKey", "projectId"]
+ },
+ "domino.jobs.interface.JobUsageInJob": {
+ "properties": {
+ "cpu": { "type": "number", "format": "double" },
+ "memory": { "type": "number", "format": "double" }
+ },
+ "required": ["cpu", "memory"]
+ },
+ "domino.workspace.api.git.StageRemoteCommitFileRequest": {
+ "properties": {
+ "repoId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "filePath": { "type": "string" }
+ },
+ "required": ["repoId", "filePath"]
+ },
+ "domino.workspaces.api.WorkspaceSummary": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "title": { "type": "string" },
+ "stageTime": {
+ "$ref": "#/components/schemas/domino.workspaces.api.StageTime"
+ },
+ "startedBy": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceStartedBy"
+ },
+ "number": { "type": "integer", "format": "int32" },
+ "isCompleted": { "type": "boolean" },
+ "isArchived": { "type": "boolean" },
+ "commentsCount": { "type": "integer", "format": "int32" },
+ "status": { "type": "string" },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceTag"
+ }
+ },
+ "dominoStats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.DominoStats"
+ }
+ },
+ "goalIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "usage": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceResourceUsage"
+ },
+ "isRestartable": { "type": "boolean" }
+ },
+ "required": [
+ "id",
+ "projectId",
+ "title",
+ "stageTime",
+ "number",
+ "isCompleted",
+ "isArchived",
+ "commentsCount",
+ "status",
+ "tags",
+ "dominoStats",
+ "goalIds",
+ "isRestartable"
+ ]
+ },
+ "domino.projects.api.ProjectPortfolioSet": {
+ "properties": {
+ "totalCount": { "type": "integer", "format": "int32" },
+ "projectPortfolios": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectPortfolioElement"
+ }
+ },
+ "paginationFilter": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectPortfolioPaginationFilter"
+ }
+ },
+ "required": ["totalCount", "projectPortfolios", "paginationFilter"]
+ },
+ "domino.files.web.FileOrFolderToRemove": {
+ "properties": {
+ "pathToRemove": { "type": "string" },
+ "ownerUsername": { "type": "string" },
+ "projectName": { "type": "string" }
+ },
+ "required": ["pathToRemove", "ownerUsername", "projectName"]
+ },
+ "domino.computegrid.PaginationFilter": {
+ "properties": {
+ "limit": { "type": "integer", "format": "int32" },
+ "offset": { "type": "integer", "format": "int32" },
+ "latestTimeNano": { "type": "string", "nullable": true }
+ },
+ "required": ["limit", "offset"]
+ },
+ "domino.projects.api.EnvironmentDetails": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "archived": { "type": "boolean" },
+ "name": { "type": "string" },
+ "visibility": {
+ "type": "string",
+ "enum": ["Global", "Private", "Organization"]
+ },
+ "owner": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.EnvironmentOwner"
+ },
+ "supportedClusters": {
+ "type": "array",
+ "items": { "$ref": "#/components/schemas/ComputeClusterType" }
+ },
+ "latestRevision": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.RevisionOverview"
+ },
+ "selectedRevision": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.RevisionOverview"
+ }
+ },
+ "required": [
+ "id",
+ "archived",
+ "name",
+ "visibility",
+ "supportedClusters"
+ ]
+ },
+ "domino.projects.api.repositories.responses.GetCommitsApiResponse": {
+ "properties": {
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.repositories.responses.browse.CommitShortDTO"
+ }
+ }
+ },
+ "required": ["items"]
+ },
+ "domino.dataset.api.DatasetSnapshotSummaryDto": {
+ "type": "object",
+ "properties": {
+ "datasetDescription": { "nullable": true, "type": "string" },
+ "runUrl": { "nullable": true, "type": "string" },
+ "authorUsername": { "nullable": true, "type": "string" },
+ "snapshot": {
+ "$ref": "#/components/schemas/domino.dataset.api.DatasetSnapshotDto"
+ },
+ "originName": { "nullable": true, "type": "string" }
+ },
+ "required": ["snapshot"]
+ },
+ "domino.jobs.interface.LogSet": {
+ "properties": {
+ "logContent": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.LogContent"
+ }
+ },
+ "isComplete": { "type": "boolean" },
+ "pagination": {
+ "$ref": "#/components/schemas/domino.jobs.interface.PaginationFilter"
+ }
+ },
+ "required": ["logContent", "isComplete", "pagination"]
+ },
+ "domino.projects.api.AssetVersionInfo": {
+ "properties": {
+ "assetVersionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "assetName": { "type": "string" },
+ "assetVersion": { "type": "string" }
+ },
+ "required": ["assetVersionId", "assetName", "assetVersion"]
+ },
+ "domino.projectManagement.api.PmUser": {
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmId"
+ },
+ "name": { "type": "string" }
+ },
+ "required": ["id", "name"]
+ },
+ "domino.gitproviders.api.GetReposApiResponse": {
+ "properties": {
+ "totalHits": { "type": "integer", "format": "int32" },
+ "items": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.gitproviders.api.RepoDTO"
+ }
+ }
+ },
+ "required": ["totalHits", "items"]
+ },
+ "domino.workspaces.api.WorkspaceResourceUsage": {
+ "properties": {
+ "cpu": { "type": "number", "format": "double" },
+ "memory": { "type": "number", "format": "double" },
+ "timestamp": { "type": "integer", "format": "epoch" }
+ },
+ "required": ["cpu", "memory", "timestamp"]
+ },
+ "domino.server.controlcenter.MoneyDTO": {
+ "properties": {
+ "amount": { "type": "number", "format": "double" },
+ "currencyCode": { "type": "string" }
+ },
+ "required": ["amount", "currencyCode"]
+ },
+ "domino.workspace.api.git.CommitReposResponseDto": {
+ "properties": {
+ "succeeded": { "type": "boolean" },
+ "message": { "type": "string" }
+ },
+ "required": ["succeeded", "message"]
+ },
+ "domino.common.modelproduct.ExecutorDetails": {
+ "properties": {
+ "executorInstanceId": { "type": "string" },
+ "region": { "type": "string" },
+ "humanName": { "type": "string", "nullable": true },
+ "publicAddress": { "type": "string", "nullable": true },
+ "privateAddress": { "type": "string", "nullable": true }
+ },
+ "required": ["executorInstanceId", "region"]
+ },
+ "domino.jobs.interface.JobPagination": {
+ "properties": {
+ "pageSize": { "type": "integer", "format": "int32" },
+ "sortBy": { "type": "string", "enum": ["asc", "desc"] },
+ "orderBy": {
+ "type": "string",
+ "enum": [
+ "number",
+ "duration",
+ "dominoStatsField",
+ "queued",
+ "command",
+ "commentCount",
+ "status",
+ "title",
+ "user"
+ ]
+ },
+ "dominoStatsSortFieldName": { "type": "string", "nullable": true },
+ "pageNo": { "type": "integer", "format": "int32" }
+ },
+ "required": ["pageSize", "sortBy", "orderBy", "pageNo"]
+ },
+ "domino.workspace.api.WorkspaceClusterConfigDto": {
+ "properties": {
+ "computeEnvironmentId": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "computeEnvironmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "executorCount": { "type": "integer", "format": "int32" },
+ "executorHardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "volumeSize": {
+ "nullable": true,
+ "$ref": "#/components/schemas/Information"
+ },
+ "masterHardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ }
+ },
+ "required": [
+ "computeEnvironmentId",
+ "executorCount",
+ "executorHardwareTierId",
+ "masterHardwareTierId"
+ ]
+ },
+ "domino.workspace.web.WorkspaceEvents": {
+ "properties": {
+ "changeEvent": {
+ "$ref": "#/components/schemas/domino.workspace.api.RestartableWorkspaceChangeEvent"
+ }
+ },
+ "required": ["changeEvent"]
+ },
+ "domino.projects.web.UpdateCommentInfo": {
+ "properties": {
+ "commentThreadId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commentId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commentBody": { "type": "string" }
+ },
+ "required": ["commentThreadId", "commentId", "commentBody"]
+ },
+ "domino.admin.interface.OnDemandSparkClusterOverview": {
+ "properties": {
+ "name": { "type": "string" },
+ "workerStorageMB": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "masterHardwareTier": {
+ "$ref": "#/components/schemas/domino.admin.interface.HardwareTierOverview"
+ },
+ "workerHardwareTier": {
+ "$ref": "#/components/schemas/domino.admin.interface.HardwareTierOverview"
+ },
+ "webUiPath": { "type": "string" }
+ },
+ "required": [
+ "name",
+ "masterHardwareTier",
+ "workerHardwareTier",
+ "webUiPath"
+ ]
+ },
+ "domino.nucleus.dataset.ui.CreateSnapshotWithWorkspaceInput": {
+ "properties": {
+ "datasetId": { "type": "string" },
+ "outputPath": { "type": "string" },
+ "workspaceDefinitionId": { "type": "string" },
+ "title": { "type": "string", "nullable": true },
+ "commitId": { "type": "string", "nullable": true },
+ "hardwareTierId": { "type": "string", "nullable": true }
+ },
+ "required": ["datasetId", "outputPath", "workspaceDefinitionId"]
+ },
+ "domino.activity.api.CommentedOnJobMetaData": {
+ "properties": {
+ "jobId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "jobNumber": { "type": "integer", "format": "int32" },
+ "title": { "type": "string" }
+ },
+ "required": ["jobId", "jobNumber", "title"]
+ },
+ "domino.server.projects.api.ProjectGatewayTag": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "isApproved": { "type": "boolean" }
+ },
+ "required": ["id", "name", "isApproved"]
+ },
+ "domino.gruz.api.ExecutorHostnameMapping": {
+ "properties": { "targetIp": { "type": "string" } },
+ "required": ["targetIp"]
+ },
+ "domino.datamount.web.UpdateDataMountStatusRequest": {
+ "properties": {
+ "datamountIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": ["datamountIds"]
+ },
+ "domino.projects.web.AddBlockedAtComment": {
+ "properties": {
+ "comment": { "type": "string" },
+ "blockedAt": { "type": "integer", "format": "epoch" }
+ },
+ "required": ["comment", "blockedAt"]
+ },
+ "domino.jobs.interface.CodeInfoDto": {
+ "properties": {
+ "mainRepo": {
+ "$ref": "#/components/schemas/domino.jobs.interface.CodeInfoRepositoryDto"
+ },
+ "importedGitRepos": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.jobs.interface.CodeInfoRepositoryDto"
+ }
+ }
+ },
+ "required": ["mainRepo", "importedGitRepos"]
+ },
+ "domino.jobs.interface.LogsWithProblemSuggestion": {
+ "properties": {
+ "logset": {
+ "$ref": "#/components/schemas/domino.jobs.interface.LogSet"
+ },
+ "problemSuggestion": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.jobs.interface.JobProblemSuggestion"
+ }
+ },
+ "required": ["logset"]
+ },
+ "domino.launcherjob.api.LauncherJobUploadedFile": {
+ "properties": {
+ "parameterName": { "type": "string" },
+ "fileName": { "type": "string" },
+ "tempFileBase64Encoding": { "type": "string" }
+ },
+ "required": ["parameterName", "fileName", "tempFileBase64Encoding"]
+ },
+ "domino.projectManagement.web.LinkFileToGoalRequest": {
+ "properties": {
+ "fileName": { "type": "string" },
+ "commitId": { "type": "string" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["fileName", "commitId", "projectId", "goalId"]
+ },
+ "domino.workspaces.api.HardwareTierDetails": {
+ "properties": {
+ "name": { "type": "string" },
+ "id": { "type": "string" }
+ },
+ "required": ["name", "id"]
+ },
+ "domino.activity.api.CommentedOnMetaData": { "properties": {} },
+ "domino.projectManagement.api.PmTicketStage": {
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmId"
+ },
+ "name": { "type": "string" }
+ },
+ "required": ["id", "name"]
+ },
+ "domino.nucleus.modelproduct.models.IsRunnable": {
+ "properties": { "isRunnable": { "type": "boolean" } },
+ "required": ["isRunnable"]
+ },
+ "domino.activity.api.ScheduleJobEditActivityMetaData": {
+ "properties": {
+ "action": {
+ "type": "string",
+ "enum": ["scheduled", "paused", "edited", "unpaused", "unscheduled"]
+ },
+ "fromTitle": { "type": "string", "nullable": true },
+ "fromCommandToRun": { "type": "string" },
+ "fromCronSchedule": { "type": "string" },
+ "toTitle": { "type": "string", "nullable": true },
+ "toCommandToRun": { "type": "string" },
+ "toCronSchedule": { "type": "string" }
+ },
+ "required": [
+ "action",
+ "fromCommandToRun",
+ "fromCronSchedule",
+ "toCommandToRun",
+ "toCronSchedule"
+ ]
+ },
+ "domino.jobs.interface.StageTime": {
+ "properties": {
+ "submissionTime": { "type": "integer", "format": "epoch" },
+ "runStartTime": {
+ "type": "integer",
+ "format": "epoch",
+ "nullable": true
+ },
+ "completedTime": {
+ "type": "integer",
+ "format": "epoch",
+ "nullable": true
+ }
+ },
+ "required": ["submissionTime"]
+ },
+ "domino.common.user.Person": {
+ "type": "object",
+ "properties": {
+ "firstName": { "description": "Person first name", "type": "string" },
+ "lastName": { "description": "Person last name", "type": "string" },
+ "phoneNumber": {
+ "nullable": true,
+ "description": "Person phone number",
+ "type": "string"
+ },
+ "avatarUrl": {
+ "description": "Url of the person's avatar",
+ "type": "string"
+ },
+ "companyName": {
+ "nullable": true,
+ "description": "Person's company name",
+ "type": "string"
+ },
+ "fullName": { "description": "Person full name", "type": "string" },
+ "id": {
+ "pattern": "^[0-9a-f]{24}$",
+ "description": "Person user id",
+ "type": "string"
+ },
+ "userName": { "description": "Person username", "type": "string" },
+ "email": {
+ "nullable": true,
+ "description": "Person email",
+ "type": "string"
+ }
+ },
+ "required": [
+ "firstName",
+ "lastName",
+ "fullName",
+ "userName",
+ "avatarUrl",
+ "id"
+ ]
+ },
+ "domino.common.executor.run.RunMemoryLimitDto": {
+ "properties": {
+ "memoryLimitMegabytes": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "memorySwapLimitMegabytes": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ }
+ }
+ },
+ "domino.common.modelproduct.AppVersionOverview": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "started": { "type": "integer", "format": "epoch" },
+ "duration": { "type": "integer", "format": "int32" },
+ "publishingUserId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "publishingUsername": { "type": "string" },
+ "status": { "type": "string" },
+ "goalIds": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": [
+ "id",
+ "started",
+ "duration",
+ "publishingUserId",
+ "publishingUsername",
+ "status",
+ "goalIds"
+ ]
+ },
+ "domino.nucleus.user.Response": {
+ "properties": { "message": { "type": "string" } },
+ "required": ["message"]
+ },
+ "domino.common.user.TrialStatusDTO": {
+ "properties": {
+ "trialStatus": {
+ "type": "string",
+ "enum": ["Initial", "Extended", "Expired"]
+ }
+ },
+ "required": ["trialStatus"]
+ },
+ "domino.workspaces.web.UpdateWorkspaceTitle": {
+ "properties": { "title": { "type": "string" } },
+ "required": ["title"]
+ },
+ "domino.workspaces.api.WorkspaceDefinitionDto": {
+ "properties": {
+ "id": { "type": "string" },
+ "iconUrl": { "type": "string", "nullable": true },
+ "name": { "type": "string" },
+ "title": { "type": "string" }
+ },
+ "required": ["id", "name", "title"]
+ },
+ "domino.projects.api.repositories.CredentialMappingDTO": {
+ "properties": {
+ "userId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "repoId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "credentialId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ }
+ },
+ "required": ["userId", "projectId", "repoId"]
+ },
+ "domino.projectManagement.web.UnlinkJobFromGoalRequest": {
+ "properties": {
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "goalId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["projectId", "goalId"]
+ },
+ "domino.server.controlcenter.HardwareTiersUtilizationDTO": {
+ "description": "TODO describe",
+ "type": "object",
+ "properties": {
+ "completedRunsCount": {
+ "format": "int32",
+ "description": "How many runs was executed in this hardware tier",
+ "type": "integer"
+ },
+ "estimatedCostVariation": {
+ "format": "double",
+ "description": "How much the `estimatedCost` changed recently",
+ "type": "number"
+ },
+ "averageQueueTimeInSeconds": {
+ "format": "double",
+ "description": "TODO describe",
+ "type": "number"
+ },
+ "estimatedCostPerHour": {
+ "format": "double",
+ "description": "TODO describe",
+ "type": "number"
+ },
+ "name": { "description": "TODO describe", "type": "string" },
+ "costEfficiency": {
+ "format": "double",
+ "description": "TODO describe",
+ "type": "number"
+ },
+ "utilization": {
+ "format": "double",
+ "description": "TODO describe",
+ "type": "number"
+ },
+ "id": { "description": "TODO describe", "type": "string" },
+ "estimatedCost": {
+ "format": "double",
+ "description": "TODO describe",
+ "type": "number"
+ },
+ "utilizationVariation": {
+ "format": "double",
+ "description": "How much the `utilization` changed recently",
+ "type": "number"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "costEfficiency",
+ "utilization",
+ "utilizationVariation",
+ "averageQueueTimeInSeconds",
+ "estimatedCost",
+ "estimatedCostVariation",
+ "estimatedCostPerHour",
+ "completedRunsCount"
+ ]
+ },
+ "domino.hardwaretier.api.HardwareTierDto": {
+ "properties": {
+ "id": { "type": "string" },
+ "name": { "type": "string" },
+ "cores": { "type": "number", "format": "double" },
+ "coresLimit": {
+ "type": "number",
+ "format": "double",
+ "nullable": true
+ },
+ "memory": { "type": "number", "format": "double" },
+ "allowSharedMemoryToExceedDefault": { "type": "boolean" },
+ "clusterType": {
+ "type": "string",
+ "nullable": true,
+ "enum": ["ClassicOnPremises", "ClassicAWS", "Kubernetes"]
+ },
+ "numberOfGpus": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "gpuKey": { "type": "string" },
+ "runMemoryLimit": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.common.executor.run.RunMemoryLimitDto"
+ },
+ "isDefault": { "type": "boolean" },
+ "centsPerMinute": { "type": "number", "format": "double" },
+ "isFree": { "type": "boolean" },
+ "isAllowedDuringTrial": { "type": "boolean" },
+ "isVisible": { "type": "boolean" },
+ "isGlobal": { "type": "boolean" },
+ "isArchived": { "type": "boolean" },
+ "creationTime": { "type": "string", "format": "date-time" },
+ "updateTime": { "type": "string", "format": "date-time" },
+ "nodePool": { "type": "string", "nullable": true },
+ "maxSimultaneousExecutions": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "overprovisioning": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierOverprovisioningDto"
+ }
+ },
+ "required": [
+ "id",
+ "name",
+ "cores",
+ "memory",
+ "allowSharedMemoryToExceedDefault",
+ "gpuKey",
+ "isDefault",
+ "centsPerMinute",
+ "isFree",
+ "isAllowedDuringTrial",
+ "isVisible",
+ "isGlobal",
+ "isArchived",
+ "creationTime",
+ "updateTime"
+ ]
+ },
+ "domino.datamount.web.CreateDataMountRequest": {
+ "properties": {
+ "name": { "type": "string" },
+ "description": { "type": "string", "nullable": true },
+ "volumeType": { "type": "string", "enum": ["Nfs", "Smb", "Efs"] },
+ "pvcName": { "type": "string" },
+ "pvId": { "type": "string" },
+ "mountPath": { "type": "string" },
+ "users": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "readOnly": { "type": "boolean" },
+ "isPublic": { "type": "boolean" }
+ },
+ "required": [
+ "name",
+ "volumeType",
+ "pvcName",
+ "pvId",
+ "mountPath",
+ "users",
+ "readOnly",
+ "isPublic"
+ ]
+ },
+ "domino.scheduledrun.api.CronScheduleDTO": {
+ "properties": {
+ "cronString": { "type": "string" },
+ "isCustom": { "type": "boolean" },
+ "humanReadableCronString": { "type": "string" }
+ },
+ "required": ["cronString", "isCustom", "humanReadableCronString"]
+ },
+ "domino.workspace.web.CreateWorkspaceRequest": {
+ "properties": {
+ "name": { "type": "string" },
+ "environmentId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "environmentRevisionSpec": {
+ "nullable": true,
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "hardwareTierId": {
+ "$ref": "#/components/schemas/domino.hardwaretier.api.HardwareTierIdentifier"
+ },
+ "datasetConfig": { "type": "string", "nullable": true },
+ "tools": { "type": "array", "items": { "type": "string" } },
+ "clusterConfig": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceClusterConfigDto"
+ },
+ "computeClusterConfig": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.ComputeClusterConfigDto"
+ },
+ "externalVolumeMounts": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "startingCommit": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceCommitDto"
+ }
+ },
+ "required": [
+ "name",
+ "environmentId",
+ "hardwareTierId",
+ "tools",
+ "externalVolumeMounts"
+ ]
+ },
+ "domino.projects.api.AssetPortfolioElement": {
+ "properties": {
+ "assetId": { "type": "string" },
+ "assetName": { "type": "string" },
+ "assetType": {
+ "type": "string",
+ "enum": ["App", "ModelAPI", "Launcher", "Schedules"]
+ },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectName": { "type": "string" },
+ "projectOwner": {
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStakeholder"
+ },
+ "lastUpdatedAt": {
+ "type": "integer",
+ "format": "epoch",
+ "nullable": true
+ },
+ "owner": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.ProjectStakeholder"
+ },
+ "versionHistory": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.AssetVersionHistoryElement"
+ }
+ },
+ "status": { "type": "string", "nullable": true },
+ "usage": {
+ "type": "array",
+ "nullable": true,
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.AssetUsageValues"
+ }
+ },
+ "metadata": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.AssetViewStats"
+ }
+ },
+ "required": [
+ "assetId",
+ "assetName",
+ "assetType",
+ "projectId",
+ "projectName",
+ "projectOwner"
+ ]
+ },
+ "domino.hardwaretier.api.HardwareTierOverprovisioningDto": {
+ "properties": {
+ "instances": { "type": "integer", "format": "int32" },
+ "schedulingEnabled": { "type": "boolean" },
+ "daysOfWeek": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "MONDAY",
+ "TUESDAY",
+ "WEDNESDAY",
+ "THURSDAY",
+ "FRIDAY",
+ "SATURDAY",
+ "SUNDAY"
+ ]
+ }
+ },
+ "timezone": { "type": "string" },
+ "fromTime": { "type": "string" },
+ "toTime": { "type": "string" }
+ },
+ "required": [
+ "instances",
+ "schedulingEnabled",
+ "daysOfWeek",
+ "timezone",
+ "fromTime",
+ "toTime"
+ ]
+ },
+ "domino.scheduledrun.api.EditCronScheduleDTO": {
+ "properties": {
+ "cronString": { "type": "string" },
+ "isCustom": { "type": "boolean" }
+ },
+ "required": ["cronString", "isCustom"]
+ },
+ "RunType": {
+ "type": "string",
+ "description": "What is the type of the run",
+ "enum": [
+ "App",
+ "Batch",
+ "Endpoint",
+ "Launcher",
+ "Scheduled",
+ "SSHProxy",
+ "Workspace",
+ "Other"
+ ]
+ },
+ "domino.admin.interface.ComputeNodeStatus": {
+ "properties": {
+ "conditionType": { "type": "string" },
+ "conditionStatus": { "type": "string" },
+ "reason": { "type": "string" },
+ "message": { "type": "string" },
+ "lastHeartbeatTime": { "type": "string", "format": "date-time" },
+ "lastTransitionTime": { "type": "string", "format": "date-time" }
+ },
+ "required": [
+ "conditionType",
+ "conditionStatus",
+ "reason",
+ "message",
+ "lastHeartbeatTime",
+ "lastTransitionTime"
+ ]
+ },
+ "domino.projectManagement.api.PmOAuth1aConfiguration": {
+ "properties": {
+ "applicationUrl": { "type": "string" },
+ "applicationName": { "type": "string" },
+ "applicationType": { "type": "string" },
+ "createIncomingLink": { "type": "boolean" },
+ "inComingConsumerKey": { "type": "string" },
+ "inComingConsumerName": { "type": "string" },
+ "publicKey": { "type": "string", "nullable": true }
+ },
+ "required": [
+ "applicationUrl",
+ "applicationName",
+ "applicationType",
+ "createIncomingLink",
+ "inComingConsumerKey",
+ "inComingConsumerName"
+ ]
+ },
+ "domino.workspace.api.VolumeMountDto": {
+ "properties": {
+ "mountPath": { "type": "string" },
+ "subPath": { "type": "string", "nullable": true },
+ "readOnly": { "type": "boolean" }
+ },
+ "required": ["mountPath", "readOnly"]
+ },
+ "domino.workspace.api.git.ForcePushResolutionRequest": {
+ "properties": {
+ "repositories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspace.api.git.MergeConflictRepository"
+ }
+ }
+ },
+ "required": ["repositories"]
+ },
+ "domino.gitproviders.api.OwnerDTO": { "properties": {} },
+ "domino.workspaces.api.Workspace": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "title": { "type": "string" },
+ "definitionTitle": { "type": "string" },
+ "stageTime": {
+ "$ref": "#/components/schemas/domino.workspaces.api.StageTime"
+ },
+ "startedBy": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceStartedBy"
+ },
+ "number": { "type": "integer", "format": "int32" },
+ "isCompleted": { "type": "boolean" },
+ "isArchived": { "type": "boolean" },
+ "queuedWorkspaceHistoryDetails": {
+ "$ref": "#/components/schemas/domino.workspaces.api.QueuedWorkspaceHistoryDetails"
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceTag"
+ }
+ },
+ "usage": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceResourceUsage"
+ },
+ "commentsCount": { "type": "integer", "format": "int32" },
+ "status": { "type": "string" },
+ "volumeRecoverabilityStatus": {
+ "type": "string",
+ "enum": [
+ "Unauthorized",
+ "VolumeUnavailable",
+ "Recoverable",
+ "NoActionNecessary"
+ ]
+ },
+ "inputCommitId": { "type": "string" },
+ "outputCommitId": { "type": "string", "nullable": true },
+ "dominoStats": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.DominoStats"
+ }
+ },
+ "dependentRepositories": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.DependentRepository"
+ }
+ },
+ "dependentDatasetMounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.DependentDatasetMount"
+ }
+ },
+ "dependentProjects": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.DependentProject"
+ }
+ },
+ "autoSyncSettings": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspaces.api.WorkspaceAutoSync"
+ },
+ "isRestartable": { "type": "boolean" },
+ "dependentExternalVolumeMounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspaces.api.DependentExternalVolumeMount"
+ }
+ }
+ },
+ "required": [
+ "id",
+ "projectId",
+ "title",
+ "definitionTitle",
+ "stageTime",
+ "number",
+ "isCompleted",
+ "isArchived",
+ "queuedWorkspaceHistoryDetails",
+ "tags",
+ "commentsCount",
+ "status",
+ "volumeRecoverabilityStatus",
+ "inputCommitId",
+ "dominoStats",
+ "dependentRepositories",
+ "dependentDatasetMounts",
+ "dependentProjects",
+ "isRestartable",
+ "dependentExternalVolumeMounts"
+ ]
+ },
+ "domino.server.projects.api.ProjectGatewayExecutingRunsByType": {
+ "properties": {
+ "runType": {
+ "type": "string",
+ "enum": [
+ "Other",
+ "SSHProxy",
+ "Endpoint",
+ "App",
+ "Scheduled",
+ "Launcher",
+ "Batch",
+ "Workspace"
+ ]
+ },
+ "count": { "type": "integer", "format": "int32" }
+ },
+ "required": ["runType", "count"]
+ },
+ "domino.projectManagement.api.PmTicketSummary": {
+ "properties": {
+ "id": {
+ "$ref": "#/components/schemas/domino.projectManagement.api.PmId"
+ },
+ "key": { "type": "string" },
+ "name": { "type": "string" }
+ },
+ "required": ["id", "key", "name"]
+ },
+ "domino.admin.interface.ComputeNodeCpuUtilization": {
+ "properties": {
+ "total": { "type": "number", "format": "double" },
+ "requested": { "type": "number", "format": "double" },
+ "available": { "type": "number", "format": "double" }
+ },
+ "required": ["total", "requested", "available"]
+ },
+ "domino.nucleus.project.ProjectSettingsDto": {
+ "properties": {
+ "defaultEnvironmentId": {
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "defaultEnvironmentRevisionSpec": {
+ "oneOf": [
+ {
+ "type": "string",
+ "enum": ["ActiveRevision", "LatestRevision"]
+ },
+ {
+ "type": "object",
+ "required": ["revisionId"],
+ "properties": { "revisionId": { "type": "string" } }
+ }
+ ]
+ },
+ "defaultHardwareTierId": { "type": "string" },
+ "sparkClusterMode": {
+ "type": "string",
+ "enum": ["Local", "Standalone", "Yarn", "OnDemand"]
+ },
+ "defaultVolumeSizeGiB": { "type": "number", "format": "double" },
+ "maxVolumeSizeGiB": { "type": "number", "format": "double" },
+ "minVolumeSizeGiB": { "type": "number", "format": "double" }
+ },
+ "required": [
+ "defaultEnvironmentId",
+ "defaultEnvironmentRevisionSpec",
+ "defaultHardwareTierId",
+ "sparkClusterMode",
+ "defaultVolumeSizeGiB",
+ "maxVolumeSizeGiB",
+ "minVolumeSizeGiB"
+ ]
+ },
+ "domino.files.interface.FileMatchesDto": {
+ "properties": {
+ "projectId": { "type": "string" },
+ "commitId": { "type": "string" },
+ "files": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["projectId", "commitId", "files"]
+ },
+ "domino.workspace.api.WorkspaceAdminPageDataDto": {
+ "properties": {
+ "offset": { "type": "integer", "format": "int32" },
+ "limit": { "type": "integer", "format": "int32" },
+ "totalEntries": { "type": "integer", "format": "int32" },
+ "tableRows": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceAdminPageTableRow"
+ }
+ }
+ },
+ "required": ["offset", "limit", "totalEntries", "tableRows"]
+ },
+ "domino.credential.web.UpdateCredentialRequest": {
+ "properties": {
+ "credential": {
+ "$ref": "#/components/schemas/domino.credential.api.FullCredentialDto"
+ }
+ },
+ "required": ["credential"]
+ },
+ "domino.workspace.api.WorkspaceSessionDto": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "executionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "config": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceConfigDto"
+ },
+ "datasetConfig": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceDatasetConfigDto"
+ },
+ "datasetMounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceDatasetMountDto"
+ }
+ },
+ "externalVolumeMounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.workspace.api.DataMountSpecificationDto"
+ }
+ },
+ "queuedWorkspaceHistoryDetails": {
+ "$ref": "#/components/schemas/domino.workspace.api.QueuedWorkspaceHistoryDetails"
+ },
+ "start": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceSessionStartDto"
+ },
+ "end": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceSessionEndDto"
+ },
+ "sessionStatusInfo": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.workspace.api.WorkspaceSessionStatusInfo"
+ }
+ },
+ "required": [
+ "id",
+ "executionId",
+ "config",
+ "datasetMounts",
+ "externalVolumeMounts",
+ "queuedWorkspaceHistoryDetails"
+ ]
+ },
+ "domino.environments.api.EnvironmentRevisionSummary": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "revisionId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "revisionNumber": { "type": "integer", "format": "int32" }
+ },
+ "required": ["id", "name", "revisionId", "revisionNumber"]
+ },
+ "domino.datasetrw.api.DatasetRwProjectMountDto": {
+ "properties": {
+ "datasetId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "snapshotId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "versionNumber": {
+ "type": "integer",
+ "format": "int32",
+ "nullable": true
+ },
+ "name": { "type": "string" },
+ "description": { "type": "string", "nullable": true },
+ "ownerProjectId": {
+ "nullable": true,
+ "type": "string",
+ "pattern": "^[0-9a-f]{24}$"
+ },
+ "ownerProjectOwnerUsername": { "type": "string" },
+ "ownerProjectName": { "type": "string" },
+ "storageSize": {
+ "type": "integer",
+ "format": "int64",
+ "nullable": true
+ },
+ "isPartialSize": { "type": "boolean" },
+ "availableVersions": { "type": "integer", "format": "int32" },
+ "mountPathsForProject": {
+ "type": "array",
+ "items": { "type": "string" }
+ }
+ },
+ "required": [
+ "datasetId",
+ "snapshotId",
+ "name",
+ "ownerProjectOwnerUsername",
+ "ownerProjectName",
+ "isPartialSize",
+ "availableVersions",
+ "mountPathsForProject"
+ ]
+ },
+ "domino.dataset.api.ConsumedSnapshotDto": {
+ "properties": {
+ "consumerType": {
+ "type": "object",
+ "properties": {
+ "entryName": { "type": "string", "enum": ["user", "run"] }
+ }
+ },
+ "consumerId": { "type": "string" },
+ "datasetId": { "type": "string" },
+ "datasetName": { "type": "string" },
+ "snapshotId": { "type": "string" },
+ "snapshotVersion": { "type": "integer", "format": "int32" },
+ "timestamp": { "type": "integer", "format": "epoch" }
+ },
+ "required": [
+ "consumerType",
+ "consumerId",
+ "datasetId",
+ "datasetName",
+ "snapshotId",
+ "snapshotVersion",
+ "timestamp"
+ ]
+ },
+ "domino.credential.api.FullDataSourceCredentialDto": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "dataSourceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "credential": {
+ "$ref": "#/components/schemas/domino.credential.api.FullCredentialDto"
+ },
+ "owner": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "users": {
+ "type": "array",
+ "items": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ }
+ },
+ "required": ["id", "dataSourceId", "credential", "owner", "users"]
+ },
+ "domino.nucleus.project.models.NewProject": {
+ "properties": {
+ "name": { "type": "string" },
+ "description": { "type": "string" },
+ "visibility": {
+ "type": "string",
+ "enum": ["Public", "Searchable", "Private"]
+ },
+ "ownerId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "repoToCreate": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.repositories.requests.CreateRepoRequest"
+ },
+ "mainRepository": {
+ "nullable": true,
+ "$ref": "#/components/schemas/domino.projects.api.ProjectGitRepositoryTemp"
+ },
+ "collaborators": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.projects.api.CollaboratorDTO"
+ }
+ },
+ "tags": {
+ "$ref": "#/components/schemas/domino.projects.api.NewTagsDTO"
+ }
+ },
+ "required": [
+ "name",
+ "description",
+ "visibility",
+ "ownerId",
+ "collaborators",
+ "tags"
+ ]
+ },
+ "domino.gruz.api.PreparedRepository": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "uriHost": { "type": "string" },
+ "uriPort": { "type": "string", "nullable": true },
+ "uriPath": { "type": "string" },
+ "serviceProvider": { "type": "string" },
+ "ref": { "type": "string" },
+ "startingRef": { "type": "string", "nullable": true },
+ "finishedRef": { "type": "string", "nullable": true },
+ "startingBranch": { "type": "string", "nullable": true },
+ "finishedBranch": { "type": "string", "nullable": true }
+ },
+ "required": [
+ "id",
+ "name",
+ "uriHost",
+ "uriPath",
+ "serviceProvider",
+ "ref"
+ ]
+ },
+ "domino.workspaces.api.RepositoryChanges": {
+ "properties": {
+ "created": { "type": "array", "items": { "type": "string" } },
+ "modified": { "type": "array", "items": { "type": "string" } },
+ "deleted": { "type": "array", "items": { "type": "string" } },
+ "staged": { "type": "array", "items": { "type": "string" } }
+ },
+ "required": ["created", "modified", "deleted", "staged"]
+ },
+ "domino.api.ErrorResponse": {
+ "type": "object",
+ "properties": {
+ "message": { "type": "string", "description": "Error message" }
+ }
+ },
+ "domino.workspaces.web.StopEndWorkspaceDetails": {
+ "properties": {
+ "workspaceId": { "type": "string", "pattern": "^[0-9a-f]{24}$" }
+ },
+ "required": ["workspaceId"]
+ },
+ "domino.files.web.FullDeleteSpecification": {
+ "properties": {
+ "filePath": { "type": "string" },
+ "projectId": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "commitId": { "type": "string" },
+ "deleteReason": { "type": "string" }
+ },
+ "required": ["filePath", "projectId", "commitId", "deleteReason"]
+ },
+ "domino.common.modelproduct.AppResourceUsage": {
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.common.modelproduct.AppResourceUsageSnapshot"
+ }
+ }
+ },
+ "required": ["data"]
+ },
+ "domino.activity.api.ProjectGoalUpdateDescriptionActivityMetadata": {
+ "properties": {
+ "fromDescription": { "type": "string", "nullable": true },
+ "toDescription": { "type": "string", "nullable": true },
+ "projectGoalTitle": { "type": "string" }
+ },
+ "required": ["projectGoalTitle"]
+ },
+ "domino.provenance.api.ProvenanceGitRepoDto": {
+ "properties": {
+ "id": { "type": "string", "pattern": "^[0-9a-f]{24}$" },
+ "name": { "type": "string" },
+ "commitId": { "type": "string" },
+ "branchName": { "type": "string" }
+ },
+ "required": ["id", "name", "commitId", "branchName"]
+ },
+ "domino.nucleus.modelproduct.models.UsageStatisticsTimeseriesResponse": {
+ "properties": {
+ "data": {
+ "type": "array",
+ "items": {
+ "$ref": "#/components/schemas/domino.nucleus.modelproduct.models.UsageStatisticsTimeseries"
+ }
+ }
+ },
+ "required": ["data"]
+ }
+ },
+ "responses": {
+ "BadRequest": {
+ "description": "The server could not understand the request due to malformed syntax",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.api.ErrorResponse"
+ }
+ }
+ }
+ },
+ "NotFound": {
+ "description": "The server could not find the requested resource",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.api.ErrorResponse"
+ }
+ }
+ }
+ },
+ "Unauthorized": {
+ "description": "The current user cannot perform this operation because they are not logged in",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.api.ErrorResponse"
+ }
+ }
+ }
+ },
+ "Forbidden": {
+ "description": "The current user is not authorized to perform this operation",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.api.ErrorResponse"
+ }
+ }
+ }
+ },
+ "Timeout": {
+ "description": "Server operation timed out",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.api.ErrorResponse"
+ }
+ }
+ }
+ },
+ "ProjectManagementErrorResponse": {
+ "description": "The current operation failed due to external service failure",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.projectManagement.web.ErrorResponse"
+ }
+ }
+ }
+ },
+ "Relogin": {
+ "description": "User needs to re-login even if they are logged in and come back",
+ "content": {
+ "application/json": {
+ "schema": {
+ "type": "object",
+ "properties": { "redirectPath": { "type": "string" } }
+ }
+ }
+ }
+ },
+ "InternalError": {
+ "description": "An internal error prevented the server from performing this action",
+ "content": {
+ "application/json": {
+ "schema": {
+ "$ref": "#/components/schemas/domino.api.ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "securitySchemes": {
+ "DominoApiKey": {
+ "type": "apiKey",
+ "in": "header",
+ "name": "X-Domino-Api-Key"
+ },
+ "BearerAuthentication": {
+ "type": "apiKey",
+ "in": "header",
+ "name": "Authorization"
+ }
+ }
+ },
+ "servers": [{ "url": "https://laurel3702.quality-team-sandbox.domino.tech/v4" }]
+}