{
  "openapi": "3.1.0",
  "info": {
    "title": "Bundle Service APIs",
    "description": "OpenAPI v3 specification for Bundle Service. Build time 2026-01-06T10:00:35.213Z\u003Cbr\u003E\u003Cbr\u003ETo execute the Bundle Service APIs, you always need to provide some authentication to the Boomi platform, either via API Key or JWT.\u003Cbr\u003E\u003Cbr\u003EThere are these three types of authentication schemes:\u003Cbr\u003E\u003Col\u003E**\u003Cli\u003EBoomi-Platform-API-Key  (http, Basic)\u003C/li\u003E**\u003Cbr\u003E**\u003Cli\u003EBoomi-Platform-JWT  (http, Bearer)\u003C/li\u003E**\u003Cbr\u003E**\u003Cli\u003EBoomi-Flow-API-Key (apiKey)\u003C/li\u003E**\u003C/ol\u003E**Note:** You only need to provide Flow authentication if the endpoint call specifically refers to Flow. If you need Flow authentication, you must provide \u003Cbr\u003Ea Flow API key or a Platform JWT. If using JWT for Flow authentication, your Flow account’s email address must match your Platform account’s \u003Cbr\u003Eemail address.\u003Cbr\u003E\u003Cbr\u003EClick on the **Authorize** button below to learn more about each authentication scheme and authorize with your authorization credentials.",
    "license": {
      "name": "Copyright © 2026 Boomi, LP."
    },
    "version": "1.84"
  },
  "servers": [
    {
      "url": "https://api.boomi.com/bundle-service",
      "description": "US"
    },
    {
      "url": "https://api.platform.gb.boomi.com/bundle-service",
      "description": "GB"
    }
  ],
  "security": [
    {
      "Boomi-Platform-JWT": [],
      "Boomi-Platform-API-Key": [],
      "Boomi-Flow-API-Key": []
    }
  ],
  "tags": [
    {
      "name": "MarketplaceMetricsController",
      "description": "Marketplace metrics"
    },
    {
      "name": "ServiceConfig",
      "description": "Configure a service"
    },
    {
      "name": "InstallBundleController",
      "description": "Install Bundle service"
    },
    {
      "name": "BundleController",
      "description": "Bundle Service"
    }
  ],
  "paths": {
    "/v1/bundles/{id}": {
      "get": {
        "tags": [
          "BundleController"
        ],
        "summary": "Get a bundle by Id",
        "description": "This endpoint returns a BundleDto JSON object describing the specified bundle.\u003Cbr\u003E\u003Cbr\u003E**Note:** This endpoint returns 404 (Not Found) error if the request is made by a non-bundle owner and a.) if the bundle is not public and b. if the bundle is not shared with the requestor's account",
        "operationId": "get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Bundle id for which bundle object will be retrieved",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "responses": {
          "400": {
            "description": "400 (Bad Request): One or more specified input fields are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "00dbd1899ffe43d38841931034a43639",
                  "data": [],
                  "resultString": "Invalid input.",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "9ef09fb863924bb4a487bdb6440e5d53",
                  "data": [],
                  "resultString": "Full authentication is required to access this resource",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): Bundle is fetched successfully.\u003Cbr\u003EownerAccountId, createdBy and modifiedBy will have values null if request has been made by non-owner of bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataResult"
                },
                "example": {
                  "resultCode": "OK",
                  "resultSubCode": "",
                  "serviceTransactionId": "30604055b65640fb830521209d8e6cd9",
                  "data": {
                    "bundleId": "fa1c8156-43ed-4371-9c51-c494131883e9",
                    "name": "Boomi-Internal 1",
                    "description": "",
                    "ownerAccountId": "boomi-internal",
                    "sharingMode": "PUBLIC",
                    "createdBy": "email@boomi.com",
                    "createdDate": "2023-01-30T19:15:32.000Z",
                    "modifiedBy": "email@boomi.com",
                    "modifiedDate": "2023-03-01T16:49:29.000Z"
                  }
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID couldn't be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "NOT_FOUND",
                  "resultSubCode": "",
                  "serviceTransactionId": "9b7c73f0767142ff875fb691bc7d7a3c",
                  "data": [],
                  "resultString": "NOT_FOUND: Operation can't be completed because the requested bundle ID couldn't be found:",
                  "total": 0
                }
              }
            }
          }
        }
      },
      "put": {
        "tags": [
          "BundleController"
        ],
        "summary": "Update a bundle by id",
        "description": "This endpoint will let you update the attributes of the bundle corresponding the the specified bundle id.\u003Cbr\u003E\u003Cbr\u003E**Note:**\u003Cul\u003E\u003Cli\u003EOnly Users with access to Bundle Owner Account can update the Bundle.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003E```\"description\"``` field in the JSON request body is optional.\u003C/li\u003E\u003C/ul\u003E\u003Cbr\u003E**Example Request Body:**\u003Cbr\u003E\u003Cbr\u003E```{```\u003Cbr\u003E```  \"name\": \"New Bundle Name\",```\u003Cbr\u003E```  \"description\": \"bundle description\"```\u003Cbr\u003E```}```\u003Cbr\u003E",
        "operationId": "update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Bundle id for which bundle object will be updated",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BundleDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "400 (Bad Request): If the provided JSON request body is invalid (\"name\" key-value is empty or missing from the JSON request body).\" \n\n 400 (Validation error): If the Publisher is not set and the requested sharingMode is not equal to SharingMode.PRIVATE",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "examples": {
                  "Name is blank": {
                    "description": "Name is blank",
                    "value": {
                      "resultCode": "VALIDATION_ERROR",
                      "resultSubCode": "",
                      "serviceTransactionId": "00dbd1899ffe43d38841931034a43639",
                      "data": [],
                      "resultString": "name must not be blank",
                      "total": 0
                    }
                  },
                  "Publisher not set": {
                    "description": "Publisher not set",
                    "value": {
                      "resultCode": "VALIDATION_ERROR",
                      "resultSubCode": "",
                      "serviceTransactionId": "00dbd1899ffe43d38841931034a43639",
                      "data": [],
                      "resultString": "Publisher is not set ",
                      "total": 0
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested bundle or account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "e685f13bf3474891a5062792fed0cb4a",
                  "data": [],
                  "resultString": "RESTRICTED: Only Users with access to Bundle Owner Account can update or delete the Bundle",
                  "total": 0
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID couldn't be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "NOT_FOUND",
                  "resultSubCode": "",
                  "serviceTransactionId": "9b7c73f0767142ff875fb691bc7d7a3c",
                  "data": [],
                  "resultString": "NOT_FOUND: Operation can't be completed because the requested bundle ID couldn't be found:",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): Bundle name and/or description is updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataResult"
                },
                "example": {
                  "resultCode": "OK",
                  "resultSubCode": "",
                  "serviceTransactionId": "30604055b65640fb830521209d8e6cd9",
                  "data": {
                    "bundleId": "fa1c8156-43ed-4371-9c51-c494131883e9",
                    "name": "Boomi-Internal 1",
                    "description": "",
                    "ownerAccountId": "boomi-internal",
                    "sharingMode": "PUBLIC",
                    "createdBy": "email@boomi.com",
                    "createdDate": "2023-01-30T19:15:32.000Z",
                    "modifiedBy": "email@boomi.com",
                    "modifiedDate": "2023-03-01T16:49:29.000Z"
                  }
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "BundleController"
        ],
        "summary": "Delete a bundle by id",
        "description": "This endpoint will delete the bundle with the specified bundle id. **Note:** Only users with access to Bundle Owner account can delete the bundle.",
        "operationId": "deleteBundle",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Bundle id for which bundle object will be deleted",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "responses": {
          "400": {
            "description": "400 (Bad Request): One or more specified input fields are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "00dbd1899ffe43d38841931034a43639",
                  "data": [],
                  "resultString": "Invalid input.",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested bundle or account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "e685f13bf3474891a5062792fed0cb4a",
                  "data": [],
                  "resultString": "RESTRICTED: Only Users with access to Bundle Owner Account can update or delete the Bundle",
                  "total": 0
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID couldn't be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "NOT_FOUND",
                  "resultSubCode": "",
                  "serviceTransactionId": "c29eaa8162c54b23b145b4ce9b95e937",
                  "data": [],
                  "resultString": "NOT_FOUND: requested bundle id is not found, hence nothing to delete",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): Bundle deleted successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataResult"
                },
                "example": {
                  "resultCode": "OK",
                  "resultSubCode": "",
                  "serviceTransactionId": "05a45b6f72f240668226caa0b4b57a8d",
                  "data": null
                }
              }
            }
          }
        }
      }
    },
    "/v1/bundles": {
      "get": {
        "tags": [
          "BundleController"
        ],
        "summary": "Get all bundles",
        "description": "This endpoint returns a list of bundles accessible to the user's authenticated account.    This will include:\n\u003Col\u003E    \u003Cli\u003Ebundles that are created by the logged-in user's account\u003C/li\u003E\n    \u003Cli\u003Ebundles that are shared with the logged-in user's account. These shared bundles will have a sharingMode other than PRIVATE\u003C/li\u003E\u003C/ol\u003E",
        "operationId": "getAll",
        "parameters": [
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "responses": {
          "400": {
            "description": "400 (Bad Request): One or more specified input fields are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "00dbd1899ffe43d38841931034a43639",
                  "data": [],
                  "resultString": "Invalid input.",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "65297949b34e4950be44ec76147ff026",
                  "data": [],
                  "resultString": "RESTRICTED: \u003C?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003E\u003CUserMessage type=\"error\" id=\"error.user.auth\"\u003E\u003CData\u003EAuthentication failed. Please verify your credentials and try again.\u003C/Data\u003E\u003C/UserMessage\u003E",
                  "total": 0
                }
              }
            }
          },
          "default": {
            "description": "default response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BundleDto"
                  }
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): All the bundles are fetched successfully.\u003Cbr\u003EownerAccountId, createdBy and modifiedBy will have values null if request has been made by non-owner of bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResult"
                },
                "example": {
                  "resultCode": "OK",
                  "resultSubCode": "",
                  "serviceTransactionId": "4dee181ef2b940d091ebebde197649db",
                  "data": [
                    {
                      "bundleId": "f5b6727a-23be-458e-8ee8-212046eee0c0",
                      "name": "Bundle 1",
                      "description": "Details",
                      "ownerAccountId": "petersullivan-4BQCPN",
                      "sharingMode": "PUBLIC",
                      "createdBy": "email@boomi.com",
                      "createdDate": "2023-01-11T21:42:23.000Z",
                      "modifiedBy": "email@boomi.com",
                      "modifiedDate": "2023-02-27T15:45:51.000Z"
                    },
                    {
                      "bundleId": "e54f3239-38eb-4be8-bbc0-d437e7c82431",
                      "name": "Bundle 2",
                      "description": "",
                      "ownerAccountId": "petersullivan-4BQCPN",
                      "sharingMode": "PRIVATE",
                      "createdBy": "email@boomi.com",
                      "createdDate": "2023-01-27T15:18:04.000Z",
                      "modifiedBy": "email@boomi.com",
                      "modifiedDate": "2023-02-10T20:24:28.000Z"
                    }
                  ],
                  "total": 2
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "BundleController"
        ],
        "summary": "Create collection of bundles",
        "description": "This endpoint will let you create one or more bundles represented in the request body in the authenticated account.\u003Cbr\u003E\u003Cbr\u003E**Note:** ```name``` field in the JSON request body is mandatory.\u003Cbr\u003E\u003Cbr\u003E**Request Body Example:**\u003Cbr\u003E\u003Cbr\u003E```[```\u003Cbr\u003E```  {```\u003Cbr\u003E```    \"name\": \"Bundle 1\",```\u003Cbr\u003E```    \"description\": \"Bundle 1 details\"```\u003Cbr\u003E```  },```\u003Cbr\u003E```  {```\u003Cbr\u003E```    \"name\": \"Bundle 2\"```\u003Cbr\u003E```  }```\u003Cbr\u003E```]```\u003Cbr\u003E",
        "operationId": "create",
        "parameters": [
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "description": "List of bundles to be created",
                "items": {
                  "$ref": "#/components/schemas/BundleDto"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "400 (Bad Request): If the provided JSON request body is empty or invalid (\"name\" key-value is empty or missing from the JSON request body).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "examples": {
                  "Publisher not set": {
                    "description": "Publisher not set",
                    "value": {
                      "resultCode": "VALIDATION_ERROR",
                      "resultSubCode": "",
                      "serviceTransactionId": "00dbd1899ffe43d38841931034a43639",
                      "data": [],
                      "resultString": "Publisher name not set for account johnmyer-QBCH",
                      "total": 0
                    }
                  },
                  "Invalid JSON input": {
                    "description": "Invalid JSON input",
                    "value": {
                      "resultCode": "VALIDATION_ERROR",
                      "resultSubCode": "",
                      "serviceTransactionId": "21a8f44ab1284a63997b5f93edeafc3b",
                      "data": [],
                      "resultString": "Either the input is empty or the JSON is invalid",
                      "total": 0
                    }
                  }
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested bundle or account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "649b02a661a248ecb287bdb81f08279b",
                  "data": [],
                  "resultString": "RESTRICTED: \u003C?xml version=\"1.0\" encoding=\"UTF-8\" standalone=\"yes\"?\u003E\u003CUserMessage type=\"error\" id=\"error.user.auth\"\u003E\u003CData\u003EAuthentication failed. Please verify your credentials and try again.\u003C/Data\u003E\u003C/UserMessage\u003E",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): One or more bundles are created successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResult"
                },
                "example": {
                  "resultCode": "OK",
                  "resultSubCode": "",
                  "serviceTransactionId": "6e21ca58c13c4cb5bb1ab9a8e674f337",
                  "data": [
                    {
                      "bundleId": "10e105db-c6a1-4e3f-a914-1f04d08b1dfb",
                      "name": "Bundle 1",
                      "description": "Bundle 1 details",
                      "ownerAccountId": "johnmyer-QBCH",
                      "sharingMode": "PRIVATE",
                      "createdBy": "email@boomi.com",
                      "createdDate": "2023-03-07T21:04:56.000Z",
                      "modifiedBy": "email@boomi.com",
                      "modifiedDate": "2023-03-07T21:04:56.000Z"
                    },
                    {
                      "bundleId": "9c310d28-6d08-4e63-a2c3-5cbe42f9a40f",
                      "name": "Bundle 2",
                      "description": null,
                      "ownerAccountId": "johnmyer-QBCH",
                      "sharingMode": "PRIVATE",
                      "createdBy": "email@boomi.com",
                      "createdDate": "2023-03-07T21:04:56.000Z",
                      "modifiedBy": "email@boomi.com",
                      "modifiedDate": "2023-03-07T21:04:56.000Z"
                    }
                  ],
                  "total": 2
                }
              }
            }
          }
        }
      }
    },
    "/v1/bundles/{id}/artifacts": {
      "post": {
        "tags": [
          "BundleController"
        ],
        "summary": "Add artifacts to a bundle",
        "description": "This endpoint will let you add the artifacts to a bundle when its *bundleId*, *accountId* and the JSON request body for the artifact are provided.\u003Cbr\u003E\u003Cul\u003E\u003Cli\u003EFor adding artifacts of type ```FLOW```, ```PACKAGED_COMPONENT```, or ```API_SERVICE```, set the *artifactType* field in the JSON to *\"FLOW\"*, *\"PACKAGED_COMPONENT\"*, or *\"API_SERVICE\"* and set the *artifactInternalId* field in the JSON to the component Id for a Packaged Component or API Service, or the FlowId for a Flow.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003EFor adding artifacts of type ```SUPPORTING```, set the *artifactType* field in the JSON to *\"SUPPORTING\"* and set the *artifactInternalId* field in the JSON to any unique string value w.r.t. the other artifacts in this bundle.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003ESet the *artifactName* JSON field to any non-empty string value.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003ESet the other JSON fields per your requirements and execute the request.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003EThe *artifactMetadata* field allows users to specify arbitrary key/value pairs associated with this artifact that might be useful for an API client. Uploading a file to this SUPPORTING artifact will automatically add key/value pairs for filename and mimeType. The *artifactMetadata* field is optional.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003EThe *manywhotenant* is the source tenant of a FLOW artifact. It only needs to be specified if one of the added artifacts is of type FLOW and JWT authentication is used. There no need to specify it if you are using a Flow API key to authenticate as the source tenant will be determined from the API key.\u003C/li\u003E\u003C/ul\u003E\u003Cbr\u003E**Request Body Example:**\u003Cbr\u003E\u003Cbr\u003E```[```\u003Cbr\u003E```    {```\u003Cbr\u003E```        \"artifactType\": \"SUPPORTING\",```\u003Cbr\u003E```        \"artifactInternalId\": \"d2964dcc-80b0-4d97-8ce1-921913e5327c\",```\u003Cbr\u003E```        \"artifactInternalVersion\": \"1.0\",```\u003Cbr\u003E```        \"artifactDescription\": \"Build script\",```\u003Cbr\u003E```        \"artifactName\": \"Script File\",```\u003Cbr\u003E```        \"artifactMetadata\": {```\u003Cbr\u003E```            \"customAttribute\": \"attributeValue\"```\u003Cbr\u003E```        },```\u003Cbr\u003E```        \"associatedSupportingMaterial\": {```\u003Cbr\u003E```            \"documentName\": \"Help document\",```\u003Cbr\u003E```            \"documentDescription\": \"This document contains the steps to install and use the Designer Agent.\"```\u003Cbr\u003E```        }```\u003Cbr\u003E```    }```\u003Cbr\u003E```]```\u003Cbr\u003E",
        "operationId": "createArtifact",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "description": "Bundle id of bundle to which artifacts will be added",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "manywhotenant",
            "in": "header",
            "schema": {
              "description": "The tenant ID value that the Flow API key is associated with"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ArtifactDto"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "400 (Bad Request): If the requested artifact Id is invalid or already present in the mentioned bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "fe6e2796c3bf47c1b1c074cba3829189",
                  "data": [],
                  "resultString": "VALIDATION_ERROR: Unable to find a packaged component with the specified ID in the specified account",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "9ef09fb863924bb4a487bdb6440e5d53",
                  "data": [],
                  "resultString": "Full authentication is required to access this resource",
                  "total": 0
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID couldn't be found or the user is restricted to access the requested bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "NOT_FOUND",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "NOT_FOUND: Operation can't be completed because the requested bundle ID couldn't be found",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): Artifact(s) are added to the bundle successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResult"
                },
                "example": {
                  "resultCode": "OK",
                  "resultSubCode": "",
                  "serviceTransactionId": "02dbfdd4530b4f5ca5ba9a162ce19962",
                  "data": [
                    {
                      "artifactId": "4b5db74f-dbb1-4116-a755-890603bc1aaa",
                      "artifactType": "SUPPORTING",
                      "artifactInternalId": "b45befcf-7ef9-41c4-ac68-5407b8462d0e",
                      "artifactInternalVersion": "string",
                      "artifactDescription": "string",
                      "createdBy": "email@boomi.com",
                      "createdDate": "2023-02-23T21:29:23.000Z",
                      "modifiedBy": "email@boomi.com",
                      "modifiedDate": "2023-02-23T21:29:23.000Z",
                      "serviceType": "NONE",
                      "artifactMetadata": null
                    }
                  ],
                  "total": 1
                }
              }
            }
          }
        }
      }
    },
    "/v1/bundles/{bundleId}/sharingTargets": {
      "get": {
        "tags": [
          "BundleController"
        ],
        "summary": "Get sharing targets for a bundle",
        "description": "This endpoint returns a list of sharing targets for a bundle when its *bundleId* and *accountId* are specified.\u003Cbr\u003E\u003Cbr\u003EThe intended purpose of this feature is to share a bundle with the specified AtomSphere Accounts. A ```sharing target``` can be an AtomSphere account that you want to share your bundle with.\u003Cbr\u003ECurrently, ```ATOMSPHERE_ACCOUNT_ID``` is the only supported sharing target type.",
        "operationId": "getBundleSharingTargets",
        "parameters": [
          {
            "name": "bundleId",
            "in": "path",
            "description": "Bundle id for which sharing targets will be retrieved",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "responses": {
          "400": {
            "description": "400 (Bad Request): One or more specified input fields are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "00dbd1899ffe43d38841931034a43639",
                  "data": [],
                  "resultString": "Invalid input.",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "9ef09fb863924bb4a487bdb6440e5d53",
                  "data": [],
                  "resultString": "Full authentication is required to access this resource",
                  "total": 0
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID couldn't be found or the request has been made by a non-bundle owner.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "NOT_FOUND",
                  "resultSubCode": "",
                  "serviceTransactionId": "26cf34fb84b24a21a589255bcb3e5d29",
                  "data": [],
                  "resultString": "NOT_FOUND: Operation can't be completed because the requested bundle ID couldn't be found: t",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): All the sharing targets belonging the given bundle are fetched successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResult"
                },
                "example": {
                  "resultCode": "OK",
                  "resultSubCode": "",
                  "serviceTransactionId": "3011cf753d5348409a2200f0e84eed93",
                  "data": [
                    {
                      "sharingTargetId": "ee5c77c5-50db-4497-a8d5-30c3b611c059",
                      "sharingTargetType": "ATOMSPHERE_ACCOUNT_ID",
                      "internalId": "AJ Sharing Target ID"
                    },
                    {
                      "sharingTargetId": "8ba72eda-2b2a-4082-86af-7b7f841f4e6b",
                      "sharingTargetType": "ATOMSPHERE_ACCOUNT_ID",
                      "internalId": "Sharing Target ID 2"
                    }
                  ],
                  "total": 2
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "BundleController"
        ],
        "summary": "Add sharing targets to a bundle",
        "description": "This endpoint will let you add the sharing target account details to the bundle with the specified *bundleId* and *accountId*.\u003Cbr\u003E\u003Cbr\u003EThe intended purpose of this feature is to share a bundle with the specified AtomSphere Accounts. A ```sharing target``` can be an AtomSphere account that you want to share your bundle with.\u003Cbr\u003ECurrently, ```ATOMSPHERE_ACCOUNT_ID``` is the only supported *sharingTargetType* and *internalId* can be any non-empty string that is an AtomSphere Account Id.\u003Cbr\u003E\u003Cbr\u003E**Note:** This endpoint returns 200 OK even if all the sharing targets specified in the JSON request body already exist in the given Bundle. This endpoint avoids duplicates. Only new sharing targets will be added to the given Bundle.\u003Cbr\u003E\u003Cbr\u003E**Request Body Example:**\u003Cbr\u003E\u003Cbr\u003E```[```\u003Cbr\u003E```  {```\u003Cbr\u003E```    \"sharingTargetType\": \"ATOMSPHERE_ACCOUNT_ID\",```\u003Cbr\u003E```    \"internalId\": \"johnmyer-QBCH\"```\u003Cbr\u003E```  },```\u003Cbr\u003E```  {```\u003Cbr\u003E```    \"sharingTargetType\": \"ATOMSPHERE_ACCOUNT_ID\",```\u003Cbr\u003E```    \"internalId\": \"petersullivan-AB5TG\"```\u003Cbr\u003E```  }```\u003Cbr\u003E```]```\u003Cbr\u003E",
        "operationId": "createSharingTarget",
        "parameters": [
          {
            "name": "bundleId",
            "in": "path",
            "description": "Bundle id of bundle to which sharing targets will be added",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/SharingTargetDto"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "400 (Bad Request): If the provided JSON request body is empty or invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "653490c1fbc94cc5b6bbbad4bbaf4aaf",
                  "data": [],
                  "resultString": "Either the input is empty or the JSON is invalid",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "9ef09fb863924bb4a487bdb6440e5d53",
                  "data": [],
                  "resultString": "Full authentication is required to access this resource",
                  "total": 0
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID couldn't be found or the user is restricted to access the requested bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "NOT_FOUND",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "NOT_FOUND: The requested bundle ID couldn't be found",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): The specified sharing targets are added to the bundle successfully. Both the new and the existing sharing targets associated with the Bundle are returned.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataResult"
                },
                "example": {
                  "resultCode": "OK",
                  "resultSubCode": "",
                  "serviceTransactionId": "fdb25f50d54e480ba21b5fe35cc0e9c9",
                  "data": [
                    {
                      "sharingTargetId": "1dade584-cb53-4538-9234-1429499aeefb",
                      "sharingTargetType": "ATOMSPHERE_ACCOUNT_ID",
                      "internalId": "bacef3dc-2009-4249-ae5d-d3c6ae7d3e73",
                      "createdBy": "admin@boomi.com",
                      "createdDate": "2023-05-04T14:49:08.000Z"
                    },
                    {
                      "sharingTargetId": "3d3de584-fb53-7538-4234-3229499aeedj",
                      "sharingTargetType": "ATOMSPHERE_ACCOUNT_ID",
                      "internalId": "zaeef3dc-0009-7249-ah5d-h2c6ae7d3e65",
                      "createdBy": "admin@boomi.com",
                      "createdDate": "2023-05-04T14:50:10.000Z"
                    }
                  ]
                }
              }
            }
          }
        }
      }
    },
    "/v1/bundles/{bundleId}/artifacts/{artifactId}": {
      "get": {
        "tags": [
          "BundleController"
        ],
        "summary": "Download supporting material for a supporting artifact in a bundle",
        "description": "This endpoint will return the uploaded file associated with the specified ```SUPPORTING``` artifact. If no file has been uploaded, the endpoint will return 404 NOT_FOUND.\u003Cbr\u003E\u003Cbr\u003E*NOTE:* You can download the artifacts of type ```SUPPORTING``` only. Artifacts of type ```FLOW```, ```PACKAGED_COMPONENT```, and ```API_SERVICE``` cannot be downloaded.",
        "operationId": "getSupportingMaterialInArtifact",
        "parameters": [
          {
            "name": "bundleId",
            "in": "path",
            "description": "Bundle id containing supporting artifact",
            "required": true,
            "deprecated": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "artifactId",
            "in": "path",
            "description": "Artifact id to download supporting materials",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "responses": {
          "400": {
            "description": "400 (Bad Request): Specified artifact Id is not a member of the given bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "c69fb8406efc4f1ea1fd66a1eaa93d76",
                  "data": [],
                  "resultString": "VALIDATION_ERROR: Specified artifact is not a member of bundle",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "9ef09fb863924bb4a487bdb6440e5d53",
                  "data": [],
                  "resultString": "Full authentication is required to access this resource",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK) response code is returned when the supporting material file is downloaded successfully.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/StreamingResponseBody"
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID or artifact ID couldn't be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "NOT_FOUND",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "NOT_FOUND: The requested bundle ID couldn't be ",
                  "total": 0
                }
              }
            }
          }
        },
        "deprecated": true
      },
      "post": {
        "tags": [
          "BundleController"
        ],
        "summary": "Upload supporting materials for a supporting artifact in a bundle",
        "description": "This endpoint will let you upload a file to be associated with a ```SUPPORTING``` type artifact. You must specify the bundle id and the artifact id of the artifact.\u003Cbr\u003E\u003Cbr\u003E**NOTE:** \u003Cul\u003E\u003Cli\u003EYou can upload the artifacts of type ```SUPPORTING``` only. Artifacts of type ```FLOW```, ```PACKAGED_COMPONENT```, and ```API_SERVICE``` cannot be uploaded.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003EYou can only upload one file to each SUPPORTING artifact. If you want to upload more than one file for a bundle, create multiple SUPPORTING artifacts.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003EIf uploading the file using Swagger, you just need to click the \"Choose File\" button below and select the file you want to upload.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003EIf uploading using the API directly, your payload must be formatted as multipart/form-data. An example of this looks as follows:\u003Cbr\u003E\u003Cbr\u003E```--boundary--```\u003Cbr\u003E```Content-Disposition: form-data; name=\"file\"; filename=\"myfile.txt\"```\u003Cbr\u003E```Content-Type: text/plain```\u003Cbr\u003E\u003Cbr\u003E```This is the contents of the file ```\u003Cbr\u003E```named myfile.txt.```\u003Cbr\u003E```--boundary--```\u003Cbr\u003E\u003C/li\u003E\u003C/ul\u003E**Steps to upload a SUPPORTING type artifact:**\u003Cbr\u003E\u003Col\u003E\u003Cli\u003EExecute the *'Add artifacts to a Bundle'* POST request.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003EExecute this endpoint with the artifactId returned from the step above along with its bundleId.\u003C/li\u003E\u003C/ol\u003E",
        "operationId": "uploadSupportingMaterialInArtifact",
        "parameters": [
          {
            "name": "bundleId",
            "in": "path",
            "description": "Bundle id containing supporting artifact",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "artifactId",
            "in": "path",
            "description": "Artifact id to upload supporting materials",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary",
                    "description": "Supporting material to upload"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "400": {
            "description": "400 (Bad Request): Specified artifact Id is not a member of the given bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "c69fb8406efc4f1ea1fd66a1eaa93d76",
                  "data": [],
                  "resultString": "VALIDATION_ERROR: Specified artifact is not a member of bundle",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "9ef09fb863924bb4a487bdb6440e5d53",
                  "data": [],
                  "resultString": "Full authentication is required to access this resource",
                  "total": 0
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID or artifact ID couldn't be found or the user is restricted to access the requested bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "NOT_FOUND",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "NOT_FOUND: The requested bundle ID couldn't be ",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): The supporting material file is uploaded to the artifact successfully.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DataResultString"
                }
              }
            }
          }
        }
      },
      "delete": {
        "tags": [
          "BundleController"
        ],
        "summary": "Remove an artifact from a bundle",
        "description": "This endpoint removes the artifact from a bundle when its *artifactId*, *bundleId* and *accountId* are specified. For artifacts that have associated data such as SUPPORTING artifacts, that data is also deleted.",
        "operationId": "deleteArtifact",
        "parameters": [
          {
            "name": "bundleId",
            "in": "path",
            "description": "Bundle id of bundle from which artifacts will be removed",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "artifactId",
            "in": "path",
            "description": "Artifact id to delete from bundle",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "responses": {
          "400": {
            "description": "400 (Bad Request): Specified artifact Id is not a member of the given bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "c69fb8406efc4f1ea1fd66a1eaa93d76",
                  "data": [],
                  "resultString": "VALIDATION_ERROR: Specified artifact is not a member of bundle",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "9ef09fb863924bb4a487bdb6440e5d53",
                  "data": [],
                  "resultString": "Full authentication is required to access this resource",
                  "total": 0
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID or artifact ID couldn't be found or the user is restricted to access the requested bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "NOT_FOUND",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "NOT_FOUND: The requested bundle ID couldn't be ",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): The specified artifact is removed from the bundle successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataResult"
                },
                "example": {
                  "resultCode": "OK",
                  "resultSubCode": "",
                  "serviceTransactionId": "7641b5a696dd49c49d8b70af563e27fa",
                  "data": {
                    "bundleId": "fa1c8156-43ed-4371-9c51-c494131883e9",
                    "name": "accName",
                    "description": "",
                    "ownerAccountId": "account",
                    "sharingMode": "PRIVATE",
                    "createdBy": "email@boomi.com",
                    "createdDate": "2023-01-30T19:15:32.000Z",
                    "modifiedBy": "email@boomi.com",
                    "modifiedDate": "2023-02-24T14:41:52.000Z"
                  }
                }
              }
            }
          }
        }
      },
      "patch": {
        "tags": [
          "BundleController"
        ],
        "summary": "Update Artifact in a Bundle",
        "description": "This endpoint will let you update the artifact inside a bundle corresponding to the specified bundle id.\u003Cbr\u003E\u003Cbr\u003E**Note:**\u003Cul\u003E\u003Cli\u003EOnly Users with access to Bundle Owner Account can update the Artifact.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003E```\"name\"``` field in the JSON request body is optional.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003E```\"description\"``` field in the JSON request body is optional.\u003C/li\u003E\u003C/ul\u003E\u003Cbr\u003E**Example Request Body:**\u003Cbr\u003E\u003Cbr\u003E```{```\u003Cbr\u003E```  \"name\": \"Update Artifact Name\",```\u003Cbr\u003E```  \"description\": \"Update Artifact description\"```\u003Cbr\u003E```}```\u003Cbr\u003E",
        "operationId": "updateArtifact",
        "parameters": [
          {
            "name": "bundleId",
            "in": "path",
            "description": "Bundle id on bundle from which the artifact is to be updated",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "artifactId",
            "in": "path",
            "description": "Artifact id for which artifact object will be updated",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateArtifactDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "400 (VALIDATION_ERROR): Artifact name is not Valid. Size should be between 1 and 80, artifact name must not be empty or null if specified",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "013e523780584a9cb03ca58bf3ce0d65",
                  "data": [],
                  "resultString": "artifactName size must be between 1 and 80, artifactName must not be empty or null if specified",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "d83b7fc5643343478b2bba92a1b83a5e",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): Artifact name and/or description is updated successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataResult"
                },
                "example": {
                  "resultCode": "OK",
                  "resultSubCode": "",
                  "serviceTransactionId": "d83b7fc5643343478b2bba92a1b83a5e",
                  "data": {
                    "artifactId": "fa1c8156-43ed-4371-9c51-c494131883e9",
                    "artifactType": "PACKAGED_COMPONENT 1",
                    "artifactInternalId": "af0de9bf-1664-4a65-b4cd-31a4494202ae 1",
                    "artifactInternalVersion": "1 1",
                    "artifactDescription": "artifactDescription 1",
                    "artifactName": "artifactName 1",
                    "createdBy": "email@boomi.com",
                    "createdDate": "2023-01-30T19:15:32.000Z",
                    "modifiedBy": "email@boomi.com",
                    "modifiedDate": "2023-03-01T16:49:29.000Z",
                    "serviceType": "INTEGRATION",
                    "artifactMetadata": "null"
                  }
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID couldn't be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "NOT_FOUND",
                  "resultSubCode": "",
                  "serviceTransactionId": "3ffbc659161a470c83989532db3578f5",
                  "data": [],
                  "resultString": "NOT_FOUND: Operation can't be completed because the requested bundle ID couldn't be found:",
                  "total": 0
                }
              }
            }
          }
        }
      }
    },
    "/v1/bundles/installations": {
      "post": {
        "tags": [
          "InstallBundleController"
        ],
        "summary": "Install a Bundle",
        "description": "This API endpoint will cause the artifacts represented in a Bundle to be installed in the AtomSphere account specified in the body. Depending on the number of artifacts and the complexity \u003Cbr\u003Eof the artifacts, this endpoint might take up to a couple minutes to complete.\u003Cbr\u003E\u003Cbr\u003E**Note:**\u003Cul\u003E\u003Cli\u003EFor this endpoint, 200 (OK) response code DOES NOT necessarily mean that all artifacts in the bundle were installed successfully. 200 OK will still be returned when one or more artifacts had failures. Refer to the returned installationStatus and artifactInstallationResults to understand what succeeded and what failed:\u003Cbr\u003E\u003Cbr\u003E\u003Col\u003E\u003Cli\u003E```SUCCESS:``` Bundle installed successfully.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003E```FAILURE:``` Bundle installation failed because the JSON request body has incorrect field values or you don't have access to the targetAccountId or targetTenantId.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003E```UNDEFINED:``` Bundle installation failed because the specified bundle has artifacts of type SUPPORTING only and does not have artifacts of type PACKAGED_COMPONENT, AI_AGENT, API_SERVICE OR FLOW.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003E```PARTIAL:``` Bundle was partially installed because one or more artifacts were successfully installed while one or more artifacts failed installation.\u003C/li\u003E\u003C/ol\u003E\u003C/li\u003E\u003Cbr\u003E\u003Cbr\u003E\u003Cli\u003E```\"installErrorStrategy\"``` is currently ignored.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003EIf using a Flow API key, you don’t need to specify the ```\"targetTenantId\"``` because the tenant associated with the API key will be used.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003EWhen installing into a new tenant, only the ```\"targetFlowUserId\"``` is considered — any flow authentication otherwise provided (API Key or JWT) is ignored. This endpoint will fail with 403 (RESTRICTED) error if the specified ```\"targetFlowUserId\"``` doesn't have an existing Flow account.\u003C/li\u003E\u003Cbr\u003E\u003C/ul\u003E**Request Body Example 1 - Installing integration:**\u003Cbr\u003E```{```\u003Cbr\u003E```     \"bundleId\": \"798e093d-56ee-42ff-afba-5f2b4600c198\",```\u003Cbr\u003E```     \"targetAccountId\": \"petersullivan-P8CR2J\",```\u003Cbr\u003E```     \"folderName\": \"regression_bundle_install/install-07-03-2023-16-52\"```\u003Cbr\u003E```}```\u003Cbr\u003E\u003Cbr\u003E**Request Body Example 2 - Installing flow and integration:**\u003Cbr\u003E```{```\u003Cbr\u003E```    \"bundleId\": \"8e0c66b8-65f1-455b-869d-426538717646\",```\u003Cbr\u003E```    \"targetAccountId\": \"johnmyer-P8CR2J\",```\u003Cbr\u003E```    \"folderName\": \"regression_bundle_install/install-07-03-2023-16-53\",```\u003Cbr\u003E```    \"targetTenantId\": \"fb2b5b9e-dacb-4446-997d-9a1d609b5941\"```\u003Cbr\u003E```}```\u003Cbr\u003E\u003Cbr\u003E**Request Body Example 3 - Installing a bundle with just Flow artifacts into a new tenant:**\u003Cbr\u003E```{```\u003Cbr\u003E```    \"bundleId\": \"7db9a4d9-ce1a-4e77-9288-eca506ba9dea\",```\u003Cbr\u003E```    \"targetFlowUserId\": \"bundleuser@gmail.com\",```\u003Cbr\u003E```}```\u003Cbr\u003E\u003Cbr\u003E**Request Body Example 4 - Installing integration by folder id:**\u003Cbr\u003E```{```\u003Cbr\u003E```    \"bundleId\": \"369be27c-1614-4412-8139-a39d6801ed75\",```\u003Cbr\u003E```    \"targetAccountId\": \"kiarabishop-P8CR2J\"```\u003Cbr\u003E```    \"installErrorStrategy\": \"STOP\",```\u003Cbr\u003E```    \"folderId\": \"1008096\"```\u003Cbr\u003E```}```\u003Cbr\u003E\u003Cbr\u003E",
        "operationId": "create_1",
        "parameters": [
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/InstallBundleDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "400 (Bad Request): The supplied JSON was either invalid JSON or required fields were not provided.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "e1ce020730154065b63aa4a5dfb6e3d7",
                  "data": [],
                  "resultString": "The Bundle having ID f5b6727a-23be-458e-8ee8-212046eee0c0 has the following artifact(s) in it PACKAGED_COMPONENT,SUPPORTING. Correct the following issue(s) and try again:  You need to specify folderName AND/OR folderId",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the provided account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "c298c5a170b14a77b00b677a6e6bf293",
                  "data": [],
                  "resultString": "Full authentication is required to access this resource",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): This response code is returned due to one of the following three *\"installationStatus\"* codes:\u003Cbr\u003E\u003Col\u003E\u003Cli\u003E```SUCCESS:``` Bundle installed successfully.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003E```FAILURE:``` Bundle installation failed because the JSON request body has incorrect field values or you don't have access to the targetAccountId or targetTenantId.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003E```UNDEFINED:``` Bundle installation failed because the specified bundle has artifacts of type SUPPORTING only and does not have artifacts of type PACKAGED_COMPONENT, AI_AGENT, API_SERVICE OR FLOW.\u003C/li\u003E\u003Cbr\u003E\u003Cli\u003E```PARTIAL:``` Bundle was partially installed because one or more artifacts were successfully installed while one or more artifacts failed installation.\u003C/li\u003E\u003C/ol\u003E",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResult"
                },
                "examples": {
                  "All assets installed successfully": {
                    "description": "All assets installed successfully",
                    "value": {
                      "resultCode": "OK",
                      "resultSubCode": "",
                      "serviceTransactionId": "NR:6dbc2dc720697c2f1d47593536010cf0",
                      "data": {
                        "installationStatus": "SUCCESS",
                        "bundleId": "68ad0536-e752-4c0e-8303-74822fcb5ab0",
                        "bundleName": "Boomi Solution",
                        "targetAccountId": "Boomiqa-XWNUU2",
                        "folderName": "Boomi Solution-2023-06-22-12:53",
                        "targetTenantId": "6efff0e4-2e93-475a-94a2-a3e63593ba1d",
                        "targetFlowUserId": "first.lastname@boomi.com",
                        "targetTenantName": "BundleServiceTenant-2023-06-22.16-53",
                        "message": "Completed installation of Bundle Id 68ad0536-e752-4c0e-8303-74822fcb5ab0.",
                        "artifactInstallationResults": [
                          {
                            "installationStatus": "SUCCESS",
                            "message": "Successfully installed Flow with id 911c80d1-b043-43e5-afaa-213c738b3918",
                            "artifactType": "FLOW",
                            "artifactId": "7ed4d3f2-abc0-49b7-a03d-5a35605afe13",
                            "artifactInternalId": "911c80d1-b043-43e5-afaa-213c738b3918",
                            "artifactDescription": null,
                            "artifactName": "Flow",
                            "tenantId": "6efff0e4-2e93-475a-94a2-a3e63593ba1d",
                            "tenantName": "BundleServiceTenant-2023-06-22.16-53",
                            "flowUserId": "first.lastname@boomi.com",
                            "apiKey": null
                          },
                          {
                            "installationStatus": "SUCCESS",
                            "message": "Successfully installed Packaged Component with id: 92229731-ac4e-4b0a-aaf3-253eac472cf8 in Account: johnqa-XWNUU2",
                            "artifactType": "PACKAGED_COMPONENT",
                            "artifactId": "cb5c3839-3df9-43ec-b616-cf98aa12ac7b",
                            "artifactInternalId": "92229731-ac4e-4b0a-aaf3-253eac472cf8",
                            "artifactDescription": null,
                            "artifactName": "PC",
                            "copiedComponentId": "783e3c22-153e-49ed-8fc6-ccde7bfe2674",
                            "copiedComponentVersion": 1,
                            "folderId": "1242888",
                            "folderPath": "UserQA/Bundle-John's Integration and Flow-2023-06-22-12:53"
                          }
                        ]
                      }
                    }
                  },
                  "One or more assets failed to install": {
                    "description": "One or more assets failed to install",
                    "value": {
                      "resultCode": "OK",
                      "resultSubCode": "",
                      "serviceTransactionId": "f883c14c54ce40bc803b10ce45dc867a",
                      "data": {
                        "installationStatus": "FAILURE",
                        "bundleId": "f5b6727a-23be-458e-8ee8-212046eee0c0",
                        "bundleName": "Bundle 1",
                        "targetAccountId": "petersullivan-4BQCPN",
                        "folderName": "Bundle 1 - Test Install",
                        "targetTenantId": "6efff0e4-2e93-475a-94a2-a3e63593ba1d",
                        "targetFlowUserId": "first.lastname@boomi.com",
                        "targetTenantName": "BundleServiceTenant-2023-06-22.16-53",
                        "message": "Installation of Bundle Id f5b6727a-23be-458e-8ee8-212046eee0c0 was not completely successful.",
                        "artifactInstallationResults": [
                          {
                            "installationStatus": "SUCCESS",
                            "message": "Successfully installed Flow with id 911c80d1-b043-43e5-afaa-213c738b3918",
                            "artifactType": "FLOW",
                            "artifactId": "7ed4d3f2-abc0-49b7-a03d-5a35605afe13",
                            "artifactInternalId": "911c80d1-b043-43e5-afaa-213c738b3918",
                            "artifactDescription": null,
                            "artifactName": "Flow",
                            "tenantId": "6efff0e4-2e93-475a-94a2-a3e63593ba1d",
                            "tenantName": "BundleServiceTenant-2023-06-22.16-53",
                            "flowUserId": "first.lastname@boomi.com",
                            "apiKey": null
                          },
                          {
                            "installationStatus": "FAILURE",
                            "message": "Failure installing Packaged component with id:80905ef2-f7ae-45f2-b7e5-3c1093d5387d in Account: petersullivan-4BQCPN, VALIDATION_ERROR: You cannot install a PackagedComponent into another account.",
                            "artifactType": "PACKAGED_COMPONENT",
                            "artifactId": "33fb2bb3-bed2-4554-b843-c40985fea8f6",
                            "artifactInternalId": "80905ef2-f7ae-45f2-b7e5-3c1093d5387d",
                            "artifactDescription": "Process"
                          }
                        ]
                      }
                    }
                  },
                  "All assets failed to install": {
                    "description": "All assets failed to install",
                    "value": {
                      "resultCode": "OK",
                      "resultSubCode": "",
                      "serviceTransactionId": "NR:6dbc2dc720697c2f1d47593536010cf0",
                      "data": {
                        "installationStatus": "FAILURE",
                        "bundleId": "1549f8eb-df89-43be-ac3b-eed79fa1f5f8",
                        "bundleName": "Boomi Solution",
                        "targetAccountId": "testAccountId",
                        "folderName": "Boomi Solution-2023-06-22-12:53",
                        "targetTenantId": null,
                        "targetFlowUserId": null,
                        "targetTenantName": null,
                        "message": "Installation of Bundle Id 1549f8eb-df89-43be-ac3b-eed79fa1f5f8 was not completely successful.",
                        "artifactInstallationResults": [
                          {
                            "installationStatus": "FAILURE",
                            "message": "Failure installing Packaged component with id: af0de9bf-1664-4a65-b4cd-31a4494202ae in Account: testAccountId, VALIDATION_ERROR: The given account ID is not valid",
                            "artifactType": "PACKAGED_COMPONENT",
                            "artifactId": "022d0973-7685-406f-accc-35966ac29a46",
                            "artifactInternalId": "af0de9bf-1664-4a65-b4cd-31a4494202ae",
                            "artifactDescription": "Packaged component 1",
                            "artifactName": "Process",
                            "copiedComponentId": null,
                            "copiedComponentVersion": 0,
                            "folderId": null,
                            "folderPath": null
                          },
                          {
                            "installationStatus": "NOT_ATTEMPTED",
                            "message": "Did not attempt to install Packaged component with id d45177c4-44d3-4176-9b16-88a42c8d2622",
                            "artifactType": "PACKAGED_COMPONENT",
                            "artifactId": "50fc82b9-7072-4d09-baff-d9708bb6b910",
                            "artifactInternalId": "d45177c4-44d3-4176-9b16-88a42c8d2622",
                            "artifactDescription": "Packaged component 2",
                            "artifactName": "PC",
                            "copiedComponentId": null,
                            "copiedComponentVersion": 0,
                            "folderId": null,
                            "folderPath": null
                          }
                        ]
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    },
    "/v1/bundles/configuration/flow": {
      "post": {
        "tags": [
          "ServiceConfig"
        ],
        "summary": "Configure flow service",
        "description": "This endpoint will configure flow elements when they have been installed in the target flow or target integration folder. Enter the Boomi *accountId*, *manywhotenant* ID referencing the tenant ID value that the Flow API key is associated with and the JSON request body with the shared web server details.\u003Cbr\u003E\u003Cbr\u003ECurrently, we only support configuring flow service elements within a Flow.\u003Cbr\u003E\u003Cbr\u003E**Request Body Example:**\u003Cbr\u003E\u003Cbr\u003E```{```\u003Cbr\u003E```  \"targetFlowId\": \"16c04de5-e5ec-475d-8847-2d49d01c7abf\",```\u003Cbr\u003E```  \"sharedWebserverUrl\": \"https://webserver.boomi.com:8081/fs/SampleFlowService\",```\u003Cbr\u003E```  \"sharedWebserverUsername\": \"webserveruser\",```\u003Cbr\u003E```  \"sharedWebserverApiToken\": \"de67858e-7287-4d14-b3e3-e59cf39a9eae\"```\u003Cbr\u003E```}```\u003Cbr\u003E\u003Cbr\u003EPlease, refer to this \u003Ca href=\"https://help.boomi.com/bundle/flow/page/c-flo-AS_Example_workflow.html\" target=\"_blank\"\u003Eexample workflow\u003C/a\u003E to learn more about using Integration with Boomi Flow.",
        "operationId": "configureService",
        "parameters": [
          {
            "name": "manywhotenant",
            "in": "header",
            "description": "The tenant ID value that the Flow API key is associated with",
            "required": true,
            "schema": {

            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ServiceConfigDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "400 (Bad Request): If the provided sharedWebserverUrl or the JSON request body is invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "5bc8ab513a254ad2a4d9174119658276",
                  "data": [],
                  "resultString": "sharedWebserverUrl 'string' is an invalid url. Please specify a valid url that contains /fs",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the provided account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "9ef09fb863924bb4a487bdb6440e5d53",
                  "data": [],
                  "resultString": "Full authentication is required to access this resource",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): Flow service is configured successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResult"
                }
              }
            }
          }
        }
      }
    },
    "/v1/bundles/aggregate": {
      "post": {
        "tags": [
          "BundleController"
        ],
        "summary": "Create a bundle, add artifacts and sharing targets in one request",
        "description": "Creates a bundle, adds provided artifacts to it and adds sharing targets. This combines the behavior of create, createArtifact and createSharingTarget.",
        "operationId": "createBundleWithArtifactsAndSharingTargets",
        "parameters": [
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CreateBundleAggregateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                }
              }
            }
          },
          "200": {
            "description": "OK",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/DataResultBundleAggregateDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/marketplace/metrics": {
      "post": {
        "tags": [
          "MarketplaceMetricsController"
        ],
        "summary": "Record marketplace solution metrics",
        "description": "This endpoint records marketplace solution metrics and metadata to AWS Timestream. It captures user interactions with marketplace solutions including installs, views, etc along with associated metadata attributes.\u003Cbr\u003E\u003Cbr\u003E**Note:** The correlationId is the \"x-correlation-id\" header present in Bundle Install API response if installing a solution that contains a bundle or else a GUID.",
        "operationId": "recordMetric",
        "parameters": [
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MarketplaceMetricRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "400": {
            "description": "400 (Bad Request): Invalid request body or validation errors.",
            "content": {
              "application/json": {
                "schema": {

                },
                "example": {
                  "resultString": "solutionId must not be blank",
                  "resultCode": "VALIDATION_ERROR"
                }
              }
            }
          },
          "500": {
            "description": "500 (Internal Server Error): Error recording metric to Timestream.",
            "content": {
              "application/json": {
                "schema": {

                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultString": "Error recording metric"
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Authentication required or insufficient permissions.",
            "content": {
              "application/json": {
                "schema": {

                },
                "example": {
                  "resultString": "Access denied",
                  "resultCode": "RESTRICTED"
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): Metric recorded successfully.",
            "content": {
              "application/json": {
                "schema": {

                },
                "example": {
                  "resultCode": "OK",
                  "data": "Metric recorded successfully"
                }
              }
            }
          }
        }
      }
    },
    "/v1/bundles/{bundleId}/artifacts": {
      "get": {
        "tags": [
          "BundleController"
        ],
        "summary": "Get artifacts for a bundle",
        "description": "This endpoint returns a list of artifacts for a bundle when its *bundleId* and *accountId* are specified.",
        "operationId": "getArtifacts",
        "parameters": [
          {
            "name": "bundleId",
            "in": "path",
            "description": "Bundle id for which artifacts will be retrieved",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "responses": {
          "400": {
            "description": "400 (Bad Request): One or more specified input fields are invalid.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "00dbd1899ffe43d38841931034a43639",
                  "data": [],
                  "resultString": "Invalid input.",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "9ef09fb863924bb4a487bdb6440e5d53",
                  "data": [],
                  "resultString": "Full authentication is required to access this resource",
                  "total": 0
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID couldn't be found, or if the request is made by a non-bundle owner and a.) if the bundle is not public and b. if the bundle is not shared with the requestor's account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "NOT_FOUND",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "NOT_FOUND: The requested bundle ID couldn't be found",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): All the artifacts of the given bundle are fetched successfully.\u003Cbr\u003EcreatedBy and modifiedBy will be null if request has been made by non-owner of bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResult"
                },
                "example": {
                  "resultCode": "OK",
                  "resultSubCode": "",
                  "serviceTransactionId": "5afc8347a395429b9ac2d0994a5ea386",
                  "data": [
                    {
                      "artifactId": "0ac3b496-be61-4639-9d1e-c2ce8dca51a5",
                      "artifactType": "PACKAGED_COMPONENT",
                      "artifactInternalId": "3a0b8c1c-9aac-41bd-8f7e-ef58100104f3",
                      "artifactInternalVersion": "3.0",
                      "artifactDescription": "Process",
                      "createdBy": "email@boomi.com",
                      "createdDate": "2023-02-10T20:24:28.000Z",
                      "modifiedBy": "email@boomi.com",
                      "modifiedDate": "2023-02-10T20:24:28.000Z",
                      "serviceType": "INTEGRATION",
                      "artifactMetadata": null
                    }
                  ],
                  "total": 1
                }
              }
            }
          }
        }
      }
    },
    "/v1/bundles/{bundleId}/artifacts/{artifactId}/file": {
      "get": {
        "tags": [
          "BundleController"
        ],
        "summary": "Get downloadable material for artifact in a bundle",
        "description": "This endpoint will return downloadable file associated with the specified artifact. If no file has been uploaded, the endpoint will return 404 NOT_FOUND.\u003Cbr\u003E\u003Cbr\u003E*NOTE:* You can download the artifacts of type ```SUPPORTING, AI_AGENT``` only. Artifacts of type ```FLOW```, ```PACKAGED_COMPONENT```, and ```API_SERVICE``` cannot be downloaded.",
        "operationId": "downloadArtifact",
        "parameters": [
          {
            "name": "bundleId",
            "in": "path",
            "description": "Bundle id containing artifact",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "artifactId",
            "in": "path",
            "description": "Artifact id to download materials",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "responses": {
          "400": {
            "description": "400 (Bad Request): Specified artifact Id is not a member of the given bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "c69fb8406efc4f1ea1fd66a1eaa93d76",
                  "data": [],
                  "resultString": "VALIDATION_ERROR: Specified artifact is not a member of bundle",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "9ef09fb863924bb4a487bdb6440e5d53",
                  "data": [],
                  "resultString": "Full authentication is required to access this resource",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK) response code is returned when file associated with artifact is downloaded successfully.",
            "content": {
              "*/*": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID or artifact ID couldn't be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "NOT_FOUND",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "NOT_FOUND: The requested bundle ID couldn't be ",
                  "total": 0
                }
              }
            }
          }
        }
      }
    },
    "/v1/bundles/{bundleId}/artifacts/download": {
      "get": {
        "tags": [
          "BundleController"
        ],
        "summary": "Download bundle file artifacts as ZIP",
        "description": "Downloads file-based artifacts from a bundle as a ZIP file. This endpoint retrieves only downloadable artifact types (supporting materials, AI agent configurations, etc.) from the specified bundle and packages them into a compressed ZIP archive.",
        "operationId": "downloadMultipleSupportingMaterials",
        "parameters": [
          {
            "name": "bundleId",
            "in": "path",
            "description": "Bundle id containing supporting artifacts to download",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "responses": {
          "400": {
            "description": "400 (Bad Data): The bundle has no downloadable assets",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID couldn't be found.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): All file-based artifacts from the bundle are downloaded successfully as a ZIP file.",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/StreamingResponseBody"
                }
              }
            }
          }
        }
      }
    },
    "/v1/bundles/installations/artifacts": {
      "get": {
        "tags": [
          "InstallBundleController"
        ],
        "summary": "Get assets at install time by correlation ID",
        "description": "Returns the list of assets (artifacts) that were present in the bundle when it was installed for the given correlation ID. The correlation ID is returned in the response of the bundle install endpoint. Only the account that performed the install can retrieve this data.",
        "operationId": "getAssetsAtInstall",
        "parameters": [
          {
            "name": "correlationId",
            "in": "query",
            "description": "Correlation ID from the bundle install response",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "responses": {
          "400": {
            "description": "Bad Request",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                }
              }
            }
          },
          "500": {
            "description": "Internal Server Error",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "*/*": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                }
              }
            }
          },
          "200": {
            "description": "List of artifact installation results (assets present at install time).",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ListResult"
                }
              }
            }
          },
          "404": {
            "description": "No install history found for the correlation ID, or the current user is not the installer.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                }
              }
            }
          }
        }
      }
    },
    "/v1/bundles/{bundleId}/sharingTargets/{sharingTargetId}": {
      "delete": {
        "tags": [
          "BundleController"
        ],
        "summary": "Remove a sharing target from a bundle",
        "description": "This endpoint removes the sharing target from a bundle when its *sharingTargetId*, *bundleId* and *accountId* are specified.\u003Cbr\u003E",
        "operationId": "deleteSharingTarget",
        "parameters": [
          {
            "name": "bundleId",
            "in": "path",
            "description": "Bundle id of bundle from which sharing target will be removed",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "sharingTargetId",
            "in": "path",
            "description": "Sharing target id to delete from bundle",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "in": "query",
            "$ref": "#/components/parameters/AccountId"
          },
          {
            "in": "header",
            "$ref": "#/components/parameters/x-boomi-bundle-source"
          }
        ],
        "responses": {
          "400": {
            "description": "400 (Bad Request): Specified sharing target/internal ID is not a member of the given bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "VALIDATION_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "64076d93d85f4c9d80bd7eba65050983",
                  "data": [],
                  "resultString": "VALIDATION_ERROR: Specified sharing target is not a member of bundle",
                  "total": 0
                }
              }
            }
          },
          "500": {
            "description": "500 (GENERAL_ERROR): Operation can't be completed because of an unexpected error while servicing the request.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "GENERAL_ERROR",
                  "resultSubCode": "",
                  "serviceTransactionId": "1fbad8dbae0c454cbaf11410c450da85",
                  "data": [],
                  "resultString": "GENERAL_ERROR: Operation can't be completed because of an unexpected error while servicing the request.",
                  "total": 0
                }
              }
            }
          },
          "403": {
            "description": "403 (Forbidden): Wrong authorization credentials or the user is restricted to access the requested account.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "RESTRICTED",
                  "resultSubCode": "",
                  "serviceTransactionId": "9ef09fb863924bb4a487bdb6440e5d53",
                  "data": [],
                  "resultString": "Full authentication is required to access this resource",
                  "total": 0
                }
              }
            }
          },
          "200": {
            "description": "200 (OK): The specified sharing target is removed from the bundle successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DataResult"
                },
                "example": {
                  "resultCode": "OK",
                  "resultSubCode": "",
                  "serviceTransactionId": "d66249189a15448791550f52015e73b0",
                  "data": {
                    "bundleId": "fa1c8156-43ed-4371-9c51-c494131883e9",
                    "name": "Boomi-Internal 1",
                    "description": "",
                    "ownerAccountId": "boomi-internal",
                    "sharingMode": "PUBLIC",
                    "createdBy": "email@boomi.com",
                    "createdDate": "2023-01-30T19:15:32.000Z",
                    "modifiedBy": "email@boomi.com",
                    "modifiedDate": "2023-02-27T19:25:54.000Z"
                  }
                }
              }
            }
          },
          "404": {
            "description": "404 (Not Found): The requested bundle ID or sharing target internal ID couldn't be found or the user is restricted to access the requested bundle.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ErrorResult"
                },
                "example": {
                  "resultCode": "NOT_FOUND",
                  "resultSubCode": "",
                  "serviceTransactionId": "cff4ad96bb7d4dbb90980ac0fec3d827",
                  "data": [],
                  "resultString": "NOT_FOUND: Operation can't be completed because the requested bundle ID couldn't be found: test",
                  "total": 0
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ErrorResult": {
        "type": "object",
        "description": "A wrapper for error API responses containing error details and diagnostic information",
        "properties": {
          "resultCode": {
            "type": "string",
            "description": "The error code indicating the type of failure (GENERAL_ERROR, VALIDATION_ERROR, NOT_FOUND, etc.)",
            "enum": [
              "OK",
              "GENERAL_ERROR",
              "NOT_FOUND",
              "UNIMPLEMENTED",
              "NOT_SUPPORTED",
              "VALIDATION_ERROR",
              "RESTRICTED",
              "INSUFFICIENT_AUTHENTICATION"
            ]
          },
          "resultSubCode": {
            "type": "string",
            "description": "Additional sub-code for more specific error categorization"
          },
          "serviceTransactionId": {
            "type": "string",
            "description": "Unique transaction ID for request tracing and debugging"
          },
          "data": {
            "type": "array",
            "description": "Additional error data",
            "items": {
              "type": "object"
            }
          },
          "resultString": {
            "type": "string",
            "description": "Human-readable error message describing the failure"
          },
          "stackTrace": {
            "type": "string",
            "description": "Stack trace information for debugging (only in non-production environments)"
          },
          "total": {
            "type": "integer",
            "format": "int32",
            "description": "Total count of items, typically 0 for error responses"
          }
        }
      },
      "BundleDto": {
        "type": "object",
        "properties": {
          "bundleId": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 80,
            "minLength": 1
          },
          "description": {
            "type": "string",
            "maxLength": 4000,
            "minLength": 0
          },
          "ownerAccountId": {
            "type": "string",
            "maxLength": 200,
            "minLength": 0,
            "readOnly": true
          },
          "publisherId": {
            "type": "string",
            "maxLength": 36,
            "minLength": 0,
            "readOnly": true
          },
          "sharingMode": {
            "type": "string",
            "enum": [
              "PUBLIC",
              "PRIVATE",
              "ACCESS_LIST"
            ],
            "readOnly": true
          },
          "createdBy": {
            "type": "string",
            "readOnly": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modifiedBy": {
            "type": "string",
            "readOnly": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        },
        "required": [
          "description",
          "name"
        ]
      },
      "DataResult": {
        "type": "object",
        "description": "A wrapper for single-object API responses containing the result status and data payload",
        "properties": {
          "resultCode": {
            "type": "string",
            "description": "The result code indicating success or failure type (OK, GENERAL_ERROR, NOT_FOUND, etc.)",
            "enum": [
              "OK",
              "GENERAL_ERROR",
              "NOT_FOUND",
              "UNIMPLEMENTED",
              "NOT_SUPPORTED",
              "VALIDATION_ERROR",
              "RESTRICTED",
              "INSUFFICIENT_AUTHENTICATION"
            ]
          },
          "resultSubCode": {
            "type": "string",
            "description": "Additional sub-code for more specific categorization of the result"
          },
          "serviceTransactionId": {
            "type": "string",
            "description": "Unique transaction ID for request tracing and debugging"
          },
          "data": {
            "description": "The response payload containing the requested object"
          }
        }
      },
      "ListResult": {
        "type": "object",
        "description": "A wrapper for list/array API responses containing multiple items and pagination info",
        "properties": {
          "resultCode": {
            "type": "string",
            "description": "The result code indicating success or failure type (OK, GENERAL_ERROR, NOT_FOUND, etc.)",
            "enum": [
              "OK",
              "GENERAL_ERROR",
              "NOT_FOUND",
              "UNIMPLEMENTED",
              "NOT_SUPPORTED",
              "VALIDATION_ERROR",
              "RESTRICTED",
              "INSUFFICIENT_AUTHENTICATION"
            ]
          },
          "resultSubCode": {
            "type": "string",
            "description": "Additional sub-code for more specific categorization of the result"
          },
          "serviceTransactionId": {
            "type": "string",
            "description": "Unique transaction ID for request tracing and debugging"
          },
          "data": {
            "type": "array",
            "description": "Array of response objects",
            "items": {

            }
          },
          "total": {
            "type": "integer",
            "format": "int32",
            "description": "Total count of items in the response"
          }
        }
      },
      "ArtifactDto": {
        "type": "object",
        "properties": {
          "artifactId": {
            "type": "string",
            "readOnly": true
          },
          "artifactType": {
            "type": "string",
            "enum": [
              "PACKAGED_COMPONENT",
              "FLOW",
              "SUPPORTING",
              "AI_AGENT",
              "API_SERVICE"
            ]
          },
          "artifactInternalId": {
            "type": "string",
            "maxLength": 36,
            "minLength": 1
          },
          "artifactInternalVersion": {
            "type": "string",
            "maxLength": 255,
            "minLength": 0
          },
          "artifactDescription": {
            "type": "string",
            "maxLength": 4000,
            "minLength": 0
          },
          "artifactName": {
            "type": "string",
            "maxLength": 80,
            "minLength": 1
          },
          "createdBy": {
            "type": "string",
            "readOnly": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modifiedBy": {
            "type": "string",
            "readOnly": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "serviceType": {
            "type": "string",
            "enum": [
              "INTEGRATION",
              "API",
              "HUB",
              "FLOW",
              "DCP",
              "BOOMI_GARDEN",
              "NONE"
            ],
            "readOnly": true
          },
          "artifactMetadata": {
            "$ref": "#/components/schemas/ArtifactMetadataDto",
            "example": {
              "key": "value"
            }
          },
          "associatedSupportingMaterial": {
            "$ref": "#/components/schemas/AssociatedSupportingMaterialDto"
          }
        },
        "required": [
          "artifactType"
        ]
      },
      "ArtifactMetadataDto": {
        "type": "object",
        "properties": {
          "jsonMetadata": {
            "type": "string"
          }
        }
      },
      "AssociatedSupportingMaterialDto": {
        "type": "object",
        "properties": {
          "documentDescription": {
            "type": "string"
          },
          "documentName": {
            "type": "string"
          }
        }
      },
      "SharingTargetDto": {
        "type": "object",
        "properties": {
          "sharingTargetId": {
            "type": "string",
            "readOnly": true
          },
          "sharingTargetType": {
            "type": "string",
            "enum": [
              "ATOMSPHERE_ACCOUNT_ID"
            ]
          },
          "internalId": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          }
        },
        "required": [
          "internalId",
          "sharingTargetType"
        ]
      },
      "DataResultString": {
        "type": "object",
        "properties": {
          "resultCode": {
            "type": "string",
            "enum": [
              "OK",
              "GENERAL_ERROR",
              "NOT_FOUND",
              "UNIMPLEMENTED",
              "NOT_SUPPORTED",
              "VALIDATION_ERROR",
              "RESTRICTED",
              "INSUFFICIENT_AUTHENTICATION"
            ]
          },
          "resultSubCode": {
            "type": "string"
          },
          "serviceTransactionId": {
            "type": "string"
          },
          "data": {
            "type": "string"
          }
        }
      },
      "InstallBundleDto": {
        "type": "object",
        "properties": {
          "bundleId": {
            "type": "string",
            "description": "The unique identifier (UUID) of the Bundle to install",
            "maxLength": 36,
            "minLength": 36
          },
          "targetAccountId": {
            "type": "string",
            "description": "The target AtomSphere account ID where the Bundle artifacts will be installed"
          },
          "folderName": {
            "type": "string",
            "description": "The name of the folder where Integration artifacts will be installed. A new folder with this name will be created if it does not exist"
          },
          "folderId": {
            "type": "string",
            "description": "The ID of an existing folder where Integration artifacts will be installed. Takes precedence over folderName if both are provided"
          },
          "targetTenantId": {
            "type": "string",
            "description": "The target Flow tenant ID where Flow artifacts will be installed. Not required when using a Flow API key as the associated tenant will be used"
          },
          "targetFlowUserId": {
            "type": "string",
            "description": "The email address of the Flow user who will own the installed Flow artifacts. Required when installing into a new tenant"
          },
          "targetTenantName": {
            "type": "string",
            "description": "The name of the target Flow tenant. This is a read-only field populated in the response",
            "readOnly": true
          },
          "message": {
            "type": "string",
            "description": "A message describing the result of the installation. This is a read-only field populated in the response",
            "readOnly": true
          },
          "installErrorStrategy": {
            "type": "string",
            "description": "The error handling strategy during installation. STOP will halt installation on first error, CONTINUE will attempt to install remaining artifacts. Currently ignored",
            "enum": [
              "STOP",
              "CONTINUE"
            ]
          },
          "solutionId": {
            "type": "string",
            "description": "The unique identifier of the Solution associated with this Bundle installation"
          }
        },
        "required": [
          "bundleId"
        ]
      },
      "ServiceConfigDto": {
        "type": "object",
        "properties": {
          "targetFlowId": {
            "type": "string",
            "description": "The unique identifier (UUID) of the target Flow where the service will be configured"
          },
          "sharedWebserverUrl": {
            "type": "string",
            "description": "The URL of the shared web server that hosts the Flow Service.",
            "pattern": "^https?://[a-zA-Z.][^/]*/fs/.*$"
          },
          "sharedWebserverUsername": {
            "type": "string",
            "description": "The username for authenticating with the shared web server"
          },
          "sharedWebserverApiToken": {
            "type": "string",
            "description": "The API token for authenticating with the shared web server"
          }
        },
        "required": [
          "sharedWebserverApiToken",
          "sharedWebserverUrl",
          "sharedWebserverUsername",
          "targetFlowId"
        ]
      },
      "CreateBundleAggregateRequest": {
        "type": "object",
        "properties": {
          "bundle": {
            "$ref": "#/components/schemas/BundleDto"
          },
          "artifacts": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArtifactDto"
            }
          },
          "sharingTargets": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SharingTargetDto"
            }
          }
        },
        "required": [
          "bundle"
        ]
      },
      "BundleAggregateDto": {
        "type": "object",
        "properties": {
          "bundleId": {
            "type": "string",
            "readOnly": true
          },
          "name": {
            "type": "string",
            "maxLength": 80,
            "minLength": 1
          },
          "description": {
            "type": "string",
            "maxLength": 4000,
            "minLength": 0
          },
          "ownerAccountId": {
            "type": "string",
            "maxLength": 200,
            "minLength": 0,
            "readOnly": true
          },
          "publisherId": {
            "type": "string",
            "maxLength": 36,
            "minLength": 0,
            "readOnly": true
          },
          "sharingMode": {
            "type": "string",
            "enum": [
              "PUBLIC",
              "PRIVATE",
              "ACCESS_LIST"
            ],
            "readOnly": true
          },
          "createdBy": {
            "type": "string",
            "readOnly": true
          },
          "createdDate": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "modifiedBy": {
            "type": "string",
            "readOnly": true
          },
          "modifiedDate": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          },
          "artifacts": {
            "type": "array",
            "description": "List of artifacts in the bundle",
            "items": {
              "$ref": "#/components/schemas/ArtifactDto"
            }
          },
          "sharingTargets": {
            "type": "array",
            "description": "Set of sharing targets for the bundle",
            "items": {
              "$ref": "#/components/schemas/BundleSharingTargetDto"
            },
            "uniqueItems": true
          }
        },
        "required": [
          "description",
          "name"
        ]
      },
      "BundleSharingTargetDto": {
        "type": "object",
        "properties": {
          "sharingTargetId": {
            "type": "string",
            "readOnly": true
          },
          "sharingTargetType": {
            "type": "string",
            "enum": [
              "ATOMSPHERE_ACCOUNT_ID"
            ]
          },
          "internalId": {
            "type": "string",
            "maxLength": 200,
            "minLength": 1
          },
          "createdBy": {
            "type": "string"
          },
          "createdDate": {
            "type": "string",
            "format": "date-time"
          }
        },
        "required": [
          "internalId",
          "sharingTargetType"
        ]
      },
      "DataResultBundleAggregateDto": {
        "type": "object",
        "properties": {
          "resultCode": {
            "type": "string",
            "enum": [
              "OK",
              "GENERAL_ERROR",
              "NOT_FOUND",
              "UNIMPLEMENTED",
              "NOT_SUPPORTED",
              "VALIDATION_ERROR",
              "RESTRICTED",
              "INSUFFICIENT_AUTHENTICATION"
            ]
          },
          "resultSubCode": {
            "type": "string"
          },
          "serviceTransactionId": {
            "type": "string"
          },
          "data": {
            "$ref": "#/components/schemas/BundleAggregateDto"
          }
        }
      },
      "MarketplaceMetricRequest": {
        "type": "object",
        "description": "Request to record marketplace solution metrics and metadata",
        "properties": {
          "solutionId": {
            "type": "string",
            "description": "Unique identifier of the marketplace solution",
            "example": 1234,
            "maxLength": 36,
            "minLength": 0
          },
          "solutionName": {
            "type": "string",
            "description": "Display name of the marketplace solution",
            "example": "NetSuite to Salesforce Integration",
            "maxLength": 500,
            "minLength": 0
          },
          "bundleId": {
            "type": "string",
            "description": "Bundle ID associated with the solution (if applicable)",
            "example": "70951ca2-2afe-46c8-b9d1-575477352c80",
            "maxLength": 36,
            "minLength": 0
          },
          "correlationId": {
            "type": "string",
            "description": "The \"x-correlation-id\" header present in Bundle Install API response or some other GUID",
            "example": "NR:d33beb53fa327913e877e9b40a97c022",
            "maxLength": 40,
            "minLength": 0
          },
          "bundleSharingMode": {
            "type": "string",
            "description": "Bundle sharing mode",
            "enum": [
              "PUBLIC",
              "PRIVATE",
              "ACCESSLIST"
            ],
            "example": "PUBLIC"
          },
          "bundleOwnerAccount": {
            "type": "string",
            "description": "Account ID of the bundle owner",
            "example": "owner-account-98765",
            "maxLength": 200,
            "minLength": 0
          },
          "operationStatus": {
            "type": "string",
            "description": "Status of the operation",
            "example": "SUCCESS",
            "maxLength": 20,
            "minLength": 0
          },
          "operation": {
            "type": "string",
            "description": "Type of operation performed",
            "example": "INSTALL",
            "maxLength": 25,
            "minLength": 0
          },
          "operationSource": {
            "type": "string",
            "description": "Source of the operation",
            "example": "discover",
            "maxLength": 25,
            "minLength": 0
          },
          "responseTime": {
            "type": "integer",
            "format": "int64",
            "description": "Response time of the operation in milliseconds",
            "example": 1250
          },
          "metadata": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "uniqueItems": true
            },
            "description": "Additional metadata attributes for the solution with multiple values per attribute",
            "example": {
              "SOLUTIONTYPE": [
                "recipe"
              ],
              "APPLICATION": [
                "netsuite",
                "salesforce"
              ],
              "JOBFUNCTION": [
                "analytics",
                "finance"
              ],
              "USECASE": [
                "ai"
              ],
              "CREATEDBY": [
                "BOOMI"
              ],
              "SERVICETYPE": [
                "api-management"
              ]
            }
          }
        },
        "required": [
          "correlationId",
          "operation",
          "operationStatus",
          "responseTime",
          "solutionId",
          "solutionName"
        ]
      },
      "UpdateArtifactDto": {
        "type": "object",
        "properties": {
          "artifactName": {
            "type": "string",
            "maxLength": 80,
            "minLength": 1
          },
          "artifactDescription": {
            "type": "string",
            "maxLength": 4000,
            "minLength": 0
          }
        }
      },
      "StreamingResponseBody": {
        "type": "object"
      }
    },
    "parameters": {
      "AccountId": {
        "name": "accountId",
        "in": "query",
        "description": "The Platform Account ID to authenticate with",
        "required": true,
        "allowEmptyValue": false,
        "schema": {
          "type": "string"
        }
      },
      "x-boomi-bundle-source": {
        "name": "x-boomi-bundle-source",
        "in": "header",
        "description": "This field is used for sourcing the  caller reference for the Bundle API's and capturing it in TimeStream.",
        "required": false,
        "allowEmptyValue": false,
        "schema": {
          "type": "string"
        },
        "example": "swagger"
      }
    },
    "securitySchemes": {
      "Boomi-Platform-API-Key": {
        "type": "http",
        "description": "**Platform API credentials:**\u003Cul\u003E\u003Cli\u003EUsername is of the form BOOMI_TOKEN.&lt;username&gt;.\u003C/li\u003E\u003Cli\u003EPassword is the Platform API token value.\u003C/li\u003E\u003Cli\u003ERefer to \u003Ca href=\"https://help.boomi.com/bundle/atomsphere_platform/page/int-Adding_API_tokens.html\" target=\"_blank\"\u003Ethis\u003C/a\u003E page to learn how to generate a platform API token.\u003C/li\u003E\u003C/ul\u003E",
        "scheme": "basic"
      },
      "Boomi-Platform-JWT": {
        "type": "http",
        "description": "\u003Cul\u003E\u003Cli\u003EValue for JWT can be obtained by using platform endpoint '/auth/jwt/generate/{accountId}'\u003C/li\u003E\u003Cli\u003EPlease, note that This token expires after 5 minutes.\u003C/li\u003E\u003C/ul\u003E",
        "in": "header",
        "scheme": "bearer",
        "bearerFormat": "JWT"
      },
      "Boomi-Flow-API-Key": {
        "type": "apiKey",
        "description": "**Boomi Flow API Key:**\u003Cul\u003E\u003Cli\u003EEnter your Boomi Flow API Key in the \"Value\" field below.\u003C/li\u003E\u003Cli\u003ERefer to the \u003Ca href=\"https://manywho.github.io/docs-api/#section/Boomi-Flow-API/Making-a-request-to-the-API\" target=\"_blank\"\u003EBoomi Flow documentation page\u003C/a\u003E for generating the Flow API Key.\u003C/li\u003E\u003C/ul\u003E",
        "name": "x-boomi-flow-api-key",
        "in": "header"
      }
    }
  }
}