

```json
{
  "openapi": "3.0.4",
  "info": {
    "title": "Pipeline Automation",
    "description": "Pipeline Automation service v0.0.79, it provides endpoints for managing and running pipelines and automations.",
    "contact": {
      "name": "API Support",
      "url": "https://docs.unity.com/",
      "email": "support@unity3d.com"
    },
    "license": {
      "name": "Unity Legal",
      "url": "https://unity.com/legal"
    },
    "version": "v1"
  },
  "servers": [
    {
      "url": "https://automation.services.api.unity.com/v1",
      "description": "production"
    }
  ],
  "paths": {
    "/organizations/{organizationId}/apps": {
      "get": {
        "tags": [
          "App"
        ],
        "summary": "List all Apps",
        "description": "Description: Returns all accessible apps (latest version) (private and public) to the organization.",
        "operationId": "GetApps",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "owned",
            "in": "query",
            "description": "bool representing if we list element owned by the org",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the list of apps available for the org when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListAppsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "App"
        ],
        "summary": "Create an app",
        "description": "Description: Creates a new app, returns the first app version of that app.\n\nRequired Role: Automation Developer \n\nRequired Feature Flag: automation_organization_creator_access",
        "operationId": "CreateApp",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The app information.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAppRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the app version for the created app when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the app information has a wrong format, or when the optional id is not a valid GUID.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, or create an app.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the optional app id is already in use.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/apps/{appId}": {
      "patch": {
        "tags": [
          "App"
        ],
        "summary": "Update an app",
        "description": "Description: Updates an app, returns the updated app.\n\nRequired Role: Automation Developer \n\nRequired Feature Flag: automation_organization_creator_access",
        "operationId": "UpdateApp",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "The app unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The app information.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAppRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated app when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the app information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, or update an app.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/apps/{appId}/versions": {
      "get": {
        "tags": [
          "App"
        ],
        "summary": "Get all versions from App",
        "description": "Description: Returns all versions of an App that is accessible to your organization.",
        "operationId": "GetAppVersions",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "The app unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns all versions of the app when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListAppVersionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "App"
        ],
        "summary": "Create App Version",
        "description": "Description: Creates a new App version. Can only be called from the organization the app belongs to.",
        "operationId": "CreateAppVersion",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "The app unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The app version information (new app version)",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAppVersionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the created app version when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the app version already exists."
          }
        }
      }
    },
    "/organizations/{organizationId}/apps/{appId}/versions/{appVersion}": {
      "get": {
        "tags": [
          "App"
        ],
        "summary": "Get App Version",
        "description": "Description: Returns the details of the app version that is accessible to your organization.",
        "operationId": "GetAppVersion",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "The app unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "The app version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested app version when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app or app version is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "App"
        ],
        "summary": "Update App Version",
        "description": "Description: Updates an App version. Can only be called from the organization the app belongs to.",
        "operationId": "UpdateAppVersion",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "The app unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "The app version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The app version updated information",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAppVersionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated app version when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app or app version is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "App"
        ],
        "summary": "Delete Draft App Version",
        "description": "Description: Deletes an app version. Can only be called from the organization the app belongs to, and for an unused app version that is in Draft state.\n\nRequired Role: Automation Developer \n\nRequired Feature Flag: automation_organization_creator_access",
        "operationId": "DeleteAppVersion",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "App Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "App version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Returns no content when the operation succeeds."
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, or delete an app draft.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app id or app version does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/config": {
      "get": {
        "tags": [
          "App"
        ],
        "summary": "Get App Version Config",
        "description": "Description: Returns the config of the app version from your organization.",
        "operationId": "GetAppVersionConfig",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "The app unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "The app version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested app version config when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppVersionConfigDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app or app version is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/status/{targetStatus}": {
      "post": {
        "tags": [
          "App"
        ],
        "summary": "Change App State",
        "description": "Description: An app status can go from Draft to Available or Archived, from Available to Deprecated (with an optional ArchivingDate in UTC format passed in the body), Deprecated to Deprecated (specifying ArchivingDate in the body) and from Deprecated to Archived. Can only be called from the organization the app belongs to.\n\nRequired Role: Automation Developer \n\nRequired Feature Flag: automation_organization_creator_access",
        "operationId": "UpdateLifecycleState",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "The app unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "The app version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          },
          {
            "name": "targetStatus",
            "in": "path",
            "description": "The Lifecycle status to set for the AppVersion",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/LifecycleStatus"
            }
          }
        ],
        "requestBody": {
          "description": "Payload request containing an optional ArchivingDate (UTC date, example: 2055-11-01T00:00:00Z) when Lifecycle status 'Deprecated' is specified.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLifecycleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated lifecycle status when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LifecycleDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or invalid lifecycle value or transition.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app or app version is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/publish": {
      "post": {
        "tags": [
          "App"
        ],
        "summary": "Make an App public",
        "description": "Description: Moves the app version visibility from private to public. Can only be called from the organization the app belongs to.\n\nRequired Role: Automation Developer \n\nRequired Feature Flag: automation_organization_creator_access",
        "operationId": "PublishAppVersion",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "The app unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "The app version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the updated app visibility when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppVisibilityDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app or app version is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/actions": {
      "post": {
        "tags": [
          "App"
        ],
        "summary": "Create new App Action",
        "description": "Description: Creates a new app action. Can only be called from the organization the app belongs to. App version needs to be in a draft status.\n\nRequired Role: Automation Developer \n\nRequired Feature Flag: automation_organization_creator_access",
        "operationId": "CreateAction",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "App Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "App version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Payload request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUpdateActionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the new action when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompleteActionDefinitionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the action information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, or create an action.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app id or app version does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the action name already exists for the specified app id and app version.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/actions/{actionId}": {
      "get": {
        "tags": [
          "App"
        ],
        "summary": "Get App Action",
        "description": "Description: Get the details on an app action. Can only be called from the organization the app belongs to.",
        "operationId": "GetAction",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "App Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "App version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          },
          {
            "name": "actionId",
            "in": "path",
            "description": "Action Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested action when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompleteActionDefinitionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, or read an action.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app id, app version or action id does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "App"
        ],
        "summary": "Update App Action",
        "description": "Description: Updates an app action. Can only be called from the organization the app belongs to. App version needs to be in a draft status.\n\nRequired Role: Automation Developer \n\nRequired Feature Flag: automation_organization_creator_access",
        "operationId": "UpdateAction",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "App Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "App version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          },
          {
            "name": "actionId",
            "in": "path",
            "description": "Action Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Payload request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateUpdateActionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated action when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CompleteActionDefinitionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the action information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, or update an action.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app id, app version or action id does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "App"
        ],
        "summary": "Delete App Action",
        "description": "Description: Deletes an app action. Can only be called from the organization the app belongs to. App version needs to be in a draft status.\n\nRequired Role: Automation Developer \n\nRequired Feature Flag: automation_organization_creator_access",
        "operationId": "DeleteAction",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "App Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "App version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          },
          {
            "name": "actionId",
            "in": "path",
            "description": "Action Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Returns no content when the operation succeeds."
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, or delete an action.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app id or app version or action id does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/events": {
      "post": {
        "tags": [
          "App"
        ],
        "summary": "Create new App Event",
        "description": "Description: Creates a new event. Can only be called from the organization the app belongs to. App version needs to be in a draft status.",
        "operationId": "CreateEvent",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "App Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "App version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Payload request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateEventRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the new event when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the event information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, or create an event.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app id or app version does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the event name already exists for the specified app id and app version."
          },
          "415": {
            "description": "Unsupported Media Type",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/apps/{appId}/versions/{appVersion}/events/{eventId}": {
      "get": {
        "tags": [
          "App"
        ],
        "summary": "Get App Event",
        "description": "Description: Get the details on an app event. Can only be called from the organization the app belongs to.",
        "operationId": "GetEvent",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "App Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "App version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          },
          {
            "name": "eventId",
            "in": "path",
            "description": "Event Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeFields",
            "in": "query",
            "description": "A comma-separated string of fields to include in the response. Supported value: \"app\".",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the event when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app id, app version or event id does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "App"
        ],
        "summary": "Update App Event",
        "description": "Description: Updates an event. Can only be called from the organization the app belongs to. App version needs to be in a draft status.",
        "operationId": "UpdateEvent",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "app Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "App version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          },
          {
            "name": "eventId",
            "in": "path",
            "description": "Event Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "Payload request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateEventRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated event when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EventDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the event information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, or update an event.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app id, app version or event id does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "App"
        ],
        "summary": "Delete App Event",
        "description": "Description: Deletes an event. Can only be called from the organization the app belongs to. App version needs to be in a draft status.",
        "operationId": "DeleteEvent",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "app Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appVersion",
            "in": "path",
            "description": "App version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          },
          {
            "name": "eventId",
            "in": "path",
            "description": "Event Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Returns No Content when the operation succeeds."
          },
          "400": {
            "description": "Returns when the event information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, or delete an event.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the app id, app version or event id does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/automations": {
      "get": {
        "tags": [
          "Automation"
        ],
        "summary": "List all Automations",
        "description": "Description: Returns all automations from this organization.",
        "operationId": "GetAutomations",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeFields",
            "in": "query",
            "description": "A comma-separated string of fields to include in the response. Supported value: \"bot\".",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListAutomationsDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Automation"
        ],
        "summary": "Create a new Automation",
        "description": "Description: Creates a new automation for this organization.",
        "operationId": "CreateAutomation",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The automation description to be created",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAutomationRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "415": {
            "description": "Unsupported Media Type",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/automations/{automationId}": {
      "get": {
        "tags": [
          "Automation"
        ],
        "summary": "Get Automation",
        "description": "Description: Returns a specific automation.",
        "operationId": "GetAutomation",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "automationId",
            "in": "path",
            "description": "The automation Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeFields",
            "in": "query",
            "description": "A comma-separated string of fields to include in the response. Supported value: \"bot\".",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "patch": {
        "tags": [
          "Automation"
        ],
        "summary": "Update Automation",
        "description": "Description: Updates an automation.",
        "operationId": "UpdateAutomation",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "automationId",
            "in": "path",
            "description": "The automation Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Automation description to be updated",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAutomationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "Automation"
        ],
        "summary": "Delete Automation",
        "description": "Description: Deletes an automation.",
        "operationId": "DeleteAutomation",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "automationId",
            "in": "path",
            "description": "The automation Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/automations/{automationId}/webhook": {
      "post": {
        "tags": [
          "Automation"
        ],
        "summary": "Trigger Webhook Event",
        "description": "Description: Trigger a webhook event.",
        "operationId": "TriggerWebhook",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "automationId",
            "in": "path",
            "description": "The automation Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Event body (payload)",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/automations": {
      "get": {
        "tags": [
          "Automation"
        ],
        "summary": "List all Project Automations",
        "description": "Description: Returns all automations from this project.",
        "operationId": "GetProjectAutomations",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeFields",
            "in": "query",
            "description": "A comma-separated string of fields to include in the response. Supported value: \"bot\".",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListAutomationsDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Automation"
        ],
        "summary": "Create a new Project Automation",
        "description": "Description: Creates a new automation for this project.",
        "operationId": "CreateProjectAutomation",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The automation description to be created",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateAutomationRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Created",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "415": {
            "description": "Unsupported Media Type",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/automations/{automationId}": {
      "get": {
        "tags": [
          "Automation"
        ],
        "summary": "Get Project Automation",
        "description": "Description: Returns a specific automation.",
        "operationId": "GetProjectAutomation",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "automationId",
            "in": "path",
            "description": "The automation Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "includeFields",
            "in": "query",
            "description": "A comma-separated string of fields to include in the response. Supported value: \"bot\".",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "patch": {
        "tags": [
          "Automation"
        ],
        "summary": "Update Project Automation",
        "description": "Description: Updates a project automation.",
        "operationId": "UpdateProjectAutomation",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "automationId",
            "in": "path",
            "description": "The automation Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Automation description to be updated",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateAutomationRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AutomationDto"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      },
      "delete": {
        "tags": [
          "Automation"
        ],
        "summary": "Delete Project Automation",
        "description": "Description: Deletes a project automation.",
        "operationId": "DeleteProjectAutomation",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "automationId",
            "in": "path",
            "description": "The automation Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "No Content"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/automations/{automationId}/webhook": {
      "post": {
        "tags": [
          "Automation"
        ],
        "summary": "Trigger Webhook Event",
        "description": "Description: Trigger a webhook event.",
        "operationId": "TriggerProjectWebhook",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "automationId",
            "in": "path",
            "description": "The automation Id",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "description": "Event body (payload)",
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": {}
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/bots": {
      "get": {
        "tags": [
          "Bot"
        ],
        "summary": "List all automation bots",
        "description": "Description: Returns all automation bots from this organization.",
        "operationId": "GetBots",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns all automation bots from this organization when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListBotsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Bot"
        ],
        "summary": "Create a new automation bot",
        "description": "Description: Creates a new automation bot for this organization.",
        "operationId": "CreateBot",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The automation bot create request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBotRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the Automation bot instance created when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BotDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the bot is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when there is a conflict.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Returns when there is an internal error."
          }
        }
      }
    },
    "/organizations/{organizationId}/bots/{botId}": {
      "get": {
        "tags": [
          "Bot"
        ],
        "summary": "Get an automation bot",
        "description": "Description: Returns a specific bot. Can only be called from the organization the bot belongs to.",
        "operationId": "GetBot",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "botId",
            "in": "path",
            "description": "The bot unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested bot when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BotDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the bot is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Bot"
        ],
        "summary": "Update an automation bot",
        "description": "Description: Updates an automation bot. Can only be called from the organization the bot belongs to.\n\nRequired Role: Automation Developer",
        "operationId": "UpdateBot",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "botId",
            "in": "path",
            "description": "The bot unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The update bot request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBotRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated bot when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BotDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the bot Id does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Bot"
        ],
        "summary": "Delete an automation bot",
        "description": "Description: Deletes an automation bot. Can only be called from the organization the bot belongs to and for an unused bot.\n\nRequired Role: Automation Developer",
        "operationId": "DeleteBot",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "botId",
            "in": "path",
            "description": "The bot unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Returns no content when the operation succeeds."
          },
          "400": {
            "description": "Returns when the action information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the bot Id does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/bots": {
      "get": {
        "tags": [
          "Bot"
        ],
        "summary": "List all project automation bots",
        "description": "Description: Returns all automation bots from this project.",
        "operationId": "GetProjectBots",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns all automation bots from this organization when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListBotsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or project.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Bot"
        ],
        "summary": "Create a new project automation bot",
        "description": "Description: Creates a new automation bot for this project.",
        "operationId": "CreateProjectBot",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The automation bot create request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBotRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the Automation bot instance created when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BotDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or project.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the bot is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when there is a conflict.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Returns when there is an internal error."
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/bots/{botId}": {
      "get": {
        "tags": [
          "Bot"
        ],
        "summary": "Get a project automation bot",
        "description": "Description: Returns a specific bot. Can only be called from the organization and project the bot belongs to.",
        "operationId": "GetProjectBot",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "botId",
            "in": "path",
            "description": "The bot unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested bot when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BotDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or project.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the bot is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Bot"
        ],
        "summary": "Update a project automation bot",
        "description": "Description: Updates a project automation bot. Can only be called from the organization and project the bot belongs to.\n\nRequired Role: Automation Developer",
        "operationId": "UpdateProjectBot",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "botId",
            "in": "path",
            "description": "The bot unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The update bot request",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateBotRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated bot when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BotDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or project.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the bot Id does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Bot"
        ],
        "summary": "Delete a project automation bot",
        "description": "Description: Deletes a project automation bot. Can only be called from the project the bot belongs to and for an unused bot.\n\nRequired Role: Automation Developer",
        "operationId": "DeleteProjectBot",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "botId",
            "in": "path",
            "description": "The bot unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Returns no content when the operation succeeds."
          },
          "400": {
            "description": "Returns when the action information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or project.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the bot Id does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/configurations/profiles": {
      "get": {
        "tags": [
          "Configuration"
        ],
        "summary": "Get all configuration profiles for organization",
        "description": "Description: Get the list of configuration profiles available to use.\n\nRequired Role: Automation Developer",
        "operationId": "GetProfiles",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "query",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns OK when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationsDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when there is a bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or configuration profiles.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when a resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/configurations/profiles/{profileId}": {
      "get": {
        "tags": [
          "Configuration"
        ],
        "summary": "Get configuration profile",
        "description": "Description: Get a specific configuration profile information.\n\nRequired Role: Automation Developer",
        "operationId": "GetProfileById",
        "parameters": [
          {
            "name": "profileId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "organizationId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns OK when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ConfigurationsDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when there is a bad request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or configuration profile.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when a resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/jobs": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "List all jobs",
        "description": "Description: List all jobs created in this organization.",
        "operationId": "GetJobs",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statuses",
            "in": "query",
            "description": "list of job status used to filter job list",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JobStatus"
              }
            }
          },
          {
            "name": "pipelineIds",
            "in": "query",
            "description": "list of pipeline ids used to filter job list",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "automationIds",
            "in": "query",
            "description": "list of automation ids used to filter job list",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "the field to use when sorting the results",
            "schema": {
              "$ref": "#/components/schemas/JobSortFieldName"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "the type of sorting used",
            "schema": {
              "$ref": "#/components/schemas/SortOrder"
            }
          },
          {
            "name": "inputs",
            "in": "query",
            "description": "the mapping of parameter names and values to filter",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "includeAllOrgProjectJobs",
            "in": "query",
            "description": "whether to include all jobs from all projects within the organization (owner only)",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the list of jobs when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListJobsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or the jobs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/jobs/{jobId}": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get job",
        "description": "Description: Gets a job from a job id.",
        "operationId": "GetJob",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The job id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the job with the specified id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or the job.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the job is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/jobs/{jobId}/stream": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get job stream with updates",
        "description": "Description: Gets a stream with job updates from a job id.",
        "operationId": "GetJobStream",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The job id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the stream with the job updates with the specified id.",
            "content": {
              "text/event-stream": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobDtoSseItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or the job.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the job is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/jobs/{jobId}/terminate": {
      "put": {
        "tags": [
          "Jobs"
        ],
        "summary": "Terminate job",
        "description": "Description: Terminate a job.",
        "operationId": "TerminateJob",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The job Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the terminated job status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminateJobResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or the job.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the job is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the job could not be terminated because of its current status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/jobs/{jobId}/stop": {
      "put": {
        "tags": [
          "Jobs"
        ],
        "summary": "Stop job",
        "description": "Description: Stop a job.",
        "operationId": "StopJob",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The job Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the stopped job status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StopJobResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or the job.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the job is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the job could not be stopped because of its current status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/jobs/{jobId}/steps/{stepId}/resume": {
      "put": {
        "tags": [
          "Jobs"
        ],
        "summary": "Resume a job",
        "description": "Description: Resumes a job. A Job can be intentionally suspended to wait for a manual resume action.",
        "operationId": "ResumeJobStep",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The job Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stepId",
            "in": "path",
            "description": "The job step Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for resuming the job step",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResumeJobStepRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the resumed job status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResumeJobResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or the job.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the job is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the job could not be resumed because of its current status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/jobs/{jobId}/steps/{stepId}/approve": {
      "put": {
        "tags": [
          "Jobs"
        ],
        "summary": "Approve a job",
        "description": "Description: Approves a job. A Job can be intentionally suspended to wait for a manual approval action.",
        "operationId": "ApproveJobStep",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The job Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stepId",
            "in": "path",
            "description": "The job step Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for approving the job step",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveJobStepRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the approved job status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApproveJobResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or the job.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the job is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the job could not be approved because of its current status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/jobs": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "List all project jobs",
        "description": "Description: List all jobs created in this project.",
        "operationId": "GetProjectJobs",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The Project ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "statuses",
            "in": "query",
            "description": "list of job status used to filter job list",
            "schema": {
              "type": "array",
              "items": {
                "$ref": "#/components/schemas/JobStatus"
              }
            }
          },
          {
            "name": "pipelineIds",
            "in": "query",
            "description": "list of pipeline ids used to filter job list",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "automationIds",
            "in": "query",
            "description": "list of automation ids used to filter job list",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "orderBy",
            "in": "query",
            "description": "the field to use when sorting the results",
            "schema": {
              "$ref": "#/components/schemas/JobSortFieldName"
            }
          },
          {
            "name": "order",
            "in": "query",
            "description": "the type of sorting used",
            "schema": {
              "$ref": "#/components/schemas/SortOrder"
            }
          },
          {
            "name": "inputs",
            "in": "query",
            "description": "the mapping of parameter names and values to filter",
            "style": "deepObject",
            "schema": {
              "type": "object",
              "additionalProperties": {
                "type": "string"
              }
            }
          },
          {
            "name": "includeAllOrgProjectJobs",
            "in": "query",
            "description": "whether to include all jobs from all projects within the organization (owner only)",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the list of jobs when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListJobsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the project or the jobs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get project job",
        "description": "Description: Gets a project job from a job id.",
        "operationId": "GetProjectJob",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The Project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The job id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the job with the specified id.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the project or the job.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the job is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/stream": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get project job stream with updates",
        "description": "Description: Gets a stream with project job updates from a job id.",
        "operationId": "GetProjectJobStream",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The Project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The job id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the stream with the job updates with the specified id.",
            "content": {
              "text/event-stream": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobDtoSseItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the project or the job.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the job is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/terminate": {
      "put": {
        "tags": [
          "Jobs"
        ],
        "summary": "Terminate project job",
        "description": "Description: Terminate a project job.",
        "operationId": "TerminateProjectJob",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The Project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The job Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the terminated job status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminateJobResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the project or the job.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the job is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the job could not be terminated because of its current status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/stop": {
      "put": {
        "tags": [
          "Jobs"
        ],
        "summary": "Stop project job",
        "description": "Description: Stop a project job.",
        "operationId": "StopProjectJob",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The Project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The job Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the stopped job status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StopJobResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the project or the job.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the job is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the job could not be stopped because of its current status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/steps/{stepId}/resume": {
      "put": {
        "tags": [
          "Jobs"
        ],
        "summary": "Resume a project job",
        "description": "Description: Resumes a project job. A Job can be intentionally suspended to wait for a manual resume action.",
        "operationId": "ResumeProjectJobStep",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The job Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stepId",
            "in": "path",
            "description": "The job step Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for resuming the job step",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResumeJobStepRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the resumed job status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ResumeJobResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, project or the job.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the job is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the job could not be resumed because of its current status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/steps/{stepId}/approve": {
      "put": {
        "tags": [
          "Jobs"
        ],
        "summary": "Approve a project job",
        "description": "Description: Approves a project job. A Job can be intentionally suspended to wait for a manual resume action.",
        "operationId": "ApproveProjectJobStep",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The job Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stepId",
            "in": "path",
            "description": "The job step Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request body for resuming the job step",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApproveJobStepRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the approved job status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApproveJobResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "401": {
            "description": "Unauthorized",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, project or the job.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the job is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the job could not be approved because of its current status.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/job-stats": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get organization job stats (includes organization project jobs)",
        "description": "Description: List job stats from this organization and its projects.",
        "operationId": "GetJobStats",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "queueName",
            "in": "query",
            "description": "Optional queue name to filter the job stats by.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the job stats when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GetJobStatsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or the jobs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/jobs/{jobId}/steps/{stepId}/logs": {
      "get": {
        "tags": [
          "Logs"
        ],
        "summary": "Get logs for a pipeline job step",
        "description": "Description: Get logs for single step in a job.\n\nRequired Role: Automation Developer",
        "operationId": "GetStepLogsStream",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "Pipeline job ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stepId",
            "in": "path",
            "description": "Pipeline job step ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startLine",
            "in": "query",
            "description": "Optional line number to start streaming logs from.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "jobPipelineUid",
            "in": "query",
            "description": "Optional invocation disambiguator for a stepId that appears in more than one pipeline-reference invocation. Required (409 otherwise) when the stepId matches multiple job steps.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the logs for the job when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returns when the jobId has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to the access the organization, the job or the job logs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns if the jobId or stepId does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the stepId matches multiple job steps and no jobPipelineUid was passed to disambiguate.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/jobs/{jobId}/steps/{stepId}/logs/sse": {
      "get": {
        "tags": [
          "Logs"
        ],
        "summary": "Get logs for a pipeline job step",
        "description": "Description: Get logs for single step in a job.\n\nRequired Role: Automation Developer",
        "operationId": "GetStepLogsStreamSse",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "Pipeline job ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stepId",
            "in": "path",
            "description": "Pipeline job step ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startLine",
            "in": "query",
            "description": "Optional line number to start streaming logs from.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "jobPipelineUid",
            "in": "query",
            "description": "Optional invocation disambiguator for a stepId that appears in more than one pipeline-reference invocation. Required (409 otherwise) when the stepId matches multiple job steps.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the logs for the job when the operation succeeds.",
            "content": {
              "text/event-stream": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StringSseItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returns when the jobId has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to the access the organization, the job or the job logs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns if the jobId or stepId does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the stepId matches multiple job steps and no jobPipelineUid was passed to disambiguate.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/jobs/{jobId}/logs": {
      "get": {
        "tags": [
          "Logs"
        ],
        "summary": "Get logs for a steps in a job",
        "description": "Description: Get logs for a job.\n\nRequired Role: Automation Developer",
        "operationId": "GetJobLogsStream",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "Pipeline job ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startLine",
            "in": "query",
            "description": "Optional line number to start streaming logs from.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the logs for the job when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogsDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the jobId has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to the access the organization, the job or the job logs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns if the jobId or stepId does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/steps/{stepId}/logs": {
      "get": {
        "tags": [
          "Logs"
        ],
        "summary": "Get logs for a project pipeline job step",
        "description": "Description: Get logs for single step in a project job.\n\nRequired Role: Automation Developer",
        "operationId": "GetProjectStepLogsStream",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The Project ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "Pipeline job ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stepId",
            "in": "path",
            "description": "Pipeline job step ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startLine",
            "in": "query",
            "description": "Optional line number to start streaming logs from.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "jobPipelineUid",
            "in": "query",
            "description": "Optional invocation disambiguator for a stepId that appears in more than one pipeline-reference invocation. Required (409 otherwise) when the stepId matches multiple job steps.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the logs for the job when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returns when the jobId has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to the access the organization, the job or the job logs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns if the jobId or stepId does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the stepId matches multiple job steps and no jobPipelineUid was passed to disambiguate.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/steps/{stepId}/logs/sse": {
      "get": {
        "tags": [
          "Logs"
        ],
        "summary": "Get logs for a project pipeline job step",
        "description": "Description: Get logs for single step in a project job.\n\nRequired Role: Automation Developer",
        "operationId": "GetProjectStepLogsStreamSse",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The Project ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "Pipeline job ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "stepId",
            "in": "path",
            "description": "Pipeline job step ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startLine",
            "in": "query",
            "description": "Optional line number to start streaming logs from.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "jobPipelineUid",
            "in": "query",
            "description": "Optional invocation disambiguator for a stepId that appears in more than one pipeline-reference invocation. Required (409 otherwise) when the stepId matches multiple job steps.",
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the logs for the job when the operation succeeds.",
            "content": {
              "text/event-stream": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StringSseItem"
                  }
                }
              }
            }
          },
          "400": {
            "description": "Returns when the jobId has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to the access the organization, the job or the job logs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns if the jobId or stepId does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the stepId matches multiple job steps and no jobPipelineUid was passed to disambiguate.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/jobs/{jobId}/logs": {
      "get": {
        "tags": [
          "Logs"
        ],
        "summary": "Get logs for a project job",
        "description": "Description: Get logs for a project job.\n\nRequired Role: Automation Developer",
        "operationId": "GetProjectJobLogsStream",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The Project ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "Pipeline job ID",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "startLine",
            "in": "query",
            "description": "Optional line number to start streaming logs from.",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the logs for the job when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogsDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the jobId has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to the access the organization, the job or the job logs.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns if the jobId or stepId does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error"
          }
        }
      }
    },
    "/organizations/{organizationId}/pipelines": {
      "get": {
        "tags": [
          "Pipeline"
        ],
        "summary": "List Pipelines",
        "description": "Description: Get all pipelines accessible by an organization, the latest version of the pipelines will be returned. Includes pipelines created by the organization and public pipelines.",
        "operationId": "GetPipelines",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "owned",
            "in": "query",
            "description": "bool representing if we list element owned by the org",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the pipelines when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPipelinesResponse"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ListPipelinesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the pipeline information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or get pipelines.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Returns if an unexpected error occurs during processing."
          }
        }
      },
      "post": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Create a new Pipeline",
        "description": "Description: Creates a new pipeline and returns its first version for editing.\n\nRequired Role: Automation Developer",
        "operationId": "CreatePipeline",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The pipeline information.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePipelineRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/CreatePipelineRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the pipeline version for the created pipeline when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the pipeline information has a wrong format, or when the optional id is not a valid GUID.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or create a pipeline.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when a resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the optional pipeline id is already in use.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Returns if an unexpected error occurs during processing."
          }
        }
      }
    },
    "/organizations/{organizationId}/pipelines/{pipelineId}": {
      "patch": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Update Pipeline",
        "description": "Description: Updates the basic pipeline information. Independent of status or visibility. Can only be called from the organization the pipeline belongs to.\n\nRequired Role: Automation Developer",
        "operationId": "UpdatePipeline",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The pipeline updated information",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePipelineRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePipelineRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated pipeline when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the pipeline information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the pipeline.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns if the pipeline is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/pipelines/{pipelineId}/versions": {
      "get": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Get all Pipeline Versions",
        "description": "Description: Returns all versions of a pipeline. When the caller is not the pipeline's organization, only Public versions are returned.",
        "operationId": "GetPipelineVersions",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns all versions of the pipeline when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPipelineVersionsResponse"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ListPipelineVersionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Create new Pipeline Version",
        "description": "Description: Creates a new pipeline version. Can only be called from the organization the pipeline belongs to.",
        "operationId": "CreatePipelineVersion",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request with the inputs to create the pipeline.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePipelineVersionRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/CreatePipelineVersionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the created pipeline version.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the version created already exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/pipelines/{pipelineId}/versions/{pipelineVersion}": {
      "get": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Get Pipeline Version",
        "description": "Description: Get a specific pipeline version. Callable from the pipeline's organization for any version; callable from any organization for Public or Unlisted versions.",
        "operationId": "GetPipelineVersion",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineVersion",
            "in": "path",
            "description": "The pipeline version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          },
          {
            "name": "includeApps",
            "in": "query",
            "description": "The app Ids used on this pipeline",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested pipeline version when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Update Pipeline Version",
        "description": "Description: Updates a pipeline version. Can only be called from the organization the pipeline belongs to. Can only be called if the pipeline version is in a draft status. Only some of the fields can be updated.\n\nRequired Role: Automation Developer",
        "operationId": "UpdatePipelineVersion",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineVersion",
            "in": "path",
            "description": "The pipeline version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The pipeline version updated information",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePipelineVersionRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePipelineVersionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated pipeline version when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the pipeline version.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns if the pipeline or pipeline version is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Delete Draft Pipeline Version",
        "description": "Description: Deletes a pipeline version. Can only be called from the organization the pipeline belongs to, and for an unused pipeline versions that is in Draft state.\n\nRequired Role: Automation Developer",
        "operationId": "DeletePipelineVersion",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "Pipeline Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineVersion",
            "in": "path",
            "description": "Pipeline Version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Returns no content when the operation succeeds."
          },
          "400": {
            "description": "Returns when the action information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline version does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/pipelines/{pipelineId}/versions/{pipelineVersion}/trigger": {
      "post": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Trigger a Pipeline",
        "description": "Description: Trigger a pipeline, returning a job. The pipeline needs to be accessible to the organization triggering it.",
        "operationId": "TriggerPipeline",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineVersion",
            "in": "path",
            "description": "The pipeline version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request with the inputs to trigger the pipeline.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TriggerPipelineRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/TriggerPipelineRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the job created when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/JobDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or trigger a pipeline.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when a resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Returns if an unexpected error occurs during processing."
          }
        }
      }
    },
    "/organizations/{organizationId}/pipelines/{pipelineId}/versions/{pipelineVersion}/publish/{targetVisibility}": {
      "post": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Make Pipeline Version Public",
        "description": "Description: Moves the pipeline version visibility from private to public. Can only be called from the organization the pipeline belongs to.\n\nRequired Role: Automation Developer",
        "operationId": "UpdatePipelineVersionVisibility",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineVersion",
            "in": "path",
            "description": "The pipeline version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          },
          {
            "name": "targetVisibility",
            "in": "path",
            "description": "The pipeline version target visibility status",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/PipelineVisibilityLevel"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested pipeline version when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/pipelines/{pipelineId}/versions/{pipelineVersion}/status/{targetStatus}": {
      "post": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Change Pipeline Status",
        "description": "Description: \"A pipeline status can go from Draft to Available or Archived, from Available to Deprecated (with an optional ArchivingDate in UTC format passed in the body), Deprecated to Deprecated (specifying ArchivingDate in the body) and from Deprecated to Archived. Can only be called from the organization the pipeline belongs to.\" \n\nRequired Role: Automation Developer",
        "operationId": "UpdatePipelineVersionLifecycle",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineVersion",
            "in": "path",
            "description": "The pipeline version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          },
          {
            "name": "targetStatus",
            "in": "path",
            "description": "The pipeline version target lifecycle status",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/LifecycleStatus"
            }
          }
        ],
        "requestBody": {
          "description": "Payload request containing an optional ArchivingDate (UTC date, example: 2055-11-01T00:00:00Z) when Lifecycle status 'Deprecated' is specified.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLifecycleRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLifecycleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the requested pipeline version when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/pipelines": {
      "get": {
        "tags": [
          "Pipeline"
        ],
        "summary": "List Project Pipelines",
        "description": "Description: Get all project pipelines accessible by an organization and project, the latest version of the pipelines will be returned. Includes pipelines created by the organization and public pipelines.",
        "operationId": "GetProjectPipelines",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "owned",
            "in": "query",
            "description": "bool representing if we list element owned by the org",
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the pipelines when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPipelinesResponse"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ListPipelinesResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the pipeline information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, project or get pipelines.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Returns if an unexpected error occurs during processing."
          }
        }
      },
      "post": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Create a new Project Pipeline",
        "description": "Description: Creates a new project pipeline and returns its first version for editing.\n\nRequired Role: Automation Developer",
        "operationId": "CreateProjectPipeline",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The pipeline information.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePipelineRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/CreatePipelineRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the pipeline version for the created pipeline when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the pipeline information has a wrong format, or when the optional id is not a valid GUID.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, project or create a pipeline.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when a resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the optional pipeline id is already in use.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Returns if an unexpected error occurs during processing."
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/pipelines/{pipelineId}/versions": {
      "get": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Get all Project Pipeline Versions",
        "description": "Description: Returns all versions of a project pipeline. When the caller is not the pipeline's organization, only Public versions are returned.",
        "operationId": "GetProjectPipelineVersions",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns all versions of the pipeline when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPipelineVersionsResponse"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ListPipelineVersionsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or project.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Create new Project Pipeline Version",
        "description": "Description: Creates a new project pipeline version. Can only be called from the organization and project the pipeline belongs to.",
        "operationId": "CreateProjectPipelineVersion",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request with the inputs to create the pipeline.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePipelineVersionRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/CreatePipelineVersionRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the created pipeline version.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or project.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Returns when the version created already exists.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/pipelines/{pipelineId}/versions/{pipelineVersion}": {
      "get": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Get Project Pipeline Version",
        "description": "Description: Get a specific project pipeline version. Callable from the pipeline's organization and project for any version; callable from any organization for Public or Unlisted versions.",
        "operationId": "GetProjectPipelineVersion",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineVersion",
            "in": "path",
            "description": "The pipeline version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          },
          {
            "name": "includeApps",
            "in": "query",
            "description": "The app Ids used on this pipeline",
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested pipeline version when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or project.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Update Project Pipeline Version",
        "description": "Description: Updates a project pipeline version. Can only be called from the organization and project the pipeline belongs to. Can only be called if the pipeline version is in a draft status. Only some of the fields can be updated.\n\nRequired Role: Automation Developer",
        "operationId": "UpdateProjectPipelineVersion",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineVersion",
            "in": "path",
            "description": "The pipeline version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The pipeline version updated information",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePipelineVersionRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePipelineVersionRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated pipeline version when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the pipeline version.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns if the pipeline or pipeline version is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Delete Draft Project Pipeline Version",
        "description": "Description: Deletes a project pipeline version. Can only be called from the organization and project the pipeline belongs to, and for an unused pipeline versions that is in Draft state.\n\nRequired Role: Automation Developer",
        "operationId": "DeleteProjectPipelineVersion",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "Project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "Pipeline Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineVersion",
            "in": "path",
            "description": "Pipeline Version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Returns no content when the operation succeeds."
          },
          "400": {
            "description": "Returns when the action information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or project.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline version does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/pipelines/{pipelineId}/versions/{pipelineVersion}/trigger": {
      "post": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Trigger a Project Pipeline",
        "description": "Description: Trigger a project pipeline, returning a job. The pipeline needs to be accessible to the organization triggering it.",
        "operationId": "TriggerProjectPipeline",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineVersion",
            "in": "path",
            "description": "The pipeline version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request with the inputs to trigger the pipeline.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TriggerPipelineRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/TriggerPipelineRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the job created when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/JobDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, project or trigger a pipeline.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when a resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Returns if an unexpected error occurs during processing."
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/pipelines/{pipelineId}/versions/{pipelineVersion}/status/{targetStatus}": {
      "post": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Change Project Pipeline Status",
        "description": "Description: \"A project pipeline status can go from Draft to Available or Archived, from Available to Deprecated (with an optional ArchivingDate in UTC format passed in the body), Deprecated to Deprecated (specifying ArchivingDate in the body) and from Deprecated to Archived. Can only be called from the organization and project the pipeline belongs to.\" \n\nRequired Role: Automation Developer",
        "operationId": "UpdateProjectPipelineVersionLifecycle",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineVersion",
            "in": "path",
            "description": "The pipeline version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "required": true,
            "schema": {
              "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
              "type": "string"
            }
          },
          {
            "name": "targetStatus",
            "in": "path",
            "description": "The pipeline version target lifecycle status",
            "required": true,
            "schema": {
              "$ref": "#/components/schemas/LifecycleStatus"
            }
          }
        ],
        "requestBody": {
          "description": "Payload request containing an optional ArchivingDate (UTC date, example: 2055-11-01T00:00:00Z) when Lifecycle status 'Deprecated' is specified.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLifecycleRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/UpdateLifecycleRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the requested pipeline version when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineVersionDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or project.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/pipelines/trigger": {
      "post": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Trigger a pipeline Configuration",
        "description": "Description: Trigger a pipeline Configuration, returning a job. The pipeline needs to be accessible to the organization triggering it.",
        "operationId": "TriggerTransientPipeline",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request with the inputs to trigger the pipeline.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransientPipelineRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/TransientPipelineRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the job created when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/JobDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or trigger a pipeline.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when a resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Returns if an unexpected error occurs during processing."
          }
        }
      }
    },
    "/organizations/{organizationId}/pipelines/validate": {
      "post": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Validate a pipeline Configuration.",
        "description": "Description: Validate a pipeline Configuration. The pipeline needs to be accessible to the organization.",
        "operationId": "ValidateTransientPipeline",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request with the inputs to trigger the pipeline.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransientPipelineRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/TransientPipelineRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Returns succeeds."
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or trigger a pipeline.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when a resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Returns if an unexpected error occurs during processing."
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/pipelines/trigger": {
      "post": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Trigger a project pipeline Configuration",
        "description": "Description: Trigger a project pipeline Configuration, returning a job. The pipeline needs to be accessible to the organization triggering it.",
        "operationId": "TriggerTransientProjectPipeline",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request with the inputs to trigger the pipeline.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransientPipelineRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/TransientPipelineRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the job created when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/JobDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, project or trigger a pipeline.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when a resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Returns if an unexpected error occurs during processing."
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/pipelines/validate": {
      "post": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Validate a pipeline Configuration by project",
        "description": "Description: Validate a pipeline Configuration by project. The pipeline needs to be accessible to the organization.",
        "operationId": "ValidateTransientProjectPipeline",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The request with the inputs to trigger the pipeline.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TransientPipelineRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/TransientPipelineRequest"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "Returns success when validation succeeds."
          },
          "400": {
            "description": "Returns when the request has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization, project or trigger a pipeline.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when a resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Returns if an unexpected error occurs during processing."
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/pipelines/{pipelineId}": {
      "patch": {
        "tags": [
          "Pipeline"
        ],
        "summary": "Update Project Pipeline",
        "description": "Description: Updates the basic pipeline information. Independent of status or visibility. Can only be called from the organization and project the pipeline belongs to.\n\nRequired Role: Automation Developer",
        "operationId": "UpdateProjectPipeline",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "The project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineId",
            "in": "path",
            "description": "The pipeline unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The pipeline updated information",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePipelineRequest"
              }
            },
            "application/x-yaml": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePipelineRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated pipeline when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineDto"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the pipeline information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the pipeline.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns if the pipeline is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              },
              "application/x-yaml": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/apps/{appId}/pipeline-templates": {
      "get": {
        "tags": [
          "PipelineTemplate"
        ],
        "summary": "Get all Pipeline templates associated to a specific app Id.",
        "description": "Description: Get all specific pipeline templates associated to a specific app Id.\n   \nRequired Role: automation.pipeline_templates.read",
        "operationId": "GetPipelineTemplates",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "The app Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested pipeline when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPipelineTemplatesResponse"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "PipelineTemplate"
        ],
        "summary": "Creates a new template for this organization",
        "description": "Description: Creates a new pipeline template.\n\nRequired Role: automation.apps_pipeline_templates.create",
        "operationId": "CreatePipelineTemplate",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "The app Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The pipeline template information.",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreatePipelineTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "201": {
            "description": "Returns the pipeline template for the created pipeline when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineTemplateDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the pipeline information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization or create a pipeline template.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when a resource is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "500": {
            "description": "Returns if an unexpected error occurs during processing."
          }
        }
      }
    },
    "/organizations/{organizationId}/apps/{appId}/pipeline-templates/{pipelineTemplateId}": {
      "get": {
        "tags": [
          "PipelineTemplate"
        ],
        "summary": "Get a specific Pipeline template with a specific appId.",
        "description": "Description: Get a specific pipeline template with an appId and a template Id.\n   \nRequired Role: automation.pipeline_templates.read",
        "operationId": "GetPipelineTemplateWithAppId",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "The app Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineTemplateId",
            "in": "path",
            "description": "The pipeline template unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested pipeline template when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineTemplateDto"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline template is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "PipelineTemplate"
        ],
        "summary": "Update Pipeline template",
        "description": "Description: Updates a pipeline template information. Can only be called from the organization and an app Id the pipeline template belongs to.\n\nRequired Role: automation.apps_pipeline_templates.update",
        "operationId": "UpdatePipelineTemplate",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "app id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineTemplateId",
            "in": "path",
            "description": "Pipeline template Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "The pipeline template updated information",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdatePipelineTemplateRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Returns the updated pipeline template when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineTemplateDto"
                }
              }
            }
          },
          "400": {
            "description": "Returns when the pipeline template information has a wrong format.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the pipeline template.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns if the pipeline template is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "PipelineTemplate"
        ],
        "summary": "Delete Pipeline Template",
        "description": "Description: Deletes a pipeline template. Can only be called from the organization and an app Id the pipeline template belongs to.\n\nRequired Role: automation.apps_pipeline_templates.delete",
        "operationId": "DeletePipelineTemplate",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appId",
            "in": "path",
            "description": "app id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineTemplateId",
            "in": "path",
            "description": "Pipeline template Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "Returns no content when the operation succeeds."
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline template does not exist.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/pipeline-templates": {
      "get": {
        "tags": [
          "PipelineTemplate"
        ],
        "summary": "Get all Pipeline templates and filter out by parameters.",
        "description": "Description: Get all pipeline templates filter out by parameters.\n   \nRequired Role: automation.pipeline_templates.search",
        "operationId": "SearchPipelineTemplates",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "appIds",
            "in": "query",
            "description": "list of app ids used to filter pipeline templates list",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "tags",
            "in": "query",
            "description": "list of tags used to filter pipeline templates list",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "metadata",
            "in": "query",
            "description": "list metadatas used to filter pipeline templates list",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "systemMetadata",
            "in": "query",
            "description": "list flags used to filter pipeline templates list",
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "usedWith",
            "in": "query",
            "description": "list apps associated to this pipeline templates",
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "format": "uuid"
              }
            }
          },
          {
            "name": "offset",
            "in": "query",
            "description": "int representing number of items to skip",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "int representing max returned items",
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested pipeline when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListPipelineTemplatesResponse"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/pipeline-templates/{pipelineTemplateId}": {
      "get": {
        "tags": [
          "PipelineTemplate"
        ],
        "summary": "Get a specific Pipeline template.",
        "description": "Description: Get a specific pipeline template with a template Id.\n   \nRequired Role: automation.pipeline_templates.read",
        "operationId": "GetPipelineTemplate",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "The active organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "pipelineTemplateId",
            "in": "path",
            "description": "The pipeline template unique identifier",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Returns the requested pipeline template when the operation succeeds.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PipelineTemplateDto"
                }
              }
            }
          },
          "403": {
            "description": "Returns when the user does not have permission to access the organization.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Returns when the pipeline template is not found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/projectservice/send-command": {
      "post": {
        "tags": [
          "ProjectServicePipeline"
        ],
        "summary": "Send commands to a running Project Service instance",
        "description": "Description: Sends one or more commands to the ps-core instance in the specified namespace.\n\nTemporary — will be removed once the real Pipeline Broker service is available.",
        "operationId": "SendCommandToProjectService",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "Organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "Project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SendCommandToProjectServiceRequest"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SendCommandToProjectServiceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/worker/start": {
      "post": {
        "tags": [
          "ProjectServicePipeline"
        ],
        "summary": "Create a worker",
        "description": "Description: Create a worker.\n\nRequired Role: Automation Admin Access \n\nAnswers 202: acceptance means the worker's job was created and queued, not that the worker is serving —\ncallers discover that from the worker itself.",
        "operationId": "CreateWorker",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "Project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "description": "payload",
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WorkerCreateRequest"
              }
            }
          }
        },
        "responses": {
          "202": {
            "description": "Accepted"
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/projectservice/{namespaceName}/stop": {
      "put": {
        "tags": [
          "ProjectServicePipeline"
        ],
        "summary": "Stop a project service",
        "description": "Description: Stop a Project Service instance, addressed by its namespace rather than by a job id —\nprojectservice/start returns no job id, and at most one instance is live per namespace.\n\nCascades to the workers linked to the instance before stopping it; an instance that already reached a\nterminal state reports that state.\n\nRequired Role: Automation Admin Access",
        "operationId": "StopProjectService",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "Project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "namespaceName",
            "in": "path",
            "description": "The project service namespace (same value supplied to projectservice/start)",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StopProjectServiceResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "409": {
            "description": "Conflict",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    },
    "/organizations/{organizationId}/projects/{projectId}/worker/{jobId}/stop": {
      "put": {
        "tags": [
          "ProjectServicePipeline"
        ],
        "summary": "Stop a worker",
        "description": "Description: Stop a worker, addressed by the job id returned by worker/start.\n\nTerminates the worker's job; a worker that already reached a terminal state reports that state.\n\nRequired Role: Automation Admin Access",
        "operationId": "StopWorker",
        "parameters": [
          {
            "name": "organizationId",
            "in": "path",
            "description": "organization Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "projectId",
            "in": "path",
            "description": "Project Id",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "jobId",
            "in": "path",
            "description": "The job id returned when the worker was created",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TerminateJobResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ProblemDetails"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ActionDefinitionDto": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "outputMapping": {
            "$ref": "#/components/schemas/ActionOutputMappingDto"
          },
          "environmentMapping": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EnvironmentValueDto"
            },
            "description": "The environment mapping for the action.",
            "nullable": true
          },
          "internalStorages": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/InternalDiskStorageDto"
                },
                {
                  "$ref": "#/components/schemas/InternalMemoryStorageDto"
                }
              ],
              "description": "The Internal Storage Dto"
            },
            "description": "The internal storages for the action.",
            "nullable": true
          },
          "semaphores": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The semaphores for the action.",
            "nullable": true
          },
          "impersonationContext": {
            "$ref": "#/components/schemas/ImpersonationContextDto"
          }
        },
        "additionalProperties": false,
        "description": "The Action Definition Dto",
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "docker": "#/components/schemas/DockerActionDefinitionDto",
            "templateref": "#/components/schemas/TemplateRefActionDefinitionDto",
            "httprequest": "#/components/schemas/HttpRequestActionDefinitionDto"
          }
        }
      },
      "ActionDto": {
        "required": [
          "description",
          "name"
        ],
        "type": "object",
        "properties": {
          "actionId": {
            "type": "string",
            "description": "Generated unique key from app + version + action name."
          },
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "pattern": "^[a-zA-Z0-9\\- ]+$",
            "type": "string",
            "description": "The name of the action."
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The description of the action."
          },
          "terminationGracePeriodSeconds": {
            "type": "integer",
            "description": "The grace period to wait before killing the process.",
            "format": "int32",
            "nullable": true
          },
          "inputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputParameterDto"
            },
            "description": "The input parameters of the action.",
            "nullable": true
          },
          "outputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutputParameterDto"
            },
            "description": "The output parameters of the action.",
            "nullable": true
          },
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecretDto"
            },
            "description": "Array of secrets",
            "nullable": true
          },
          "requirements": {
            "$ref": "#/components/schemas/ActionRequirementsDto"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "The metadata of the action.",
            "nullable": true
          },
          "timeout": {
            "$ref": "#/components/schemas/TimeoutDataDto"
          },
          "storages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActionStorageDto"
            },
            "description": "The storages that can be passed to the action.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The Action Dto"
      },
      "ActionInputDto": {
        "required": [
          "description",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "pattern": "^[a-zA-Z0-9\\- ]+$",
            "type": "string",
            "description": "The name of the action."
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The description of the action."
          },
          "terminationGracePeriodSeconds": {
            "type": "integer",
            "description": "The grace period to wait before killing the process, after the termination request is sent.",
            "format": "int32",
            "nullable": true
          },
          "inputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputParameterDto"
            },
            "description": "The input parameters of the action.",
            "nullable": true
          },
          "outputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutputParameterDto"
            },
            "description": "The output parameters of the action.",
            "nullable": true
          },
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecretDto"
            },
            "description": "Array of secrets",
            "nullable": true
          },
          "requirements": {
            "$ref": "#/components/schemas/ActionRequirementsDto"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "The metadata of the action.",
            "nullable": true
          },
          "timeout": {
            "$ref": "#/components/schemas/TimeoutDataDto"
          },
          "storages": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActionStorageDto"
            },
            "description": "The storages that can be passed to the action.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The Action Input Dto"
      },
      "ActionOutputDto": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "name": {
            "type": "string",
            "description": "The name of the action output."
          }
        },
        "additionalProperties": false,
        "description": "The Action Output Dto",
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "file": "#/components/schemas/FileActionOutputDto",
            "expression": "#/components/schemas/ExpressionActionOutputDto"
          }
        }
      },
      "ActionOutputMappingDto": {
        "type": "object",
        "properties": {
          "actionOutputs": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/FileActionOutputDto"
                },
                {
                  "$ref": "#/components/schemas/ExpressionActionOutputDto"
                }
              ],
              "description": "The Action Output Dto"
            },
            "description": "The action outputs mapping."
          }
        },
        "additionalProperties": false,
        "description": "The Action Output Mapping Dto"
      },
      "ActionReferenceDto": {
        "required": [
          "actionId"
        ],
        "type": "object",
        "properties": {
          "actionId": {
            "minLength": 1,
            "pattern": "^(?<actionId>[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})-(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)-(?<actionName>.+)$",
            "type": "string",
            "description": "Generated unique key from app + version + action name."
          },
          "inputParameters": {
            "type": "object",
            "additionalProperties": {},
            "description": "The input parameters of the action.",
            "nullable": true
          },
          "configurationId": {
            "type": "string",
            "description": "The configuration to use to run the action.",
            "format": "uuid",
            "nullable": true
          },
          "secrets": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "List of the secrets values injected on the action.",
            "nullable": true
          },
          "storages": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "The action storages mapping.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The Action"
      },
      "ActionRequirementsDto": {
        "type": "object",
        "properties": {
          "configurationIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "configuration ids",
            "nullable": true
          },
          "entitlements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntitlementDto"
            },
            "description": "Array of entitlements",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the requirements needed to create a new action."
      },
      "ActionStorageDto": {
        "required": [
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 54,
            "minLength": 1,
            "pattern": "^[a-z0-9]([-a-z0-9]{0,52}[a-z0-9])?$",
            "type": "string",
            "description": "The name of the action storage."
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The description of the action storage.",
            "nullable": true
          },
          "required": {
            "type": "boolean",
            "description": "Indicates if the storage is required or optional."
          }
        },
        "additionalProperties": false,
        "description": "The Action Storage Dto"
      },
      "AffinityConfig": {
        "type": "object",
        "properties": {
          "nodeAffinity": {
            "$ref": "#/components/schemas/NodeAffinityConfig"
          }
        },
        "additionalProperties": false,
        "description": "Represents Kubernetes pod scheduling affinity to apply to a workflow template.\nOnly node affinity is currently supported."
      },
      "AppDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The app unique identifier (GUID).",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "The app name."
          },
          "description": {
            "type": "string",
            "description": "The app description."
          },
          "logo": {
            "type": "string",
            "description": "The app logo in base64",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "A url giving information on the app.",
            "format": "uri",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The app tags.",
            "nullable": true
          },
          "systemMetadata": {
            "$ref": "#/components/schemas/AppSystemMetadataDto"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "The app metadata.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the app information."
      },
      "AppSystemMetadataDto": {
        "type": "object",
        "properties": {
          "createdByUnity": {
            "type": "boolean",
            "description": "True if the app was created by Unity."
          },
          "organizationId": {
            "type": "string",
            "description": "The organization that created the app."
          }
        },
        "additionalProperties": false,
        "description": "An object containing the system metadata of the app."
      },
      "AppVersionConfigDto": {
        "type": "object",
        "properties": {
          "app": {
            "$ref": "#/components/schemas/AppDto"
          },
          "version": {
            "type": "string",
            "description": "The app version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)"
          },
          "platformVersion": {
            "type": "string",
            "description": "The platform version (ex: 1.0.0)"
          },
          "lifecycle": {
            "$ref": "#/components/schemas/LifecycleDto"
          },
          "appVisibility": {
            "$ref": "#/components/schemas/AppVisibilityDto"
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/CompleteActionDefinitionDto"
            },
            "description": "The list of action definitions of the app version"
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventDto"
            },
            "description": "The list of event definitions of the app version"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "The app version metadata",
            "nullable": true
          },
          "systemMetadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing system metadata to be attached to the app version",
            "nullable": true
          },
          "requiredEntitlements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntitlementDto"
            },
            "description": "The list of entitlements of the app version",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The App version definition"
      },
      "AppVersionDto": {
        "type": "object",
        "properties": {
          "app": {
            "$ref": "#/components/schemas/AppDto"
          },
          "version": {
            "type": "string",
            "description": "The app version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)"
          },
          "platformVersion": {
            "type": "string",
            "description": "The platform version (ex: 1.0.0)"
          },
          "lifecycle": {
            "$ref": "#/components/schemas/LifecycleDto"
          },
          "appVisibility": {
            "$ref": "#/components/schemas/AppVisibilityDto"
          },
          "actions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ActionDto"
            },
            "description": "The list of actions of the app version"
          },
          "events": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EventDto"
            },
            "description": "The list of events of the app version"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "The app version metadata",
            "nullable": true
          },
          "systemMetadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing system metadata to be attached to the app version",
            "nullable": true
          },
          "requiredEntitlements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntitlementDto"
            },
            "description": "The list of entitlements of the app version",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The App version information"
      },
      "AppVisibilityDto": {
        "type": "object",
        "properties": {
          "visibilityLevel": {
            "$ref": "#/components/schemas/AppVisibilityLevel"
          },
          "updatedOn": {
            "type": "string",
            "description": "The date and time the visibility was updated",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The App Visibility"
      },
      "AppVisibilityLevel": {
        "enum": [
          "Private",
          "Public"
        ],
        "type": "string",
        "description": "The App Visibility level"
      },
      "ApproveJobResponse": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/JobStatus"
          }
        },
        "additionalProperties": false,
        "description": "An object containing the job status."
      },
      "ApproveJobStepRequest": {
        "type": "object",
        "properties": {
          "approved": {
            "type": "boolean",
            "description": "Whether the user approves (true) or rejects (false) the job step."
          },
          "comment": {
            "type": "string",
            "description": "Optional comment explaining the approval or rejection decision.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters to approve or reject a job step."
      },
      "AutomationDto": {
        "type": "object",
        "properties": {
          "automationId": {
            "type": "string",
            "description": "Automation unique id",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "Automation Name"
          },
          "description": {
            "type": "string",
            "description": "Automation description"
          },
          "enabled": {
            "type": "boolean",
            "description": "status the automation enabled or disabled"
          },
          "triggerCount": {
            "type": "integer",
            "description": "number of time the automation was run",
            "format": "int64"
          },
          "pipelineId": {
            "type": "string",
            "description": "GUID Pipeline Id associated to the automation"
          },
          "version": {
            "type": "string",
            "description": "Pipeline Version associated to the automation (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)"
          },
          "inputs": {
            "type": "object",
            "additionalProperties": {},
            "description": "List of inputs values, it cannot be null but can be empty"
          },
          "secrets": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "List of secret key values",
            "nullable": true
          },
          "trigger": {
            "$ref": "#/components/schemas/AutomationTriggerDto"
          },
          "botId": {
            "type": "string",
            "description": "The automation bot unique identifier",
            "format": "uuid"
          },
          "bot": {
            "$ref": "#/components/schemas/BotDto"
          },
          "systemMetadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing system metadata to be attached to the automation",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Automation response definition"
      },
      "AutomationTriggerDto": {
        "required": [
          "triggerType"
        ],
        "type": "object",
        "properties": {
          "triggerType": {
            "$ref": "#/components/schemas/AutomationTriggerType"
          },
          "schedule": {
            "$ref": "#/components/schemas/ScheduleTriggerDto"
          },
          "event": {
            "$ref": "#/components/schemas/EventTriggerDto"
          }
        },
        "additionalProperties": false,
        "description": "Describe the type of trigger associated to the automation"
      },
      "AutomationTriggerType": {
        "enum": [
          "Schedule",
          "Event"
        ],
        "type": "string",
        "description": "Automation trigger types"
      },
      "BotDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The bot unique identifier.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "The bot name."
          },
          "description": {
            "type": "string",
            "description": "The bot description."
          },
          "organizationId": {
            "type": "string",
            "description": "The organization under which the bot is created."
          },
          "projectId": {
            "type": "string",
            "description": "The optional project under which the bot is created.",
            "nullable": true
          },
          "serviceAccountId": {
            "type": "string",
            "description": "The service account unique identifier used by this bot.",
            "format": "uuid"
          },
          "serviceAccountKeyId": {
            "type": "string",
            "description": "The service account key unique identifier used by this bot.",
            "format": "uuid"
          },
          "status": {
            "$ref": "#/components/schemas/BotStatus"
          }
        },
        "additionalProperties": false,
        "description": "An object containing the bot parameters."
      },
      "BotStatus": {
        "enum": [
          "Available",
          "Invalid"
        ],
        "type": "string",
        "description": "BotStatus"
      },
      "CertificationDto": {
        "type": "object",
        "properties": {
          "certified": {
            "type": "boolean",
            "description": "True if the app was certified by Unity."
          },
          "certifiedOn": {
            "type": "string",
            "description": "The date at which the app was certified.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the certification of the app version."
      },
      "CompleteActionDefinitionDto": {
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/ActionDto"
          },
          "definition": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/DockerActionDefinitionDto"
              },
              {
                "$ref": "#/components/schemas/TemplateRefActionDefinitionDto"
              },
              {
                "$ref": "#/components/schemas/HttpRequestActionDefinitionDto"
              }
            ],
            "description": "The action definition details."
          }
        },
        "additionalProperties": false,
        "description": "The complete action definition Dto"
      },
      "ConfigurationProfile": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Gets or sets the profile ID."
          },
          "name": {
            "type": "string",
            "description": "Gets or sets the profile name."
          },
          "description": {
            "type": "string",
            "description": "Gets or sets the profile description."
          },
          "hardware": {
            "$ref": "#/components/schemas/HardwareConfiguration"
          },
          "software": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SoftwareConfiguration"
            },
            "description": "Gets or sets the software configuration."
          },
          "exclusiveToOrg": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of orgs that can exclusively use this configuration",
            "nullable": true
          },
          "exclusiveToApp": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of apps that can exclusively use this configuration",
            "nullable": true
          },
          "tolerationOverride": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/TolerationConfig"
            },
            "description": "Tolerations that override the default GPU/CPU tolerations for workflow templates using this profile.\nWhen set, these replace the defaults entirely. Operator values: Equal, Exists. Effect values: NoSchedule, PreferNoSchedule, NoExecute.",
            "nullable": true
          },
          "affinityOverride": {
            "$ref": "#/components/schemas/AffinityConfig"
          }
        },
        "additionalProperties": false,
        "description": "Represents a configuration profile."
      },
      "ConfigurationsDto": {
        "type": "object",
        "properties": {
          "configurationProfiles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ConfigurationProfile"
            }
          }
        },
        "additionalProperties": false,
        "description": "Represents a collection of configuration profiles."
      },
      "CreateAppRequest": {
        "required": [
          "description",
          "name",
          "version"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "type": "string",
            "description": "The app name."
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The app description."
          },
          "version": {
            "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
            "type": "string",
            "description": "The app initial version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)"
          },
          "logo": {
            "type": "string",
            "description": "The app logo encoded in Base64. It must be a 128x128 PNG, JPG, GIF, TIFF or WEBP image.",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "The url of the app >",
            "format": "uri",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The tags of the app >",
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing arbitrary metadata to be attached to the app.",
            "nullable": true
          },
          "id": {
            "type": "string",
            "description": "Optional app id as string (must be a valid UUID if provided). If provided and already in use, creation returns 409 Conflict; if invalid, returns 400 Bad Request.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters required to create an app."
      },
      "CreateAppVersionRequest": {
        "required": [
          "version"
        ],
        "type": "object",
        "properties": {
          "version": {
            "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
            "type": "string",
            "description": "The app version to be created (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)."
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "The app version metadata",
            "nullable": true
          },
          "requiredEntitlements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntitlementDto"
            },
            "description": "The list of entitlements of the app version",
            "nullable": true
          },
          "baseVersion": {
            "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
            "type": "string",
            "description": "The app base version to create the new app version. Optional, if it's missing the last version is taken (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string).",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing data to create a new app version."
      },
      "CreateAutomationRequest": {
        "required": [
          "botId",
          "description",
          "inputs",
          "name",
          "pipelineId",
          "secrets",
          "trigger",
          "version"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "type": "string",
            "description": "Automation Name"
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "Automation description"
          },
          "pipelineId": {
            "type": "string",
            "description": "GUID Pipeline Id associated to the automation"
          },
          "version": {
            "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
            "type": "string",
            "description": "Pipeline Version associated to the automation (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)"
          },
          "inputs": {
            "type": "object",
            "additionalProperties": {},
            "description": "List of inputs values, it cannot be null but can be empty"
          },
          "secrets": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "List of secret key values",
            "nullable": true
          },
          "trigger": {
            "$ref": "#/components/schemas/AutomationTriggerDto"
          },
          "botId": {
            "type": "string",
            "description": "The automation bot unique identifier",
            "format": "uuid"
          }
        },
        "additionalProperties": false,
        "description": "Create automation request payload definition"
      },
      "CreateBotRequest": {
        "required": [
          "description",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 100,
            "minLength": 3,
            "pattern": "^[a-zA-Z][a-zA-Z0-9-_]*$",
            "type": "string",
            "description": "The bot name."
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The bot description."
          }
        },
        "additionalProperties": false,
        "description": "Create bot request payload definition"
      },
      "CreateEventRequest": {
        "required": [
          "definition",
          "description",
          "inputParameters",
          "name",
          "outputParameters"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "pattern": "^[a-zA-Z0-9\\- ]+$",
            "type": "string",
            "description": "Name"
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "Description"
          },
          "inputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputParameterDto"
            },
            "description": "input parameters"
          },
          "outputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutputParameterDto"
            },
            "description": "output parameters"
          },
          "definition": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/WebhookDefinitionDto"
              },
              {
                "$ref": "#/components/schemas/PollingDefinitionDto"
              },
              {
                "$ref": "#/components/schemas/ServiceBusDefinitionDto"
              }
            ],
            "description": "definition"
          },
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecretDto"
            },
            "description": "secrets",
            "nullable": true
          },
          "requirements": {
            "$ref": "#/components/schemas/RequirementDto"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "metadata",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Event object request"
      },
      "CreatePipelineRequest": {
        "required": [
          "description",
          "name",
          "version"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 57,
            "minLength": 2,
            "pattern": "^[a-zA-Z0-9\\- ]+$",
            "type": "string",
            "description": "The pipeline name."
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The pipeline description."
          },
          "version": {
            "minLength": 1,
            "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
            "type": "string",
            "description": "The pipeline version number (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)."
          },
          "id": {
            "type": "string",
            "description": "Optional pipeline id as string (must be a valid UUID if provided). If provided and already in use, creation returns 409 Conflict; if invalid, returns 400 Bad Request.",
            "nullable": true
          },
          "inputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputParameterDto"
            },
            "description": "A map of InputParameters for this pipeline version.",
            "nullable": true
          },
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecretDto"
            },
            "description": "List of secret definition.",
            "nullable": true
          },
          "outputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutputParameterValueDto"
            },
            "description": "A map of OutputParameters for this pipeline version.",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of tags.",
            "nullable": true
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StepDto"
            },
            "description": "A map of steps for this pipeline version. Each step must define one of: action, pipeline or suspend.",
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing arbitrary metadata to be attached to the pipeline version.",
            "nullable": true
          },
          "storages": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PipelineDiskStorageDto"
                }
              ],
              "description": "The Pipeline Storage Dto"
            },
            "description": "List of pipeline storages used by the pipeline version.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters required to create a new pipeline."
      },
      "CreatePipelineTemplateRequest": {
        "required": [
          "description",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 57,
            "minLength": 2,
            "type": "string",
            "description": "The pipeline template name."
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The pipeline template description."
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StepDto"
            },
            "description": "A map of steps for this pipeline template. Each step must define one of: action, pipeline or suspend."
          },
          "inputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputParameterDto"
            },
            "description": "A map of InputParameters for this pipeline template.",
            "nullable": true
          },
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecretDto"
            },
            "description": "List of secret definition.",
            "nullable": true
          },
          "outputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutputParameterValueDto"
            },
            "description": "A map of OutputParameters for this pipeline template.",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of tags.",
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing arbitrary metadata to be attached to the pipeline template.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters required to create a new pipeline template."
      },
      "CreatePipelineVersionRequest": {
        "type": "object",
        "properties": {
          "version": {
            "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
            "type": "string",
            "description": "The new pipeline version number (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string).",
            "nullable": true
          },
          "baseVersion": {
            "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
            "type": "string",
            "description": "The pipeline base version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string).",
            "nullable": true
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StepDto"
            },
            "description": "A map of Step for this pipeline version.",
            "nullable": true
          },
          "inputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputParameterDto"
            },
            "description": "A map of InputParameters for this pipeline version.",
            "nullable": true
          },
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecretDto"
            },
            "description": "List of secret definition.",
            "nullable": true
          },
          "outputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutputParameterValueDto"
            },
            "description": "A map of OutputParameters for this pipeline version.",
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing arbitrary metadata to be attached to the pipeline version.",
            "nullable": true
          },
          "storages": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PipelineDiskStorageDto"
                }
              ],
              "description": "The Pipeline Storage Dto"
            },
            "description": "List of pipeline storages used by the pipeline version.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters required to create a new pipeline version."
      },
      "CreateUpdateActionRequest": {
        "required": [
          "action",
          "definition"
        ],
        "type": "object",
        "properties": {
          "action": {
            "$ref": "#/components/schemas/ActionInputDto"
          },
          "definition": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/DockerActionDefinitionDto"
              },
              {
                "$ref": "#/components/schemas/TemplateRefActionDefinitionDto"
              },
              {
                "$ref": "#/components/schemas/HttpRequestActionDefinitionDto"
              }
            ],
            "description": "The action definition."
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters required to create or update an action."
      },
      "DaemonReadinessProbeDto": {
        "type": "object",
        "properties": {
          "execCommand": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The command to execute inside the container to check readiness.",
            "nullable": true
          },
          "httpGet": {
            "$ref": "#/components/schemas/DaemonReadinessProbeHttpGetDto"
          },
          "initialDelaySeconds": {
            "type": "integer",
            "description": "Seconds to wait after the container starts before the first probe.",
            "format": "int32",
            "nullable": true
          },
          "periodSeconds": {
            "type": "integer",
            "description": "How often (in seconds) to perform the probe.",
            "format": "int32",
            "nullable": true
          },
          "failureThreshold": {
            "type": "integer",
            "description": "Consecutive failures before marking the container not ready.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Readiness probe configuration for daemon steps.\nExactly one of Unity.Cloud.Automation.Models.Actions.DaemonReadinessProbeDto.ExecCommand or Unity.Cloud.Automation.Models.Actions.DaemonReadinessProbeDto.HttpGet must be provided."
      },
      "DaemonReadinessProbeHttpGetDto": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string",
            "description": "The path to access on the HTTP server."
          },
          "port": {
            "type": "string",
            "description": "The port number or named port to access on the container."
          }
        },
        "additionalProperties": false,
        "description": "HTTP GET configuration for a daemon readiness probe."
      },
      "DockerActionDefinitionDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ActionDefinitionDto"
          },
          {
            "type": "object",
            "properties": {
              "imageName": {
                "type": "string",
                "description": "The name of the Docker image."
              },
              "imagePath": {
                "type": "string",
                "description": "The path of the Docker image."
              },
              "command": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "The command to run in the Docker container.",
                "nullable": true
              },
              "args": {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "description": "The arguments for the command.",
                "nullable": true
              },
              "artifacts": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InputArtifactDto"
                },
                "description": "The input artifacts for the Docker action.",
                "nullable": true
              },
              "errorCodes": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DockerErrorCodeDto"
                },
                "description": "The error codes for the Docker action.",
                "nullable": true
              },
              "embeddedSecrets": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/EmbeddedSecretDto"
                },
                "description": "Embedded secrets array.",
                "nullable": true
              },
              "daemon": {
                "type": "boolean",
                "description": "Gets whether this step runs as a daemon (hidden from public API docs)."
              },
              "readinessProbe": {
                "$ref": "#/components/schemas/DaemonReadinessProbeDto"
              },
              "ports": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/DockerContainerPortDto"
                },
                "description": "Gets the list of ports to expose on the container (hidden from public API docs).",
                "nullable": true
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "The Action Docker Definition Dto"
      },
      "DockerContainerPortDto": {
        "required": [
          "containerPort"
        ],
        "type": "object",
        "properties": {
          "containerPort": {
            "maximum": 65535,
            "exclusiveMaximum": false,
            "minimum": 1,
            "exclusiveMinimum": false,
            "type": "integer",
            "description": "Port number to expose on the container (1–65535).",
            "format": "int32"
          },
          "name": {
            "type": "string",
            "description": "Optional IANA_SVC_NAME label for the port (e.g. \"http\").",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "A port exposed by a Docker container."
      },
      "DockerErrorCodeDto": {
        "required": [
          "exitCode",
          "message"
        ],
        "type": "object",
        "properties": {
          "exitCode": {
            "maximum": 255,
            "exclusiveMaximum": false,
            "minimum": 1,
            "exclusiveMinimum": false,
            "type": "integer",
            "description": "The exit code.",
            "format": "int32"
          },
          "message": {
            "maxLength": 256,
            "minLength": 2,
            "type": "string",
            "description": "The message associated to the exit code."
          }
        },
        "additionalProperties": false,
        "description": "Docker Error Code Dto"
      },
      "EmbeddedSecretDto": {
        "required": [
          "secretName",
          "source"
        ],
        "type": "object",
        "properties": {
          "secretName": {
            "maxLength": 64,
            "minLength": 2,
            "pattern": "^[a-zA-Z][a-zA-Z0-9-_]*$",
            "type": "string",
            "description": "Secret key"
          },
          "source": {
            "$ref": "#/components/schemas/SecretSourceDto"
          }
        },
        "additionalProperties": false,
        "description": "Embedded Secret object"
      },
      "EntitlementDto": {
        "required": [
          "description",
          "entitlementIds"
        ],
        "type": "object",
        "properties": {
          "entitlementIds": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "With multiple Ids, the condition is fulfilled when at least one of the values matches"
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "Entitlement description"
          }
        },
        "additionalProperties": false,
        "description": "Entitlement object"
      },
      "EnvironmentValueDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the environment variable."
          },
          "value": {
            "type": "string",
            "description": "The value to assign to the environment variable."
          }
        },
        "additionalProperties": false,
        "description": "An object containing the mapping for environment variables."
      },
      "EventDefinitionDto": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          }
        },
        "additionalProperties": false,
        "description": "Event definition",
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "webhook": "#/components/schemas/WebhookDefinitionDto",
            "polling": "#/components/schemas/PollingDefinitionDto",
            "servicebus": "#/components/schemas/ServiceBusDefinitionDto"
          }
        }
      },
      "EventDto": {
        "required": [
          "definition",
          "description",
          "id",
          "inputParameters",
          "name",
          "outputParameters"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "Event Id"
          },
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "pattern": "^[a-zA-Z0-9\\- ]+$",
            "type": "string",
            "description": "Name"
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "Description"
          },
          "inputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputParameterDto"
            },
            "description": "input parameters"
          },
          "outputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutputParameterDto"
            },
            "description": "output parameters"
          },
          "definition": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/WebhookDefinitionDto"
              },
              {
                "$ref": "#/components/schemas/PollingDefinitionDto"
              },
              {
                "$ref": "#/components/schemas/ServiceBusDefinitionDto"
              }
            ],
            "description": "definition"
          },
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecretDto"
            },
            "description": "secrets",
            "nullable": true
          },
          "requirements": {
            "$ref": "#/components/schemas/RequirementDto"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "metadata",
            "nullable": true
          },
          "app": {
            "$ref": "#/components/schemas/AppDto"
          }
        },
        "additionalProperties": false,
        "description": "Event object"
      },
      "EventTriggerDto": {
        "required": [
          "eventId",
          "inputParameters"
        ],
        "type": "object",
        "properties": {
          "eventId": {
            "type": "string",
            "description": "Event Id to be used in the automation"
          },
          "inputParameters": {
            "type": "object",
            "additionalProperties": {
              "type": "string",
              "nullable": true
            },
            "description": "The event input parameters"
          },
          "secrets": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Event secrets",
            "nullable": true
          },
          "eventSecretToken": {
            "type": "string",
            "description": "Event secret token to validate payload",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Event trigger definition"
      },
      "ExpressionActionOutputDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ActionOutputDto"
          },
          {
            "type": "object",
            "properties": {
              "expression": {
                "type": "string",
                "description": "The expression associated with the action output."
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "The Expression Action Output Dto"
      },
      "FanOutDto": {
        "required": [
          "loopThroughList",
          "maximumParallelCount"
        ],
        "type": "object",
        "properties": {
          "loopThroughList": {
            "minLength": 1,
            "type": "string",
            "description": "File containing the list of items to loop through."
          },
          "maximumParallelCount": {
            "maximum": 5,
            "minimum": 1,
            "type": "integer",
            "description": "The maximum number of parallel processing.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "The Fan Out"
      },
      "FileActionOutputDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ActionOutputDto"
          },
          {
            "type": "object",
            "properties": {
              "file": {
                "type": "string",
                "description": "The file associated with the action output."
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "The File Action Output Dto"
      },
      "GetJobStatsResponse": {
        "type": "object",
        "properties": {
          "runningJobs": {
            "type": "integer",
            "description": "Number of running jobs in the organization.",
            "format": "int32"
          },
          "queuedJobs": {
            "type": "integer",
            "description": "Number of queued jobs in the organization.",
            "format": "int32"
          },
          "concurrencyLimit": {
            "type": "integer",
            "description": "Job concurrency limit for the organization.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "An object containing the organization's job stats."
      },
      "HardwareConfiguration": {
        "type": "object",
        "properties": {
          "sku": {
            "type": "string",
            "description": "Gets or sets the SKU."
          },
          "cpuLimit": {
            "type": "number",
            "description": "Gets or sets the CPU limit in cores (e.g. 4.0). When set, the pod is throttled to this many cores.\nWhen unset (-1), no CPU limit is emitted.",
            "format": "double"
          },
          "cpuRequest": {
            "type": "number",
            "description": "Gets or sets the CPU request in cores (e.g. 0.1 = 100m). Controls how much CPU the scheduler reserves for this pod.\nWhen unset (-1), no CPU request is emitted and Kubernetes inherits the limit.",
            "format": "double"
          },
          "memoryLimit": {
            "type": "string",
            "description": "Gets or sets the memory limit (e.g. \"8Gi\"). The pod is OOM-killed if it exceeds this."
          },
          "memoryRequest": {
            "type": "string",
            "description": "Gets or sets the memory request (e.g. \"1Gi\"). Controls how much memory the scheduler reserves for this pod.\nWhen null, no memory request is set and Kubernetes inherits the limit.",
            "nullable": true
          },
          "gpu": {
            "type": "string",
            "description": "Gets or sets the GPU type."
          },
          "storage": {
            "type": "string",
            "description": "Gets or sets the storage resource."
          },
          "uom": {
            "type": "string",
            "description": "Gets or set the Unit of Measurement"
          }
        },
        "additionalProperties": false,
        "description": "Represents hardware configuration details."
      },
      "HttpRequestActionDefinitionDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ActionDefinitionDto"
          },
          {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "description": "The URL for the HTTP request."
              },
              "method": {
                "type": "string",
                "description": "The Method for the HTTP request."
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "The headers for the HTTP request.",
                "nullable": true
              },
              "payload": {
                "type": "string",
                "description": "The payload for the HTTP request.",
                "nullable": true
              },
              "expectedReturnCode": {
                "type": "string",
                "description": "The expected return code for the HTTP request.",
                "nullable": true
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "The Action Http Request Definition Dto"
      },
      "ImpersonationContextDto": {
        "type": "object",
        "properties": {
          "projectId": {
            "type": "string",
            "description": "Optional, the project Id associated to th eimpersonation.",
            "nullable": true
          },
          "environmentName": {
            "type": "string",
            "description": "Optional, the Environment Name associated to the impersonation.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Impersonation Context"
      },
      "InputArtifactDto": {
        "required": [
          "data",
          "name",
          "path"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "pattern": "^[a-zA-Z][a-zA-Z0-9-_]*$",
            "type": "string",
            "description": "The name of the artifact."
          },
          "path": {
            "type": "string",
            "description": "The path of the artifact"
          },
          "data": {
            "maxLength": 2097152,
            "minLength": 0,
            "type": "string",
            "description": "The data content of the artifact (text). Limited to 2Mb"
          }
        },
        "additionalProperties": false,
        "description": "Input artifact Object"
      },
      "InputParameterDto": {
        "required": [
          "description",
          "displayName",
          "name",
          "required",
          "type"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "maxLength": 64,
            "minLength": 2,
            "type": "string",
            "description": "The display name of the parameter."
          },
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "pattern": "^[a-zA-Z][a-zA-Z0-9-_]*$",
            "type": "string",
            "description": "The name of the parameter."
          },
          "type": {
            "$ref": "#/components/schemas/ParameterType"
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The description of the parameter."
          },
          "required": {
            "type": "boolean",
            "description": "Indicates if the parameter is mandatory."
          },
          "acceptedValues": {
            "type": "array",
            "items": {},
            "description": "A map of values accepted.",
            "nullable": true
          },
          "regexPattern": {
            "type": "string",
            "description": "The validation regex used to validate the parameter.",
            "nullable": true
          },
          "defaultValue": {
            "description": "Optional default value.",
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "key map metadata",
            "nullable": true
          },
          "isList": {
            "type": "boolean",
            "description": "Optional boolean indicating this input parameter takes a list as input",
            "nullable": true
          },
          "minItems": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Optional minimum number of items a list value must hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true.\nA value that references another parameter or a step output is not checked, since its list does not\nexist until the job runs.",
            "format": "int32",
            "nullable": true
          },
          "maxItems": {
            "maximum": 2147483647,
            "minimum": 0,
            "type": "integer",
            "description": "Optional maximum number of items a list value may hold. Only allowed when Unity.Cloud.Automation.Models.Common.InputParameterDto.IsList is true,\nand must not be less than Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems. References are not checked, as for Unity.Cloud.Automation.Models.Common.InputParameterDto.MinItems.",
            "format": "int32",
            "nullable": true
          },
          "masked": {
            "type": "boolean",
            "description": "Whether the parameter value should be masked in all responses.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Input parameter Object"
      },
      "InternalDiskStorageDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InternalStorageDto"
          },
          {
            "required": [
              "sizeLimit"
            ],
            "type": "object",
            "properties": {
              "sizeLimit": {
                "minLength": 1,
                "pattern": "^(?:0|[1-9][0-9]*)(?:Ki|Mi|Gi)?$",
                "type": "string",
                "description": "The size limit of the internal storage."
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "The Internal Disk Storage Dto"
      },
      "InternalMemoryStorageDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/InternalStorageDto"
          },
          {
            "required": [
              "sizeLimit"
            ],
            "type": "object",
            "properties": {
              "sizeLimit": {
                "minLength": 1,
                "pattern": "^(?:0|[1-9][0-9]*)(?:Ki|Mi|Gi)?$",
                "type": "string",
                "description": "The size limit of the internal storage."
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "The Internal Memory Storage Dto"
      },
      "InternalStorageDto": {
        "required": [
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "name": {
            "maxLength": 54,
            "minLength": 1,
            "pattern": "^[a-z0-9]([-a-z0-9]{0,52}[a-z0-9])?$",
            "type": "string",
            "description": "Gets the name of the internal storage."
          }
        },
        "additionalProperties": false,
        "description": "The Internal Storage Dto",
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "disk": "#/components/schemas/InternalDiskStorageDto",
            "memory": "#/components/schemas/InternalMemoryStorageDto"
          }
        }
      },
      "JobDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier of the job.",
            "format": "uuid"
          },
          "pipeline": {
            "$ref": "#/components/schemas/PipelineRefDto"
          },
          "status": {
            "$ref": "#/components/schemas/JobStatus"
          },
          "inputs": {
            "type": "object",
            "additionalProperties": {},
            "description": "The input parameters for the job.",
            "nullable": true
          },
          "outputs": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "The output parameters of the job.",
            "nullable": true
          },
          "secrets": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "The secrets for the job.",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The errors encountered during the job execution.",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "description": "The user ID associated with the job.",
            "nullable": true
          },
          "serviceAccountId": {
            "type": "string",
            "description": "The service account ID associated with the job.",
            "nullable": true
          },
          "organizationId": {
            "type": "string",
            "description": "The organization ID associated with the job."
          },
          "projectId": {
            "type": "string",
            "description": "The project ID associated with the job.",
            "nullable": true
          },
          "priority": {
            "type": "integer",
            "description": "The priority of the job.",
            "format": "int32"
          },
          "automationId": {
            "type": "string",
            "description": "The automation Id associated with the job if applicable",
            "format": "uuid",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "description": "The creation time of the job.",
            "format": "date-time"
          },
          "startedAt": {
            "type": "string",
            "description": "The start time of the job.",
            "format": "date-time",
            "nullable": true
          },
          "finishedAt": {
            "type": "string",
            "description": "The finish time of the job.",
            "format": "date-time",
            "nullable": true
          },
          "queueTime": {
            "type": "integer",
            "description": "The time the job spent in the queue.",
            "format": "int64"
          },
          "durationInSeconds": {
            "type": "integer",
            "description": "The duration of the job in seconds.",
            "format": "int32"
          },
          "progress": {
            "type": "integer",
            "description": "The progress of the job.",
            "format": "int32"
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JobStepDto"
            },
            "description": "The steps involved in the job.",
            "nullable": true
          },
          "updatedAt": {
            "type": "string",
            "description": "The last updated time of the job.",
            "format": "date-time",
            "nullable": true
          },
          "systemMetadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "The job system metadata.",
            "nullable": true
          },
          "jobPipelineUids": {
            "type": "object",
            "additionalProperties": {
              "$ref": "#/components/schemas/JobPipelineUidInfoDto"
            },
            "description": "Maps each jobPipelineUid (string) to metadata about that pipeline invocation.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents detailed information about a job."
      },
      "JobDtoSseItem": {
        "type": "object",
        "properties": {
          "data": {
            "$ref": "#/components/schemas/JobDto"
          },
          "eventType": {
            "type": "string"
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "reconnectionInterval": {
            "type": "string",
            "format": "date-span",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "JobPipelineUidInfoDto": {
        "type": "object",
        "properties": {
          "pipelineId": {
            "type": "string",
            "description": "The pipeline's unique identifier.",
            "format": "uuid"
          },
          "pipelineName": {
            "type": "string",
            "description": "The pipeline's display name.",
            "nullable": true
          },
          "pipelineVersion": {
            "type": "string",
            "description": "The pipeline version string.",
            "nullable": true
          },
          "pipelineRefStepName": {
            "type": "string",
            "description": "The display name of the pipeline reference step in the parent pipeline that triggered this invocation. Null for the root pipeline.",
            "nullable": true
          },
          "parentJobPipelineUid": {
            "type": "string",
            "description": "The jobPipelineUid of the parent pipeline invocation. Null for the root pipeline.",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Metadata for a pipeline invocation within a job."
      },
      "JobSortFieldName": {
        "enum": [
          "CreatedAt",
          "StartedAt",
          "FinishedAt",
          "UpdatedAt",
          "Progress",
          "Status",
          "Duration"
        ],
        "type": "string",
        "description": "The job field names to use for sorting."
      },
      "JobStatus": {
        "enum": [
          "Queued",
          "Pending",
          "Running",
          "Succeeded",
          "Failed",
          "Error",
          "Terminated",
          "Suspended",
          "Unknown"
        ],
        "type": "string",
        "description": "The job status possible values."
      },
      "JobStepConditionDto": {
        "type": "object",
        "properties": {
          "statement": {
            "type": "string",
            "description": "The condition statement."
          },
          "result": {
            "type": "boolean",
            "description": "The result of the condition.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents the condition of a job step."
      },
      "JobStepDto": {
        "type": "object",
        "properties": {
          "pipelineStepId": {
            "type": "string",
            "description": "The unique identifier of the pipeline step."
          },
          "name": {
            "type": "string",
            "description": "The name of the job step."
          },
          "condition": {
            "$ref": "#/components/schemas/JobStepConditionDto"
          },
          "inputParameters": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "The input parameters for the job step.",
            "nullable": true
          },
          "outputParameters": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "The output parameters of the job step.",
            "nullable": true
          },
          "dependencies": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The dependencies of the job step.",
            "nullable": true
          },
          "status": {
            "$ref": "#/components/schemas/JobStepStatus"
          },
          "error": {
            "type": "string",
            "description": "The error encountered during the job step execution.",
            "nullable": true
          },
          "retryCount": {
            "type": "integer",
            "description": "The number of retries for the job step.",
            "format": "int32"
          },
          "progress": {
            "type": "integer",
            "description": "The progress of the job step.",
            "format": "int32"
          },
          "startedAt": {
            "type": "string",
            "description": "The start time of the job step.",
            "format": "date-time",
            "nullable": true
          },
          "finishedAt": {
            "type": "string",
            "description": "The finish time of the job step.",
            "format": "date-time",
            "nullable": true
          },
          "configurationId": {
            "type": "string",
            "description": "The configuration ID associated with the job step.",
            "format": "uuid",
            "nullable": true
          },
          "timeout": {
            "type": "integer",
            "description": "The max amount of seconds before the step timeout.",
            "format": "int32",
            "nullable": true
          },
          "suspend": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/SuspendJobStepDelayDto"
              },
              {
                "$ref": "#/components/schemas/SuspendJobStepWaitForApprovalDto"
              },
              {
                "$ref": "#/components/schemas/SuspendJobStepWaitForInputDto"
              }
            ],
            "description": "The resume information for suspended job steps.",
            "nullable": true
          },
          "actionId": {
            "type": "string",
            "description": "The action id for this step, if it's an action step.",
            "nullable": true
          },
          "jobPipelineUid": {
            "type": "string",
            "description": "A unique id shared by all steps of the same pipeline invocation within the job. Look up pipeline metadata in the job's jobPipelineUids dictionary.",
            "format": "uuid",
            "nullable": true
          },
          "depth": {
            "type": "integer",
            "description": "Nesting depth of this step's pipeline within the job (0 = root pipeline, 1 = directly nested, etc.).",
            "format": "int32"
          },
          "retryOfStepId": {
            "type": "string",
            "description": "For an attempt of a retried step, the PipelineStepId of that step; null otherwise.",
            "nullable": true
          },
          "retryAttempt": {
            "type": "integer",
            "description": "For an attempt of a retried step, the zero-based attempt number; null otherwise.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a step in a job."
      },
      "JobStepLog": {
        "type": "object",
        "properties": {
          "stepId": {
            "type": "string",
            "description": "The Id of the job step"
          },
          "log": {
            "type": "string",
            "description": "The log string for the step",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The logs for a job's step"
      },
      "JobStepStatus": {
        "enum": [
          "Pending",
          "Running",
          "Succeeded",
          "Failed",
          "Error",
          "Terminated",
          "Suspended",
          "Skipped",
          "Omitted",
          "Unknown"
        ],
        "type": "string",
        "description": "The job step status possible values."
      },
      "JobSummaryDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique identifier of the job.",
            "format": "uuid"
          },
          "pipeline": {
            "$ref": "#/components/schemas/PipelineRefDto"
          },
          "status": {
            "$ref": "#/components/schemas/JobStatus"
          },
          "inputs": {
            "type": "object",
            "additionalProperties": {},
            "description": "The input parameters for the job.",
            "nullable": true
          },
          "outputs": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "The output parameters of the job.",
            "nullable": true
          },
          "secrets": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "The secrets for the job.",
            "nullable": true
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The errors encountered during the job execution.",
            "nullable": true
          },
          "userId": {
            "type": "string",
            "description": "The user ID associated with the job.",
            "nullable": true
          },
          "serviceAccountId": {
            "type": "string",
            "description": "The service account ID associated with the job.",
            "nullable": true
          },
          "organizationId": {
            "type": "string",
            "description": "The organization ID associated with the job."
          },
          "projectId": {
            "type": "string",
            "description": "The project ID associated with the job.",
            "nullable": true
          },
          "priority": {
            "type": "integer",
            "description": "The priority of the job.",
            "format": "int32"
          },
          "automationId": {
            "type": "string",
            "description": "The automation Id associated with the job if applicable",
            "format": "uuid",
            "nullable": true
          },
          "createdAt": {
            "type": "string",
            "description": "The creation time of the job.",
            "format": "date-time"
          },
          "startedAt": {
            "type": "string",
            "description": "The start time of the job.",
            "format": "date-time",
            "nullable": true
          },
          "finishedAt": {
            "type": "string",
            "description": "The finish time of the job.",
            "format": "date-time",
            "nullable": true
          },
          "queueTime": {
            "type": "integer",
            "description": "The time the job spent in the queue.",
            "format": "int64"
          },
          "durationInSeconds": {
            "type": "integer",
            "description": "The duration of the job in seconds.",
            "format": "int32"
          },
          "progress": {
            "type": "integer",
            "description": "The progress of the job.",
            "format": "int32"
          },
          "updatedAt": {
            "type": "string",
            "description": "The last updated time of the job.",
            "format": "date-time",
            "nullable": true
          },
          "systemMetadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "The job system metadata.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a summary of a job."
      },
      "LifecycleDto": {
        "type": "object",
        "properties": {
          "lifecycleStatus": {
            "$ref": "#/components/schemas/LifecycleStatus"
          },
          "updatedOn": {
            "type": "string",
            "description": "The date and time the status was updated",
            "format": "date-time",
            "nullable": true
          },
          "archivingDate": {
            "type": "string",
            "description": "The date and time the lifecycle will be changed to archived status",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The App Lifecycle status"
      },
      "LifecycleStatus": {
        "enum": [
          "Draft",
          "Available",
          "Deprecated",
          "Archived"
        ],
        "type": "string",
        "description": "The applications's lifecycle state."
      },
      "ListAppVersionsResponse": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "The number of items to skip.",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "description": "The max number of items to return.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "The total number of items.",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppVersionDto"
            },
            "description": "The list of app versions."
          }
        },
        "additionalProperties": false,
        "description": "An object containing a list of app versions ."
      },
      "ListAppsResponse": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "The number of items to skip.",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "description": "The max number of items to return.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "The total number of items.",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppVersionDto"
            },
            "description": "The list of app latest versions."
          }
        },
        "additionalProperties": false,
        "description": "An object containing a list of latest app versions."
      },
      "ListAutomationsDto": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "The number of items to skip.",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "description": "The max number of items to return.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "The total number of items.",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AutomationDto"
            },
            "description": "The list of Automations."
          }
        },
        "additionalProperties": false,
        "description": "An object containing a list of Automations ."
      },
      "ListBotsResponse": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "The number of items to skip.",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "description": "The max number of items to return.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "The total number of items.",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/BotDto"
            },
            "description": "The list of bots."
          }
        },
        "additionalProperties": false,
        "description": "An object containing a list of bots."
      },
      "ListJobsResponse": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "The number of items to skip.",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "description": "The max number of items to return.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "The total number of items.",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JobSummaryDto"
            },
            "description": "The list of jobs."
          }
        },
        "additionalProperties": false,
        "description": "An object containing a list of jobs."
      },
      "ListPipelineTemplatesResponse": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "The number of items to skip.",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "description": "The max number of items to return.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "The total number of items.",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PipelineTemplateDto"
            },
            "description": "The list of pipeline templates."
          }
        },
        "additionalProperties": false,
        "description": "An object containing a list of pipeline templates."
      },
      "ListPipelineVersionsResponse": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "The number of items to skip.",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "description": "The max number of items to return.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "The total number of items.",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PipelineVersionDto"
            },
            "description": "The list of pipeline versions."
          }
        },
        "additionalProperties": false,
        "description": "An object containing a list of pipeline versions ."
      },
      "ListPipelinesResponse": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "description": "The number of items to skip.",
            "format": "int32"
          },
          "limit": {
            "type": "integer",
            "description": "The max number of items to return.",
            "format": "int32"
          },
          "total": {
            "type": "integer",
            "description": "The total number of items.",
            "format": "int32"
          },
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PipelineVersionDto"
            },
            "description": "The list of pipelines."
          }
        },
        "additionalProperties": false,
        "description": "An object containing a list of pipelines."
      },
      "LogsDto": {
        "type": "object",
        "properties": {
          "stepLogs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/JobStepLog"
            },
            "description": "The step logs"
          }
        },
        "additionalProperties": false,
        "description": "The logs of all steps"
      },
      "NodeAffinityConfig": {
        "type": "object",
        "properties": {
          "requiredDuringSchedulingIgnoredDuringExecution": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NodeSelectorTermConfig"
            },
            "description": "Hard requirement: the pod is only scheduled onto a node when at least one of these\nnode selector terms is satisfied (the terms are ORed).",
            "nullable": true
          },
          "preferredDuringSchedulingIgnoredDuringExecution": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PreferredSchedulingTermConfig"
            },
            "description": "Soft preference: the scheduler prefers, but does not require, nodes matching these weighted terms.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents Kubernetes node affinity scheduling rules."
      },
      "NodeSelectorRequirementConfig": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The label (or field) key the requirement applies to.",
            "nullable": true
          },
          "operator": {
            "type": "string",
            "description": "How the key relates to the values. Valid operators: In, NotIn, Exists, DoesNotExist, Gt, Lt.",
            "nullable": true
          },
          "values": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The values matched by the operator. Must be non-empty for In/NotIn, empty for Exists/DoesNotExist,\nand a single element for Gt/Lt.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a single node selector requirement."
      },
      "NodeSelectorTermConfig": {
        "type": "object",
        "properties": {
          "matchExpressions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NodeSelectorRequirementConfig"
            },
            "description": "A list of node selector requirements matched against a node's labels.",
            "nullable": true
          },
          "matchFields": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/NodeSelectorRequirementConfig"
            },
            "description": "A list of node selector requirements matched against a node's fields.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a node selector term. The requirements within a term are ANDed."
      },
      "OutputParameterDto": {
        "required": [
          "description",
          "displayName",
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "maxLength": 64,
            "minLength": 2,
            "type": "string",
            "description": "The display name of the parameter."
          },
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "pattern": "^[a-zA-Z][a-zA-Z0-9-_]*$",
            "type": "string",
            "description": "The name of the parameter."
          },
          "type": {
            "$ref": "#/components/schemas/ParameterType"
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The description of the parameter."
          }
        },
        "additionalProperties": false,
        "description": "Output parameter Object"
      },
      "OutputParameterValueDto": {
        "required": [
          "description",
          "displayName",
          "name",
          "type",
          "value"
        ],
        "type": "object",
        "properties": {
          "displayName": {
            "maxLength": 64,
            "minLength": 2,
            "type": "string",
            "description": "The display name of the parameter."
          },
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "pattern": "^[a-zA-Z][a-zA-Z0-9-_]*$",
            "type": "string",
            "description": "The name of the parameter."
          },
          "type": {
            "$ref": "#/components/schemas/ParameterType"
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The description of the parameter."
          },
          "value": {
            "minLength": 1,
            "type": "string",
            "description": "Value of the parameter."
          }
        },
        "additionalProperties": false,
        "description": "Output parameter value Object"
      },
      "ParameterType": {
        "enum": [
          "Bool",
          "String",
          "Int",
          "Float",
          "Url",
          "UUID",
          "File",
          "Script",
          "Text"
        ],
        "type": "string",
        "description": "Parameter type. Each value constrains what an input value must be:\n            \n| Type | Accepted value |\n|------|----------------|\n| `Bool` | JSON boolean (`true` or `false`). |\n| `Int` | JSON integer within the 32-bit signed range. |\n| `Float` | JSON number with single precision. Integers are accepted. |\n| `String` | JSON string, including one that holds a UUID or URL. |\n| `Url` | Absolute `http` or `https` URL, as a string. |\n| `UUID` | UUID, as a string (for example `3fa85f64-5717-4562-b3fc-2c963f66afa6`). |\n| `Text`, `Script`, `File` | JSON string. The service applies no further checks. |\n            \nA value can reference another value with `{{...}}`, for example `{{inputParameters.name}}`. For `Bool`, `Int`, `Float` and `UUID` the whole value must be the reference. For the other types the reference can sit inside a longer string. A value that holds a reference is not validated.\n            \nAfter the type check, `regexPattern` is matched against the value's string form and `acceptedValues` must contain the value. When `isList` is true the value is a JSON array, each item is checked as above, and `minItems` and `maxItems` bound the item count."
      },
      "PipelineDiskStorageDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/PipelineStorageDto"
          },
          {
            "type": "object",
            "properties": {
              "cache": {
                "$ref": "#/components/schemas/StorageCacheType"
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "The Pipeline Disk Storage Dto"
      },
      "PipelineDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The pipeline unique identifier (GUID).",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "The pipeline name."
          },
          "description": {
            "type": "string",
            "description": "The pipeline description."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The pipeline tags.",
            "nullable": true
          },
          "isUnityMade": {
            "type": "boolean",
            "description": "Indicates if the pipeline is made by Unity."
          },
          "organizationId": {
            "type": "string",
            "description": "The organization under which the pipeline is created."
          },
          "projectId": {
            "type": "string",
            "description": "The optional project under which the pipeline is created.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the pipeline parameters."
      },
      "PipelineRefDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The pipeline unique identifier.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "The pipeline name."
          },
          "version": {
            "type": "string",
            "description": "The pipeline version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)."
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters required to identify a pipeline."
      },
      "PipelineStorageDto": {
        "required": [
          "name",
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "name": {
            "maxLength": 54,
            "minLength": 1,
            "pattern": "^[a-z0-9]([-a-z0-9]{0,52}[a-z0-9])?$",
            "type": "string",
            "description": "Gets the name of the pipeline storage."
          }
        },
        "additionalProperties": false,
        "description": "The Pipeline Storage Dto",
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "disk": "#/components/schemas/PipelineDiskStorageDto"
          }
        }
      },
      "PipelineTemplateDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The pipeline template Id.",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "description": "The pipeline template name."
          },
          "description": {
            "type": "string",
            "description": "The pipeline template description."
          },
          "appId": {
            "type": "string",
            "description": "The AppId associated to the template.",
            "format": "uuid"
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StepDto"
            },
            "description": "A map of steps for this pipeline template. Each step must define one of: action, pipeline or suspend."
          },
          "inputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputParameterDto"
            },
            "description": "A map of InputParameters for this pipeline template.",
            "nullable": true
          },
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecretDto"
            },
            "description": "List of secret definition.",
            "nullable": true
          },
          "outputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutputParameterDto"
            },
            "description": "A map of OutputParameters for this pipeline template.",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of tags.",
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing arbitrary metadata to be attached to the pipeline template.",
            "nullable": true
          },
          "systemMetadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing arbitrary system metadata to be attached to the pipeline template.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The pipeline template information"
      },
      "PipelineVersionDto": {
        "required": [
          "version"
        ],
        "type": "object",
        "properties": {
          "pipeline": {
            "$ref": "#/components/schemas/PipelineDto"
          },
          "version": {
            "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
            "type": "string",
            "description": "The pipeline version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)."
          },
          "organizationId": {
            "type": "string",
            "description": "The organization under which the pipeline version is created.",
            "nullable": true
          },
          "certification": {
            "$ref": "#/components/schemas/CertificationDto"
          },
          "lifecycle": {
            "$ref": "#/components/schemas/LifecycleDto"
          },
          "visibility": {
            "$ref": "#/components/schemas/PipelineVisibilityDto"
          },
          "inputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputParameterDto"
            },
            "description": "A map of InputParameters for this pipeline version.",
            "nullable": true
          },
          "outputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutputParameterValueDto"
            },
            "description": "A map of OutputParameters for this pipeline version.",
            "nullable": true
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StepDto"
            },
            "description": "A map of Step for this pipeline version.",
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing arbitrary metadata to be attached to the pipeline version.",
            "nullable": true
          },
          "systemMetadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing system metadata to be attached to the pipeline version.",
            "nullable": true
          },
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecretDto"
            },
            "description": "List of secrets definition used by the pipeline.",
            "nullable": true
          },
          "usedAppVersions": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/AppVersionDto"
            },
            "description": "List of app versions used by the pipeline version steps.",
            "nullable": true
          },
          "storages": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PipelineDiskStorageDto"
                }
              ],
              "description": "The Pipeline Storage Dto"
            },
            "description": "List of pipeline storages used by the pipeline version.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The pipeline version information"
      },
      "PipelineVisibilityDto": {
        "type": "object",
        "properties": {
          "visibilityLevel": {
            "$ref": "#/components/schemas/PipelineVisibilityLevel"
          },
          "updatedOn": {
            "type": "string",
            "description": "The date and time the visibility was updated",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The Pipeline Visibility"
      },
      "PipelineVisibilityLevel": {
        "enum": [
          "Private",
          "Public",
          "Unlisted"
        ],
        "type": "string",
        "description": "The Pipeline Visibility level"
      },
      "PollingDefinitionDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EventDefinitionDto"
          },
          {
            "type": "object",
            "additionalProperties": false
          }
        ],
        "description": "Polling service bus definition"
      },
      "PreferredSchedulingTermConfig": {
        "type": "object",
        "properties": {
          "weight": {
            "type": "integer",
            "description": "Weight associated with matching the term, in the range 1-100.",
            "format": "int32"
          },
          "preference": {
            "$ref": "#/components/schemas/NodeSelectorTermConfig"
          }
        },
        "additionalProperties": false,
        "description": "Represents a weighted node selector term used for preferred node affinity."
      },
      "ProblemDetails": {
        "type": "object",
        "properties": {
          "type": {
            "type": "string",
            "nullable": true
          },
          "title": {
            "type": "string",
            "nullable": true
          },
          "status": {
            "type": "integer",
            "format": "int32",
            "nullable": true
          },
          "detail": {
            "type": "string",
            "nullable": true
          },
          "instance": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": {}
      },
      "RequirementDto": {
        "type": "object",
        "additionalProperties": false,
        "description": "Represents a requirement instance."
      },
      "ResumeJobResponse": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/JobStatus"
          }
        },
        "additionalProperties": false,
        "description": "An object containing the job status."
      },
      "ResumeJobStepRequest": {
        "type": "object",
        "properties": {
          "parameters": {
            "type": "object",
            "additionalProperties": {},
            "description": "The parameters to resume the step with",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters to resume a job."
      },
      "RetryBackoffDto": {
        "required": [
          "durationSeconds"
        ],
        "type": "object",
        "properties": {
          "durationSeconds": {
            "maximum": 3600,
            "minimum": 1,
            "type": "integer",
            "description": "Delay in seconds before the first retry.",
            "format": "int32"
          },
          "factor": {
            "maximum": 10,
            "minimum": 1,
            "type": "integer",
            "description": "Multiplier applied to the delay after each retry. 1 when omitted (constant delay).",
            "format": "int32",
            "nullable": true
          },
          "maxDurationSeconds": {
            "maximum": 86400,
            "minimum": 1,
            "type": "integer",
            "description": "Upper bound in seconds for the delay between two attempts.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The delay between retry attempts."
      },
      "RetryPolicy": {
        "enum": [
          "OnFailure",
          "OnError",
          "Always",
          "OnTransientError"
        ],
        "type": "string",
        "description": "Which kind of failure triggers a retry."
      },
      "RetryStrategyDto": {
        "required": [
          "limit"
        ],
        "type": "object",
        "properties": {
          "limit": {
            "maximum": 100,
            "minimum": 1,
            "type": "integer",
            "description": "Maximum number of retries after the first attempt.",
            "format": "int32"
          },
          "retryPolicy": {
            "$ref": "#/components/schemas/RetryPolicy"
          },
          "backoff": {
            "$ref": "#/components/schemas/RetryBackoffDto"
          },
          "expression": {
            "maxLength": 1024,
            "minLength": 0,
            "type": "string",
            "description": "Optional condition evaluated after each failed attempt; the step is retried only when it is true.\nIt is checked in addition to Unity.Cloud.Automation.Models.Common.RetryStrategyDto.RetryPolicy, so an attempt the policy excludes is never\nretried. Uses Argo's expression syntax and can read the last attempt through\n`lastRetry.exitCode`, `lastRetry.status`, `lastRetry.duration` and\n`lastRetry.message`, e.g. `asInt(lastRetry.exitCode) == 137`. Values are strings, so\nconvert them with `asInt` or `asFloat` before comparing numerically.\nInput parameters can be injected with `{{inputParameters.name}}`.",
            "nullable": true
          },
          "configurationIds": {
            "type": "array",
            "items": {
              "type": "string",
              "format": "uuid"
            },
            "description": "Optional configuration profiles for the retries, in order: the first retry runs on the first\nprofile, the second retry on the second, and the last one is reused for any further retry. The\nfirst attempt keeps the step's own profile. Meant to escalate memory on retry, so each profile\nmay differ from the step's own profile only in CPU and memory; GPU, disk, tolerations, affinity\nand software must be the same. Each must be one of the action's configuration ids, and there\ncannot be more of them than Unity.Cloud.Automation.Models.Common.RetryStrategyDto.Limit. Each attempt is billed at its own profile.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The Retry Strategy of a step.\nEach attempt runs a new pod; the step timeout applies to each attempt, not to the step as a whole."
      },
      "ScheduleTriggerDto": {
        "required": [
          "cron"
        ],
        "type": "object",
        "properties": {
          "cron": {
            "type": "string",
            "description": "Cron format, schedule"
          }
        },
        "additionalProperties": false,
        "description": "Schedule trigger definition"
      },
      "SecretDto": {
        "required": [
          "description",
          "displayName",
          "required",
          "secretName"
        ],
        "type": "object",
        "properties": {
          "secretName": {
            "maxLength": 64,
            "minLength": 2,
            "pattern": "^[a-zA-Z][a-zA-Z0-9-_]*$",
            "type": "string",
            "description": "Secret key"
          },
          "displayName": {
            "maxLength": 64,
            "minLength": 2,
            "type": "string",
            "description": "The display name of the Secret"
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "Secret description"
          },
          "required": {
            "type": "boolean",
            "description": "Secret user input"
          }
        },
        "additionalProperties": false,
        "description": "Secret object"
      },
      "SecretSourceDto": {
        "type": "object",
        "properties": {
          "type": {
            "$ref": "#/components/schemas/SecretType"
          }
        },
        "additionalProperties": false,
        "description": "Secret source provider, only one of them accepted"
      },
      "SecretType": {
        "enum": [
          "None",
          "SecretManager",
          "Volume"
        ],
        "type": "string",
        "description": "Secret type"
      },
      "SendCommandToProjectServiceRequest": {
        "required": [
          "commands",
          "namespace"
        ],
        "type": "object",
        "properties": {
          "namespace": {
            "type": "string",
            "description": "The ps-core namespace to target (e.g. the value used as the Kubernetes namespace)."
          },
          "commands": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "Commands to dispatch to ps-core, each formatted as `command:<name>;arg:<value>`.\nSupported commands: preview, import, createworkbench, createenvironment, editorstart, job, environments,\nworkbenches, workbenchhead, projects.\nThe revision-scoped commands (preview, import, editorstart) need an exact numeric changeset id;\n`workbenchhead` is what reports it."
          },
          "headers": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "Optional map of HTTP headers to attach to every downstream request sent to ps-core (e.g. `X-Plastic-Authorization`).\nHeaders travel in the request body rather than as HTTP headers so intermediary gateways cannot strip them.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Request to send commands to a running Project Service (ps-core) instance."
      },
      "SendCommandToProjectServiceResponse": {
        "type": "object",
        "properties": {
          "results": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SendCommandToProjectServiceResult"
            },
            "description": "One entry per dispatched command, in the order they were sent."
          }
        },
        "additionalProperties": false,
        "description": "Response for sending commands to a Project Service instance."
      },
      "SendCommandToProjectServiceResult": {
        "type": "object",
        "properties": {
          "command": {
            "type": "string",
            "description": "The command that was dispatched."
          },
          "isSuccess": {
            "type": "boolean",
            "description": "Whether the command completed successfully."
          },
          "message": {
            "type": "string",
            "description": "The response body on success, or the error description on failure."
          }
        },
        "additionalProperties": false,
        "description": "The outcome of a single command dispatched to a Project Service instance."
      },
      "ServiceBusDefinitionDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EventDefinitionDto"
          },
          {
            "type": "object",
            "properties": {
              "eventFilter": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Dictionary of key/value filters. Multiple values can be separated by |. Use * for any value",
                "nullable": true
              },
              "outputParameterMapping": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Dictionary of event output parameter name to value. A value is either a literal or a path into the incoming payload such as {{payload.field.subfield}}. Unmapped output parameters keep their default value. Pipeline inputs reference the results as {{event.outputParameters.name}}",
                "nullable": true
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "Service bus event definition"
      },
      "SoftwareConfiguration": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Gets or sets the profile name.",
            "nullable": true
          },
          "sku": {
            "type": "string",
            "description": "Gets or sets the SKU."
          },
          "uom": {
            "type": "string",
            "description": "Gets or sets the unit of measurement."
          }
        },
        "additionalProperties": false,
        "description": "Represents software configuration details."
      },
      "SortOrder": {
        "enum": [
          "Asc",
          "Desc"
        ],
        "type": "string",
        "description": "The job sort order (ascending or descending)"
      },
      "StepDto": {
        "required": [
          "id",
          "name"
        ],
        "type": "object",
        "properties": {
          "id": {
            "maxLength": 64,
            "minLength": 2,
            "pattern": "^[a-z][a-z0-9-]*$",
            "type": "string",
            "description": "Identifier of the step."
          },
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "type": "string",
            "description": "The name of the step."
          },
          "condition": {
            "type": "string",
            "description": "The condition to execute the step.",
            "nullable": true
          },
          "action": {
            "$ref": "#/components/schemas/ActionReferenceDto"
          },
          "pipeline": {
            "$ref": "#/components/schemas/StepPipelineReferenceDto"
          },
          "suspend": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/SuspendDelayDto"
              },
              {
                "$ref": "#/components/schemas/SuspendWaitForApprovalDto"
              },
              {
                "$ref": "#/components/schemas/SuspendWaitForInputDto"
              }
            ],
            "description": "The suspend to execute in this step.",
            "nullable": true
          },
          "fanOut": {
            "$ref": "#/components/schemas/FanOutDto"
          },
          "continueOnFail": {
            "type": "boolean",
            "description": "Indicates if the pipeline should continue when this step fails.\nOnly applies to steps that list this one in Dependencies: a step using Depends must\ndefine its states itself."
          },
          "timeout": {
            "maximum": 2147483647,
            "minimum": 1,
            "type": "integer",
            "description": "Timeout value in seconds for this step. Can only be used with Action.",
            "format": "int32",
            "nullable": true
          },
          "retry": {
            "$ref": "#/components/schemas/RetryStrategyDto"
          },
          "dependencies": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "A map of dependencies for this step.\nCannot be used with Depends.",
            "nullable": true
          },
          "depends": {
            "type": "string",
            "description": "An expression over the ids of this pipeline's steps, ex: (step1.Succeeded || step1.Skipped)\nCannot be used with Dependencies.\nContinueOnFail on a referenced step is not applied.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The Step\nA step can define only one of: Action, Pipeline or Suspend"
      },
      "StepPipelineReferenceDto": {
        "required": [
          "id",
          "version"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "description": "The unique Id of the pipeline.",
            "format": "uuid"
          },
          "version": {
            "minLength": 1,
            "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
            "type": "string",
            "description": "The version of the pipeline (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)."
          },
          "inputParameters": {
            "type": "object",
            "additionalProperties": {},
            "description": "The input parameters of the pipeline.",
            "nullable": true
          },
          "secrets": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "List of the secrets values injected on the pipeline.",
            "nullable": true
          },
          "storages": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "The pipeline storages mapping.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters required to identify a pipeline,\nits version and input parameters."
      },
      "StopJobResponse": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/JobStatus"
          }
        },
        "additionalProperties": false,
        "description": "An object containing the job status."
      },
      "StopProjectServiceResponse": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "The unique identifier of the Project Service instance job that was stopped.",
            "format": "uuid"
          },
          "jobStatus": {
            "$ref": "#/components/schemas/JobStatus"
          },
          "workers": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StoppedWorkerDto"
            },
            "description": "The workers linked to this instance that the stop cascaded to, in the order they were stopped. Empty when the\ninstance had no linked workers."
          }
        },
        "additionalProperties": false,
        "description": "Outcome of stopping a Project Service instance addressed by its namespace."
      },
      "StoppedWorkerDto": {
        "type": "object",
        "properties": {
          "jobId": {
            "type": "string",
            "description": "The unique identifier of the worker job."
          },
          "jobStatus": {
            "$ref": "#/components/schemas/JobStatus"
          },
          "error": {
            "type": "string",
            "description": "Why this worker could not be stopped; null when it was stopped or had already finished. A worker\nthat fails to stop does not prevent the instance from being stopped, so this is how the caller learns that\nsomething was left behind.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Outcome of stopping one worker as part of stopping its Project Service instance."
      },
      "StorageCacheType": {
        "enum": [
          "None"
        ],
        "type": "string",
        "description": "StorageCacheType"
      },
      "StringSseItem": {
        "type": "object",
        "properties": {
          "data": {
            "type": "string",
            "nullable": true
          },
          "eventType": {
            "type": "string"
          },
          "eventId": {
            "type": "string",
            "nullable": true
          },
          "reconnectionInterval": {
            "type": "string",
            "format": "date-span",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SuspendDelayDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SuspendDto"
          },
          {
            "type": "object",
            "properties": {
              "duration": {
                "type": "string",
                "description": "The duration to suspend for. Must start with a positive number (default seconds) and can optionally be followed by 'h' (hours), 'm' (minutes), or 's' (seconds), or a combination of them (e.g., 1h2m3s). Empty string means the workflow is suspended until manually resumed."
              },
              "allowUserToResume": {
                "type": "boolean",
                "description": "Whether users are allowed to manually resume before the duration expires"
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "Delay suspend - pauses workflow execution for a specified duration"
      },
      "SuspendDto": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "description": "Description of the Suspend Step, which can be used to provide context to users about why the workflow is suspended and what actions they may need to take to resume it.",
            "nullable": true
          },
          "permissions": {
            "$ref": "#/components/schemas/UserGroupPermissionsDto"
          }
        },
        "additionalProperties": false,
        "description": "The base Suspend DTO",
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "delay": "#/components/schemas/SuspendDelayDto",
            "waitForApproval": "#/components/schemas/SuspendWaitForApprovalDto",
            "waitForInput": "#/components/schemas/SuspendWaitForInputDto"
          }
        }
      },
      "SuspendJobStepDelayDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SuspendJobStepDto"
          },
          {
            "type": "object",
            "properties": {
              "duration": {
                "type": "string",
                "description": "The duration to suspend for. Must start with a positive number (default seconds) and can optionally be followed by 'h' (hours), 'm' (minutes), or 's' (seconds), or a combination of them (e.g., 1h2m3s). Empty string means the workflow is suspended until manually resumed."
              },
              "allowUserToResume": {
                "type": "boolean",
                "description": "Whether users are allowed to manually resume before the duration expires"
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "Resume information for a delayed job step"
      },
      "SuspendJobStepDto": {
        "required": [
          "type"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "description": {
            "type": "string",
            "description": "Description of the suspend/resume operation",
            "nullable": true
          },
          "permissions": {
            "$ref": "#/components/schemas/UserGroupPermissionsDto"
          }
        },
        "additionalProperties": false,
        "description": "Base class for resume information for suspended job steps",
        "discriminator": {
          "propertyName": "type",
          "mapping": {
            "delay": "#/components/schemas/SuspendJobStepDelayDto",
            "waitForApproval": "#/components/schemas/SuspendJobStepWaitForApprovalDto",
            "waitForInput": "#/components/schemas/SuspendJobStepWaitForInputDto"
          }
        }
      },
      "SuspendJobStepWaitForApprovalDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SuspendJobStepDto"
          },
          {
            "type": "object",
            "properties": {
              "minimumApprovals": {
                "type": "integer",
                "description": "The minimum number of approvals required to resume",
                "format": "int32"
              },
              "allowTriggererToApprove": {
                "type": "boolean",
                "description": "Whether the workflow triggerer is allowed to approve"
              },
              "userSuppliedApprovals": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserSuppliedApprovalDto"
                },
                "description": "The list of user-supplied approval inputs",
                "nullable": true
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "Resume information for a job step waiting for approval"
      },
      "SuspendJobStepWaitForInputDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SuspendJobStepDto"
          },
          {
            "type": "object",
            "properties": {
              "resumeParameters": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InputParameterDto"
                },
                "description": "The parameters required to resume the suspended workflow"
              },
              "allowTriggererInputs": {
                "type": "boolean",
                "description": "Whether the workflow triggerer is allowed to provide inputs"
              },
              "userSuppliedInputs": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/UserSuppliedInputDto"
                },
                "description": "The list of user-supplied inputs",
                "nullable": true
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "Resume information for a job step waiting for input"
      },
      "SuspendWaitForApprovalDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SuspendDto"
          },
          {
            "type": "object",
            "properties": {
              "minimumApprovals": {
                "type": "integer",
                "description": "The minimum number of approvals required to resume",
                "format": "int32"
              },
              "allowTriggererToApprove": {
                "type": "boolean",
                "description": "Whether the workflow triggerer is allowed to approve"
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "Wait for approval suspend - pauses workflow execution until required approvals are received"
      },
      "SuspendWaitForInputDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/SuspendDto"
          },
          {
            "type": "object",
            "properties": {
              "inputParameters": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/InputParameterDto"
                },
                "description": "The parameters required to resume the suspended workflow"
              },
              "allowTriggererInputs": {
                "type": "boolean",
                "description": "Whether the workflow triggerer is allowed to provide inputs"
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "Wait for input suspend - pauses workflow execution until required inputs are provided"
      },
      "TemplateRefActionDefinitionDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/ActionDefinitionDto"
          },
          {
            "type": "object",
            "properties": {
              "name": {
                "type": "string",
                "description": "The resource name of the template."
              },
              "template": {
                "type": "string",
                "description": "The name of referred template in the resource."
              },
              "clusterScope": {
                "type": "boolean",
                "description": "Indicates the referred template is cluster scoped."
              },
              "parameters": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/TemplateRefParameterDto"
                },
                "description": "The list of parameters passed to the template reference.",
                "nullable": true
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "The Action Template Ref Definition Dto"
      },
      "TemplateRefParameterDto": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "The name of the parameter."
          },
          "value": {
            "description": "The value of the parameter.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "The Template Ref Parameter Dto"
      },
      "TerminateJobResponse": {
        "type": "object",
        "properties": {
          "status": {
            "$ref": "#/components/schemas/JobStatus"
          }
        },
        "additionalProperties": false,
        "description": "An object containing the job status."
      },
      "TimeoutDataDto": {
        "required": [
          "defaultValue",
          "maxValue",
          "minValue"
        ],
        "type": "object",
        "properties": {
          "defaultValue": {
            "type": "integer",
            "description": "The default timeout value in seconds.",
            "format": "int32"
          },
          "minValue": {
            "type": "integer",
            "description": "The min timeout value in seconds.",
            "format": "int32"
          },
          "maxValue": {
            "type": "integer",
            "description": "The max timeout value in seconds.",
            "format": "int32"
          }
        },
        "additionalProperties": false,
        "description": "Timeout object"
      },
      "TolerationConfig": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "description": "The taint key the toleration applies to.",
            "nullable": true
          },
          "operator": {
            "type": "string",
            "description": "The operator to use when matching the taint key.",
            "nullable": true
          },
          "value": {
            "type": "string",
            "description": "The taint value the toleration matches.",
            "nullable": true
          },
          "effect": {
            "type": "string",
            "description": "The taint effect to tolerate.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Represents a Kubernetes toleration to apply to a workflow template."
      },
      "TransientPipelineRequest": {
        "required": [
          "description",
          "name"
        ],
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 57,
            "minLength": 2,
            "pattern": "^[a-zA-Z0-9\\- ]+$",
            "type": "string",
            "description": "The pipeline name."
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The pipeline description."
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of tags.",
            "nullable": true
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StepDto"
            },
            "description": "A map of steps for this pipeline version. Each step must define one of: action, pipeline or suspend.",
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing arbitrary metadata to be attached to the pipeline version.",
            "nullable": true
          },
          "jobPriority": {
            "type": "integer",
            "description": "The priority of the job. Zero is the highest priority.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the properties to trigger a new transient pipeline."
      },
      "TriggerPipelineRequest": {
        "type": "object",
        "properties": {
          "inputs": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of inputs to trigger a pipeline.",
            "nullable": true
          },
          "secrets": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "List of the secrets values injected on the pipeline.",
            "nullable": true
          },
          "jobPriority": {
            "type": "integer",
            "description": "The priority of the job. Zero is the highest priority.",
            "format": "int32",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the properties to trigger a pipeline."
      },
      "UpdateAppRequest": {
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "type": "string",
            "description": "The app name.",
            "nullable": true
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The app description.",
            "nullable": true
          },
          "logo": {
            "type": "string",
            "description": "The app logo encoded in base 64",
            "nullable": true
          },
          "url": {
            "type": "string",
            "description": "The url of the app >",
            "format": "uri",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The tags of the app >",
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing arbitrary metadata to be attached to the app.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters required to update an app."
      },
      "UpdateAppVersionRequest": {
        "type": "object",
        "properties": {
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "The app version metadata",
            "nullable": true
          },
          "requiredEntitlements": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/EntitlementDto"
            },
            "description": "The list of entitlements of the app version",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing data to update an app version."
      },
      "UpdateAutomationRequest": {
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "type": "string",
            "description": "Automation Name",
            "nullable": true
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "Automation description",
            "nullable": true
          },
          "enabled": {
            "type": "boolean",
            "description": "status the automation enabled or disabled",
            "nullable": true
          },
          "pipelineId": {
            "type": "string",
            "description": "GUID Pipeline Id associated to the automation",
            "nullable": true
          },
          "version": {
            "pattern": "^(?<version>\\d+\\.\\d+\\.\\d+-sha\\.[0-9a-f]{7,14}|\\d+\\.\\d+\\.\\d+(?:-rc\\.\\d+)?)$",
            "type": "string",
            "description": "Pipeline Version associated to the automation (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string)",
            "nullable": true
          },
          "inputs": {
            "type": "object",
            "additionalProperties": {},
            "description": "List of inputs values, it cannot be null but can be empty",
            "nullable": true
          },
          "secrets": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            },
            "description": "List of secret key values",
            "nullable": true
          },
          "trigger": {
            "$ref": "#/components/schemas/AutomationTriggerDto"
          },
          "botId": {
            "type": "string",
            "description": "The automation bot unique identifier",
            "format": "uuid",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Update Automation request payload definition"
      },
      "UpdateBotRequest": {
        "type": "object",
        "properties": {
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The bot description.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Update bot request payload definition"
      },
      "UpdateEventRequest": {
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 64,
            "minLength": 2,
            "type": "string",
            "description": "Name",
            "nullable": true
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "Description",
            "nullable": true
          },
          "inputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputParameterDto"
            },
            "description": "input parameters",
            "nullable": true
          },
          "outputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutputParameterDto"
            },
            "description": "output parameters",
            "nullable": true
          },
          "definition": {
            "oneOf": [
              {
                "$ref": "#/components/schemas/WebhookDefinitionDto"
              },
              {
                "$ref": "#/components/schemas/PollingDefinitionDto"
              },
              {
                "$ref": "#/components/schemas/ServiceBusDefinitionDto"
              }
            ],
            "description": "definition",
            "nullable": true
          },
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecretDto"
            },
            "description": "secrets",
            "nullable": true
          },
          "requirements": {
            "$ref": "#/components/schemas/RequirementDto"
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "metadata",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Event object request"
      },
      "UpdateLifecycleRequest": {
        "type": "object",
        "properties": {
          "archivingDate": {
            "type": "string",
            "description": "When Deprecated status is requested, this parameter contains the UTC date that the app/pipeline will be archived. If not specified, 6 months from the current date will be used.",
            "format": "date-time",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters required to set an app/pipeline lifecycle status."
      },
      "UpdatePipelineRequest": {
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 57,
            "minLength": 2,
            "pattern": "^[a-zA-Z0-9\\- ]+$",
            "type": "string",
            "description": "The pipeline name.",
            "nullable": true
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The pipeline description.",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "The pipeline tags.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters required to update a pipeline."
      },
      "UpdatePipelineTemplateRequest": {
        "type": "object",
        "properties": {
          "name": {
            "maxLength": 57,
            "minLength": 2,
            "type": "string",
            "description": "The pipeline template name.",
            "nullable": true
          },
          "description": {
            "maxLength": 256,
            "minLength": 20,
            "type": "string",
            "description": "The pipeline template description.",
            "nullable": true
          },
          "inputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputParameterDto"
            },
            "description": "A map of InputParameters for this pipeline template.",
            "nullable": true
          },
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecretDto"
            },
            "description": "List of secret definition.",
            "nullable": true
          },
          "outputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutputParameterValueDto"
            },
            "description": "A map of OutputParameters for this pipeline template.",
            "nullable": true
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of tags.",
            "nullable": true
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StepDto"
            },
            "description": "A map of steps for this pipeline template. Each step must define one of: action, pipeline or suspend.",
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing arbitrary metadata to be attached to the pipeline template.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters to update a pipeline template."
      },
      "UpdatePipelineVersionRequest": {
        "type": "object",
        "properties": {
          "inputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/InputParameterDto"
            },
            "description": "A map of InputParameters to update the pipeline version.",
            "nullable": true
          },
          "outputParameters": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/OutputParameterValueDto"
            },
            "description": "A map of OutputParameters to update the pipeline version.",
            "nullable": true
          },
          "secrets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SecretDto"
            },
            "description": "List of secrets definition used by the pipeline.",
            "nullable": true
          },
          "steps": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/StepDto"
            },
            "description": "A map of Step to update the pipeline version.",
            "nullable": true
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {},
            "description": "A map of objects containing arbitrary metadata to update the pipeline version.",
            "nullable": true
          },
          "storages": {
            "type": "array",
            "items": {
              "oneOf": [
                {
                  "$ref": "#/components/schemas/PipelineDiskStorageDto"
                }
              ],
              "description": "The Pipeline Storage Dto"
            },
            "description": "List of pipeline storages used by the pipeline version.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters required to update a pipeline version."
      },
      "UserGroupPermissionsDto": {
        "type": "object",
        "properties": {
          "allowedUsers": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of user IDs allowed to resume the workflow. null or []→ Valid (no restrictions), [\"userid\"] → Valid (has entries)",
            "nullable": true
          },
          "allowedGroups": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "description": "List of group IDs allowed to resume the workflow. null or []→ Valid (no restrictions), [\"groupid\"] → Valid (has entries)",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "Permissions for resuming a suspended workflow."
      },
      "UserSuppliedApprovalDto": {
        "type": "object",
        "properties": {
          "approved": {
            "type": "boolean",
            "description": "Whether the user approved (true), rejected (false), or hasn't decided (null)"
          },
          "comment": {
            "type": "string",
            "description": "Optional comment from the approver",
            "nullable": true
          },
          "timestamp": {
            "type": "string",
            "description": "When the approval was provided",
            "format": "date-time"
          },
          "userId": {
            "type": "string",
            "description": "The ID of the user who provided the approval"
          }
        },
        "additionalProperties": false,
        "description": "Represents a user-supplied approval"
      },
      "UserSuppliedInputDto": {
        "type": "object",
        "properties": {
          "value": {
            "description": "The input value provided by the user",
            "nullable": true
          },
          "timestamp": {
            "type": "string",
            "description": "When the input was provided",
            "format": "date-time"
          },
          "userId": {
            "type": "string",
            "description": "The ID of the user who provided the input"
          }
        },
        "additionalProperties": false,
        "description": "Represents a user-supplied input value"
      },
      "WebhookDefinitionDto": {
        "allOf": [
          {
            "$ref": "#/components/schemas/EventDefinitionDto"
          },
          {
            "type": "object",
            "properties": {
              "url": {
                "type": "string",
                "description": "Url to subscribe to the webhook",
                "nullable": true
              },
              "headers": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Headers to include in the webhook subscribe request",
                "nullable": true
              },
              "body": {
                "type": "object",
                "additionalProperties": {},
                "description": "Body for the webhook subscribe request",
                "nullable": true
              },
              "deleteUrl": {
                "type": "string",
                "description": "Url to unsubscribe from the webhook",
                "nullable": true
              },
              "deleteBody": {
                "type": "object",
                "additionalProperties": {},
                "description": "Body for the webhook unsubscribe request",
                "nullable": true
              },
              "eventFilter": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Dictionary of key/value filters. Multiple values can be separated by |. Use * for any value",
                "nullable": true
              },
              "outputParameterMapping": {
                "type": "object",
                "additionalProperties": {
                  "type": "string"
                },
                "description": "Dictionary of event output parameter name to value. A value is either a literal or a path into the incoming payload such as {{payload.field.subfield}}. Unmapped output parameters keep their default value. Pipeline inputs reference the results as {{event.outputParameters.name}}",
                "nullable": true
              },
              "signature": {
                "$ref": "#/components/schemas/WebhookSignatureDto"
              }
            },
            "additionalProperties": false
          }
        ],
        "description": "Webhook event definition"
      },
      "WebhookSignatureAlgorithm": {
        "enum": [
          "HMACSHA256"
        ],
        "type": "string",
        "description": "Webhook signature algorithm types for validating webhook payloads."
      },
      "WebhookSignatureDto": {
        "type": "object",
        "properties": {
          "algo": {
            "$ref": "#/components/schemas/WebhookSignatureAlgorithm"
          },
          "verifyHeader": {
            "type": "string",
            "description": "The HTTP header name containing the signature to verify."
          }
        },
        "additionalProperties": false,
        "description": "Webhook signature configuration for validating incoming webhook payloads."
      },
      "WorkerCreateRequest": {
        "required": [
          "projectServiceNamespace"
        ],
        "type": "object",
        "properties": {
          "projectServiceNamespace": {
            "type": "string",
            "description": "The project service namespace. Used to form the Kubernetes namespace `ps-{ProjectServiceNamespace}`, which must be a valid\nRFC 1123 label (lowercase alphanumeric + '-', starting and ending with alphanumeric, total ≤63 chars).\nReserving 3 chars for the `ps-` prefix leaves 60 chars for the user-supplied value."
          },
          "workerPipelineId": {
            "maxLength": 36,
            "minLength": 0,
            "pattern": "^(\\s*|[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12})$",
            "type": "string",
            "description": "Optional, override the default pipeline id to run. Typed as a string rather than `Guid?` so a cleared\nfield (empty or whitespace) can be sent without `System.Text.Json` rejecting it at deserialization —\nthe request-model validator never sees a JSON error. A blank value falls back to the configured default; any\nother value must be a Guid in the standard 8-4-4-4-12 hex format, otherwise the request is rejected with 400.",
            "nullable": true
          },
          "workerPipelineVersion": {
            "type": "string",
            "description": "Optional, override the default pipeline version (format int.int.int[-rc.int] or int.int.int-sha.[7-14 chars] as a string).",
            "nullable": true
          },
          "editorVersion": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9_][a-zA-Z0-9._-]*$",
            "type": "string",
            "description": "The editor version associated with the worker.",
            "nullable": true
          },
          "editorSubVersion": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9_][a-zA-Z0-9._-]*$",
            "type": "string",
            "description": "The editor sub version associated with the worker.",
            "nullable": true
          },
          "targetPlatform": {
            "maxLength": 128,
            "minLength": 1,
            "pattern": "^[a-zA-Z0-9_][a-zA-Z0-9._-]*$",
            "type": "string",
            "description": "The target platform for the worker.",
            "nullable": true
          },
          "workerId": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string",
            "description": "Optional caller-supplied worker identifier (e.g. Project Service's own worker name). Stamped on the job as\nsystem metadata so the caller can correlate its own worker record with the UPA job; the automation service does\nnot interpret it. When omitted, only the returned Unity.Cloud.Automation.Models.ProjectService.WorkerDto.JobId correlates the two.",
            "nullable": true
          },
          "apiEndpoint": {
            "maxLength": 2048,
            "minLength": 1,
            "pattern": "^wss?://\\S+$",
            "type": "string",
            "description": "Optional. The Project Service WebSocket address the worker must dial back to, forwarded to the worker pipeline\nunmodified as the `apiEndpoint` input so the pipeline can set it as the worker's PS endpoint. The worker\nappends its own path and query, so the value is passed through exactly as supplied. When omitted, no endpoint is\nforwarded and the worker takes whatever its image is configured with.",
            "nullable": true
          },
          "ottoVersion": {
            "maxLength": 128,
            "minLength": 0,
            "pattern": "^(\\s*|[a-zA-Z0-9_][a-zA-Z0-9._-]*)$",
            "type": "string",
            "description": "Optional exact version of the Project Service bootstrap tool to fetch for this launch, bypassing the pointer\nlookup — set it to pin or roll back a single worker. The version is always passed explicitly to\n`dotnet tool install`, whether pinned here or resolved from the pointer: SemVer orders the\n`-g{shortsha}` prerelease suffixes alphabetically, so the feed's notion of \"latest\" is meaningless. When\nomitted the `artifactory-init` container resolves the version from the repository's pointer file, which is\nhow every launch behaves by default.",
            "nullable": true
          }
        },
        "additionalProperties": false,
        "description": "An object containing the parameters required to create a project service."
      }
    },
    "securitySchemes": {
      "Client": {
        "type": "http",
        "description": "To get started with Authentication, please visit the [Client Authentication section](https://services.docs.unity.com/docs/client-auth).",
        "scheme": "bearer"
      },
      "ServiceAccount": {
        "type": "http",
        "description": "To get started with Authentication, please visit the\n[Service Account Authentication section](https://services.docs.unity.com/docs/service-account-auth).\nWhen using a Service Account, these APIs require exchanging Service Account credentials for\nan access token, please see the section about the\n[Token Exchange API](https://services.docs.unity.com/docs/service-account-auth/index.html#extra-step-use-the-token-exchange-api).",
        "scheme": "basic"
      }
    }
  },
  "security": [
    {
      "Client": [
        "Client"
      ]
    },
    {
      "ServiceAccount": [
        "ServiceAccount"
      ]
    }
  ],
  "tags": [
    {
      "name": "App",
      "description": "Manages automation apps"
    },
    {
      "name": "Automation",
      "description": "Manages automations"
    },
    {
      "name": "Bot",
      "description": "Manages automation bots"
    },
    {
      "name": "Configuration",
      "description": "Get automation configurations"
    },
    {
      "name": "Jobs",
      "description": "Manages jobs"
    },
    {
      "name": "Logs",
      "description": "Get logs for a job"
    },
    {
      "name": "Pipeline",
      "description": "Manages automation pipelines"
    },
    {
      "name": "PipelineTemplate",
      "description": "Manages automation pipeline templates"
    },
    {
      "name": "ProjectServicePipeline",
      "description": "Manages project setting"
    }
  ]
}
```