{
  "openapi": "3.1.0",
  "info": {
    "title": "OpenAPI definition",
    "version": "v0"
  },
  "servers": [
    {
      "url": "https://{subdomain}.backend.na.controlplane.boomi.com",
      "description": "NA Production",
	  "variables": {"subdomain": {"description": "lowercase account-id, replace _ with -"}}
    },
	{
      "url": "https://{subdomain}.backend.gb.controlplane.boomi.com",
      "description": "GB Production",
	  "variables": {"subdomain": {"description": "lowercase account-id, replace _ with -"}}
    }
  ],
  "tags": [
    {
      "name": "Current Developer Portal",
      "description": "Endpoints scoped to the active Developer Portal session."
    },
    {
      "name": "Plans",
      "description": "Rate-limiting and quota plans for API Products."
    },
    {
      "name": "Platform Types",
      "description": "Manage platform types that define the technology stack of API gateways. Supports listing built-in platform types and creating, updating, and deleting custom platform types for use with the Agent SDK."
    },
    {
      "name": "Developer Portal Menu Items",
      "description": "Developer Portal navigation menu."
    },
    {
      "name": "Self-Service Registration",
      "description": "Self-service tenant and user registration."
    },
    {
      "name": "Developer Portal Blocks",
      "description": "Content blocks within Developer Portal pages."
    },
    {
      "name": "Rule Sets",
      "description": "Spectral governance rulesets for spec validation."
    },
    {
      "name": "Access Tokens",
      "description": "Personal access tokens for API authentication."
    },
    {
      "name": "Migration Results",
      "description": "Code migration execution results."
    },
    {
      "name": "Discovery",
      "description": "API and environment discovery in connected gateways."
    },
    {
      "name": "Errors",
      "description": "Default error response handler."
    },
    {
      "name": "Jobs",
      "description": "Background job management and status."
    },
    {
      "name": "API Gateways",
      "description": "API Gateway management."
    },
    {
      "name": "MCP Server Versions",
      "description": "Server versions stored in the Boomi MCP registry."
    },
    {
      "name": "Governance",
      "description": "API governance metrics, scores, and statistics."
    },
    {
      "name": "Metrics",
      "description": "API and application usage metrics."
    },
    {
      "name": "Users",
      "description": "User accounts, roles, and invitations."
    },
    {
      "name": "API Product Documentation Pages",
      "description": "Documentation pages for API Products."
    },
    {
      "name": "APIs",
      "description": "API management, deployment, and documentation files."
    },
    {
      "name": "Developer Portal Pages",
      "description": "Custom content pages within Developer Portals."
    },
    {
      "name": "Agents",
      "description": "Agent registration and gateway communication."
    },
    {
      "name": "Terms of Use",
      "description": "Terms-of-use documents for API Products and Developer Portals."
    },
    {
      "name": "Authentication",
      "description": "Authentication — password, SAML SSO, OIDC, and Boomi Platform login."
    },
    {
      "name": "Subscriptions",
      "description": "Subscriptions linking Applications to API Products under a Plan."
    },
    {
      "name": "Custom Application Fields",
      "description": "Custom metadata fields for Applications."
    },
    {
      "name": "Git Credentials",
      "description": "Stored Git repository credentials."
    },
    {
      "name": "API Versions",
      "description": "API version management and AI spec generation."
    },
    {
      "name": "Running Jobs",
      "description": "Background job status tracking."
    },
    {
      "name": "Applications",
      "description": "Application management and deployment."
    },
    {
      "name": "Open Proxy Analysis",
      "description": "Open Proxy Specification validation and analysis."
    },
    {
      "name": "Webhooks",
      "description": "Webhook endpoints for event notifications."
    },
    {
      "name": "MCP Bridge",
      "description": "MCP (Model Context Protocol) bridge for AI agent access to API Products."
    },
    {
      "name": "Server Info",
      "description": "Server build info, SaaS info, and tier limits."
    },
    {
      "name": "Tags",
      "description": "Tag management for APIs and API Products."
    },
    {
      "name": "API Specifications",
      "description": "API specification file upload, download, and linting."
    },
    {
      "name": "API Documentation Pages",
      "description": "Documentation pages for APIs."
    },
    {
      "name": "API Git Integration",
      "description": "Git integration for API import/export workflows."
    },
    {
      "name": "API Policy Templates",
      "description": "API policy template management."
    },
    {
      "name": "API Products",
      "description": "API Product management, deployment, and subscriptions."
    },
    {
      "name": "System Messages",
      "description": "Platform-wide system messages."
    },
    {
      "name": "Open Proxy",
      "description": "Open Proxy Specification management for API versions."
    },
    {
      "name": "Organizations",
      "description": "Organizations for grouping users, APIs, and applications."
    },
    {
      "name": "Approval Requests",
      "description": "Subscription approval workflow."
    },
    {
      "name": "Developer Portals",
      "description": "Developer Portal instances."
    },
    {
      "name": "Environments",
      "description": "Gateway environment management and access control."
    },
    {
      "name": "Spec Info",
      "description": "Information about supported API specification types."
    },
    {
      "name": "Tenant Configuration",
      "description": "Tenant settings — auth providers, discovery, approvals, AI features."
    },
    {
      "name": "Audit Logs",
      "description": "Audit log of state-changing API operations."
    },
    {
      "name": "Current Tenant",
      "description": "Current tenant settings and billing."
    }
  ],
  "paths": {
    "/login/saml/sso": {
      "get": {
        "tags": [
          "Authentication"
        ],
        "summary": "Process SAML SSO response (GET)",
        "description": "To be called by SAML identity provider.",
        "operationId": "processSamlResponse",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      },
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Process SAML SSO response (GET)",
        "description": "To be called by SAML identity provider.",
        "operationId": "processSamlResponse_1",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/login/oidc/response": {
      "get": {
        "tags": [
          "Authentication"
        ],
        "summary": "Process OIDC login response (GET)",
        "operationId": "processOidcResponse",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      },
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Process OIDC login response (GET)",
        "operationId": "processOidcResponse_1",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/login/boomi/response": {
      "get": {
        "tags": [
          "Authentication"
        ],
        "summary": "Process Boomi Platform login response (GET)",
        "operationId": "processBoomiResponse",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      },
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Process Boomi Platform login response (GET)",
        "operationId": "processBoomiResponse_1",
        "parameters": [
          {
            "name": "code",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "state",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/webhooks/{id}": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Get webhook by ID",
        "description": "Get a webhooks by its id.",
        "operationId": "getWebhook",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Update a webhook",
        "description": "Update an existing webhook.",
        "operationId": "updateWebhook",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Delete a webhook",
        "description": "Delete a webhook.",
        "operationId": "deleteWebhook",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/users/{id}": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get user by ID",
        "description": "Get a single user.",
        "operationId": "getUser",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Update a user",
        "description": "Update a user.",
        "operationId": "updateUser",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Delete a user",
        "description": "Delete a user.",
        "operationId": "deleteUser",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/users/{id}/image": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get user profile image",
        "description": "Get icon for a user, if present.",
        "operationId": "readImageFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "The previously uploaded image, converted to png and potentially rescaled.",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "No image uploaded",
            "content": {
              "application/json": {

              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Upload user profile image",
        "description": "Upload new icon for a user. The image may be resized. An existing icon will be overwritten.",
        "operationId": "writeImageFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Delete user profile image",
        "description": "Delete icon for a user.",
        "operationId": "deleteImageFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/users/current": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get currently logged-in user",
        "description": "Get user corresponding to the access token used in this request.",
        "operationId": "getLoggedInUser",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Update currently logged-in user profile",
        "description": "Update some settings for the user corresponding to the access token used in this request.",
        "operationId": "updateCurrentUser",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CurrentUserUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/users/current/image": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get current user's profile image",
        "description": "Get the user icon for the user corresponding to the access token used in this request.",
        "operationId": "readImageCurrentUser",
        "responses": {
          "200": {
            "description": "The previously uploaded image, converted to png and potentially rescaled.",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "No image uploaded",
            "content": {
              "application/json": {

              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Users"
        ],
        "summary": "Upload current user's profile image",
        "description": "Upload a new user icon for the user corresponding to the access token used in this request.",
        "operationId": "writeImageCurrentUser",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Users"
        ],
        "summary": "Delete current user's profile image",
        "description": "Delete icon for the user corresponding to the access token used in this request.",
        "operationId": "deleteImageCurrentUser",
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/termsOfUse/{id}": {
      "get": {
        "tags": [
          "Terms of Use"
        ],
        "summary": "Get terms of use by ID",
        "description": "Get a terms of use document by its id.",
        "operationId": "getTermsOfUse",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TermsOfUseDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Terms of Use"
        ],
        "summary": "Update terms of use",
        "description": "Update an existing terms of use document.",
        "operationId": "updateTermsOfUse",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TermsOfUseDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TermsOfUseDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Terms of Use"
        ],
        "summary": "Delete terms of use",
        "description": "Delete a terms of use document. This is only possible if the terms of use document has not been accepted, yet, by any user!",
        "operationId": "deleteTermsOfUse",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/tenant/billing": {
      "get": {
        "tags": [
          "Current Tenant"
        ],
        "summary": "Get tenant billing information",
        "description": "Get current billing information.",
        "operationId": "getBillingInfo",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BillingInfoDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Current Tenant"
        ],
        "summary": "Update tenant billing information",
        "description": "Update billing information.",
        "operationId": "setBillingInfo",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/BillingInfoDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/subscriptions/{id}": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Get subscription by ID",
        "description": "Get a single subscription.",
        "operationId": "get",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Update a subscription",
        "description": "Update an existing subscription - currently only the plan can be changed.",
        "operationId": "update",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Delete a subscription",
        "description": "Delete a subscription.",
        "operationId": "delete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "undeploy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/ruleSets/{id}": {
      "get": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Get ruleset by ID",
        "description": "Get a single rule set.",
        "operationId": "get_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RuleSetDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Update a ruleset",
        "description": "Update a rule set.",
        "operationId": "update_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RuleSetDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RuleSetDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Delete a ruleset",
        "description": "Delete a rule set.",
        "operationId": "delete_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/ruleSets/{id}/organizations/{org}": {
      "put": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Assign a ruleset to an organization",
        "description": "Add an organization to a rule set. The rule set will be applied to APIs from that organization.",
        "operationId": "addOrganization",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "org",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Remove a ruleset from an organization",
        "description": "Remove an organization from a rule set. The rule set will no longer be applied to APIs from that organization. If no more organizations are assigned to this rule set afte the removal, the rule set will be applied to all organizations.",
        "operationId": "removeOrganization",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "org",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/ruleSets/{id}/file": {
      "get": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Download ruleset file",
        "description": "Get rule set file for a rule set.",
        "operationId": "readFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw content of rule set file",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "404": {
            "description": "No rule set file found for this rule set.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Upload ruleset file",
        "description": "Upload rule set file, overwriting any existing file for that rule set.",
        "operationId": "writeFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RuleSetValidationResult"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/platformType/{id}": {
      "get": {
        "tags": [
          "Platform Types"
        ],
        "summary": "Get a platform type",
        "description": "Get a platform type by id.",
        "operationId": "get_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformTypeDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Platform Types"
        ],
        "summary": "Update a platform type",
        "description": "Update a platform type. Only custom platform types can be updated.",
        "operationId": "updatePlatformType",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlatformTypeDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformTypeDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Platform Types"
        ],
        "summary": "Delete a platform type",
        "description": "Delete a platform type. Only custom platform types can be deleted. Cannot delete if used by API gateways or APIs.",
        "operationId": "deletePlatformType",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/platformType/{id}/image": {
      "get": {
        "tags": [
          "Platform Types"
        ],
        "summary": "Get platform type icon",
        "description": "Get icon for a platform type, if present.",
        "operationId": "readImageFile_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw content of the previously uploaded image file, with appropriate content type header.",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "No image uploaded",
            "content": {
              "application/json": {

              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Platform Types"
        ],
        "summary": "Upload platform type icon",
        "description": "Upload image file for use as the icon of a custom platform type. If an icon for this platform type already exists, it will be overwritten.",
        "operationId": "writeImageFile_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/plans/{id}": {
      "get": {
        "tags": [
          "Plans"
        ],
        "summary": "Get plan by ID",
        "description": "Get a single plan.",
        "operationId": "getPlan",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Plans"
        ],
        "summary": "Update a plan",
        "description": "Update a plan.",
        "operationId": "updatePlan",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Plans"
        ],
        "summary": "Delete a plan",
        "description": "Delete a plan.",
        "operationId": "deletePlan",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "undeploy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/organizations/{id}": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get organization by ID",
        "description": "Get a single organization.",
        "operationId": "get_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Update an organization",
        "description": "Update an organization.",
        "operationId": "update_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Delete an organization",
        "description": "Delete an organization.",
        "operationId": "delete_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/organizations/{id}/image": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get organization image",
        "description": "Get the icon for an organization, if present.",
        "operationId": "readImageFile_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw content of the previously uploaded image file, with appropriate content type header.",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "No image uploaded",
            "content": {
              "application/json": {

              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Organizations"
        ],
        "summary": "Upload organization image",
        "description": "Upload an icon for an organization. An existing icon will be overwritten.",
        "operationId": "writeImageFile_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Organizations"
        ],
        "summary": "Delete organization image",
        "description": "Delete the icon for an organization.",
        "operationId": "deleteImageFile_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/mcpServers/version": {
      "get": {
        "tags": [
          "MCP Server Versions"
        ],
        "description": "Get an MCP server version by server name and version.",
        "operationId": "get_4",
        "parameters": [
          {
            "name": "serverName",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpServerVersionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "MCP Server Versions"
        ],
        "description": "Update published status and visibility of an MCP server version.",
        "operationId": "update_3",
        "parameters": [
          {
            "name": "serverName",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/McpServerVersionUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpServerVersionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/mcpServers/version/organizations/{orgId}": {
      "put": {
        "tags": [
          "MCP Server Versions"
        ],
        "description": "Grant an organization access to this MCP server version. Only applies if visibility is RESTRICTED.",
        "operationId": "addAllowedOrganization",
        "parameters": [
          {
            "name": "serverName",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "MCP Server Versions"
        ],
        "description": "Revoke an organization's access to this MCP server version.",
        "operationId": "removeAllowedOrganization",
        "parameters": [
          {
            "name": "serverName",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/gitCredentials/{id}": {
      "get": {
        "tags": [
          "Git Credentials"
        ],
        "summary": "Get Git credential by ID",
        "description": "Get a single git credential.",
        "operationId": "get_5",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GitCredentialDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Git Credentials"
        ],
        "summary": "Update a Git credential",
        "description": "Update a git credential. (ssh keys cannot be updated!)",
        "operationId": "update_4",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GitCredentialDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GitCredentialDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Git Credentials"
        ],
        "summary": "Delete a Git credential",
        "description": "Delete a git credential.",
        "operationId": "delete_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}": {
      "get": {
        "tags": [
          "Environments"
        ],
        "summary": "Get environment by ID",
        "description": "Get a single environment.",
        "operationId": "getEnvironment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Environments"
        ],
        "summary": "Update an environment",
        "description": "Update an environment.",
        "operationId": "updateEnvironment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Environments"
        ],
        "summary": "Delete an environment",
        "description": "Delete an environment.",
        "operationId": "deleteEnvironment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}/subscribeOrganizations/{org}": {
      "put": {
        "tags": [
          "Environments"
        ],
        "summary": "Grant organization subscribe access to an environment",
        "description": "Grant an organization subscribe access in this environment.",
        "operationId": "addReadAccessOrganization",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "org",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Environments"
        ],
        "summary": "Revoke organization subscribe access from an environment",
        "description": "Remove subscribe access in this environment for an organization.",
        "operationId": "removeReadAccessOrganization",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "org",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}/publishOrganizations/{org}": {
      "put": {
        "tags": [
          "Environments"
        ],
        "summary": "Grant organization publish access to an environment",
        "description": "Grant an organization publish access in this environment.",
        "operationId": "addWriteAccessOrganization",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "org",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Environments"
        ],
        "summary": "Revoke organization publish access from an environment",
        "description": "Remove publish access in this environment for an organization.",
        "operationId": "removeWriteAccessOrganization",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "org",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}/agent": {
      "get": {
        "tags": [
          "Agents"
        ],
        "summary": "Get agent status for an environment",
        "description": "Get agent status for an environment.",
        "operationId": "getAgentStatus",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Agents"
        ],
        "summary": "Register or reset agent for an environment",
        "description": "Request new agent token for an environment. Any existing token will be overwritten, which means agents can no longer connect with that token.",
        "operationId": "newAgent",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentTokenDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Agents"
        ],
        "summary": "Delete agent from an environment",
        "description": "Delete the agent token. Agents will no longer be able to use that token to connect.",
        "operationId": "deleteAgent",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}": {
      "get": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Get Developer Portal by ID",
        "description": "Get a single developer portal.",
        "operationId": "get_6",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Update a Developer Portal",
        "description": "Update a developer portal.",
        "operationId": "update_5",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DevPortalDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Delete a Developer Portal",
        "description": "Delete a developer portal.",
        "operationId": "delete_4",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/welcomePage": {
      "get": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Get Developer Portal welcome page",
        "description": "Get raw content of developer portal welcome page.",
        "operationId": "readWelcomePage",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Previously uploaded raw content.",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "No content has been uploaded.",
            "content": {
              "application/json": {

              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Update Developer Portal welcome page",
        "description": "Write content of developer portal welcome page. Existing content is overwritten.",
        "operationId": "writeWelcomePage",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/termsOfUse/{termsOfUse}": {
      "put": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Assign terms of use to a Developer Portal",
        "description": "Assign a terms of use document to this developer portal.",
        "operationId": "addTermsOfUse",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "termsOfUse",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Remove terms of use from a Developer Portal",
        "description": "Unassign a terms of use document from this developer portal.",
        "operationId": "removeTermsOfUse",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "termsOfUse",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/pages/{name}": {
      "get": {
        "tags": [
          "Developer Portal Pages"
        ],
        "summary": "Get Developer Portal page by name",
        "description": "Get one page by name.",
        "operationId": "getOne",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Developer Portal Pages"
        ],
        "summary": "Update a Developer Portal page",
        "description": "Update existing page.",
        "operationId": "update_6",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DevPortalPageDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Developer Portal Pages"
        ],
        "summary": "Delete a Developer Portal page",
        "description": "Delete page by name.",
        "operationId": "delete_5",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/menuItems": {
      "get": {
        "tags": [
          "Developer Portal Menu Items"
        ],
        "summary": "Get Developer Portal menu items",
        "description": "Get the list of navigation menu items configured for a developer portal.",
        "operationId": "read",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DevPortalMenuItemDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Developer Portal Menu Items"
        ],
        "summary": "Update Developer Portal menu items",
        "description": "Replace all navigation menu items for a developer portal. The full list of items must be provided — existing items not included in the request will be removed. Each item of type URL requires a url, and each item of type PAGE requires a pageName.",
        "operationId": "write",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DevPortalMenuItems"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/blocks/{name}": {
      "get": {
        "tags": [
          "Developer Portal Blocks"
        ],
        "summary": "Get Developer Portal content block",
        "description": "Get one block by name.",
        "operationId": "getOne_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalBlockDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Developer Portal Blocks"
        ],
        "summary": "Update a Developer Portal content block",
        "description": "Update existing block.",
        "operationId": "update_7",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DevPortalBlockDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalBlockDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Developer Portal Blocks"
        ],
        "summary": "Delete a Developer Portal content block",
        "description": "Delete block by name.",
        "operationId": "delete_6",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/current/pages/{name}": {
      "get": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "Get current portal page by name",
        "description": "Get a single page by name for the current developer portal.",
        "operationId": "getPage",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "Update current portal page",
        "description": "Update existing page.",
        "operationId": "update_8",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DevPortalPageDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/current/blocks/{name}": {
      "get": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "Get current portal content block",
        "description": "Get a single block by name for the current developer portal.",
        "operationId": "getBlock",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalBlockDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "Update current portal content block",
        "description": "Update existing block.",
        "operationId": "update_9",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DevPortalBlockDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalBlockDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "Delete current portal content block",
        "description": "Delete block by name.",
        "operationId": "delete_7",
        "parameters": [
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/configuration/saml2": {
      "get": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Get SAML2 configuration",
        "description": "Get SAML2 configuration.",
        "operationId": "getSaml2Config",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SamlConfigDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Update SAML2 configuration",
        "description": "Update SAML2 configuration. Also enables or disables login via SAML2.",
        "operationId": "setSaml2Config",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SamlConfigDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/configuration/oidc": {
      "get": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Get OIDC configuration",
        "description": "Get OIDC configuration.",
        "operationId": "getOidcConfig",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OidcConfigDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Update OIDC configuration",
        "description": "Update OIDC configuration. Also enables or disables login via OIDC.",
        "operationId": "setOidcConfig",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OidcConfigDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/configuration/ldap": {
      "get": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Get LDAP configuration",
        "description": "Get LDAP configuration.",
        "operationId": "getLdapConfig",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LdapConfigDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Update LDAP configuration",
        "description": "Update LDAP configuration. Also enables or disables login via LDAP.",
        "operationId": "setLdapConfig",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LdapConfigDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/configuration/general": {
      "get": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Get general configuration",
        "description": "Get general configuration.",
        "operationId": "getGeneral",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GeneralConfigDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Update general configuration",
        "description": "Update general configuration.",
        "operationId": "setGeneralConfig",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GeneralConfigDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/configuration/discovery": {
      "get": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Get discovery configuration",
        "description": "Get discovery configuration.",
        "operationId": "getDiscoveryConfig",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryConfigDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Update discovery configuration",
        "description": "Update discovery configuration.",
        "operationId": "setDiscoveryConfig",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoveryConfigDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/configuration/customApplicationFields/{id}": {
      "get": {
        "tags": [
          "Custom Application Fields"
        ],
        "summary": "Get custom application field",
        "description": "Get single custom application field.",
        "operationId": "get_7",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Custom Application Fields"
        ],
        "summary": "Update custom application field",
        "description": "Update a custom application field. If the name is changed, all applications that use the field will refer to the new name. If the type is changed, there are currently no checks for existing values that have been assigned to applications!",
        "operationId": "update_10",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomFieldDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Custom Application Fields"
        ],
        "summary": "Delete custom application field",
        "description": "Delete a custom application field.",
        "operationId": "delete_8",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/configuration/approvalRequests": {
      "get": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Get approval request configuration",
        "description": "Get approval request configuration.",
        "operationId": "getApprovalRequests",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApprovalRequestsConfigDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Update approval request configuration",
        "description": "Update approval request configuration.",
        "operationId": "setApprovalRequests",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApprovalRequestsConfigDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/configuration/ai": {
      "get": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Get AI configuration",
        "description": "Get AI config. Includes whether Boomi AI terms and conditions have been accepted and where they must be accepted.",
        "operationId": "getAITermsConfig",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AITermsConfigDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Update AI configuration",
        "description": "Update AI config. Use this to accept the Boomi AI terms and conditions for tenants that are not linked to a Boomi account.",
        "operationId": "updateAITermsConfig",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AITermsConfigDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/applications/{id}": {
      "get": {
        "tags": [
          "Applications"
        ],
        "summary": "Get application",
        "description": "Get a single application.",
        "operationId": "get_8",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Applications"
        ],
        "summary": "Update application",
        "description": "Update an application.",
        "operationId": "update_11",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Applications"
        ],
        "summary": "Delete application",
        "description": "Delete an application.",
        "operationId": "delete_9",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "undeploy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/applications/{id}/image": {
      "get": {
        "tags": [
          "Applications"
        ],
        "summary": "Get application icon",
        "description": "Get the icon for an application, if present.",
        "operationId": "readImageFile_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw content of the previously uploaded image file, with appropriate content type header.",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "No image uploaded",
            "content": {
              "application/json": {

              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Applications"
        ],
        "summary": "Upload application icon",
        "description": "Upload an icon for an application. An existing icon will be overwritten.",
        "operationId": "writeImageFile_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Applications"
        ],
        "summary": "Delete application icon",
        "description": "Delete the icon for an application.",
        "operationId": "deleteImageFile_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/applications/{id}/customFields": {
      "get": {
        "tags": [
          "Applications"
        ],
        "summary": "Get application custom field values",
        "description": "Get all Custom Fields that have been set for this application.",
        "operationId": "getCustomFieldValues",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldValues"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Applications"
        ],
        "summary": "Set application custom field values",
        "description": "Overwrite the Custom Fields for this application. Any existing values not included in this request will be removed.",
        "operationId": "setCustomFieldValues",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomFieldValues"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}": {
      "get": {
        "tags": [
          "APIs"
        ],
        "summary": "Get API",
        "description": "Get a single API.",
        "operationId": "getApi",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "includeRunningJobs",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "APIs"
        ],
        "summary": "Update API",
        "description": "Update an API.",
        "operationId": "updateApi",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "APIs"
        ],
        "summary": "Delete API",
        "description": "Delete an API.",
        "operationId": "deleteApi",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "undeploy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/image": {
      "get": {
        "tags": [
          "APIs"
        ],
        "summary": "Get API icon",
        "description": "Get icon for an API, if present.",
        "operationId": "readImageFile_4",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw content of the previously uploaded image file, with appropriate content type header.",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "No image uploaded",
            "content": {
              "application/json": {

              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "APIs"
        ],
        "summary": "Upload API icon",
        "description": "Upload icon for an API. Any existing icon will be overwritten.",
        "operationId": "writeImageFile_4",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "APIs"
        ],
        "summary": "Delete API icon",
        "description": "Delete icon for an API.",
        "operationId": "deleteImageFile_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/file": {
      "put": {
        "tags": [
          "APIs"
        ],
        "summary": "Upload spec file for API",
        "description": "Upload raw spec file. If an API version corresponding to the version found in the spec file already exists, its spec file is overwritten. Otherwise a new API version with this spec file is created.",
        "operationId": "addSpecFromFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/VersionAndSpecResponse"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{api}/versions/{versionName}/openProxySpec": {
      "get": {
        "tags": [
          "Open Proxy"
        ],
        "summary": "Get Open Proxy Specification",
        "description": "Get Open Proxy Specification file for an API version.",
        "operationId": "getOpenProxySpec",
        "parameters": [
          {
            "name": "api",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "versionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw content of Open Proxy Specification file",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "If current version is requested but does not exist or no Open Proxy Specification was uploaded for this version!"
          },
          "404": {
            "description": "Unknown API or version.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "Open Proxy"
        ],
        "summary": "Upload Open Proxy Specification",
        "description": "Upload Open Proxy Specification file for an API version, overwriting any existing file for that API version. Returns analysis result with all errors and warnings that were found. On any errors, the file is not actually saved!",
        "operationId": "writeOpenProxySpec",
        "parameters": [
          {
            "name": "api",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "versionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "There were no analysis errors and the file was saved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenProxySpecAnalysis"
                }
              }
            }
          },
          "400": {
            "description": "There were errors during analysis. The file was not saved.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenProxySpecAnalysis"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Open Proxy"
        ],
        "summary": "Delete Open Proxy Specification",
        "description": "Delete Open Proxy Specification file for an API version.",
        "operationId": "deleteOpenProxySpec",
        "parameters": [
          {
            "name": "api",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "versionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/versions/{versionName}/spec": {
      "get": {
        "tags": [
          "API Specifications"
        ],
        "summary": "Download spec file",
        "description": "Get spec file for an API version.",
        "operationId": "downloadSpecFile",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "versionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "replaceUrls",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "environmentId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw content of spec file",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "If current version / spec is requested but does not exist!"
          },
          "404": {
            "description": "Unknown version, spec or no file was uploaded.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "API Specifications"
        ],
        "summary": "Upload spec file",
        "description": "Upload raw spec file for an API version, overwriting any existing spec file for that API version.",
        "operationId": "uploadSpecFile",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "versionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiSpecDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "API Specifications"
        ],
        "summary": "Delete spec file",
        "description": "Delete spec file for an API version.",
        "operationId": "deleteSpecFile",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "versionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/versions/{name}": {
      "get": {
        "tags": [
          "API Versions"
        ],
        "summary": "Get API version",
        "description": "Get a single API version.",
        "operationId": "getVersion",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiVersionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "API Versions"
        ],
        "summary": "Update API version",
        "description": "Update an API version.",
        "operationId": "updateVersion",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiVersionDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiVersionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "API Versions"
        ],
        "summary": "Delete API version",
        "description": "Delete an API version.",
        "operationId": "deleteVersion",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/pages/{id}": {
      "get": {
        "tags": [
          "API Documentation Pages"
        ],
        "summary": "Get API documentation page",
        "description": "Return a single API documentation page. Its immediate children are also returned, but not their children.",
        "operationId": "get_9",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "API Documentation Pages"
        ],
        "summary": "Update API documentation page",
        "description": "Update an API documentation page.",
        "operationId": "update_12",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DocPageUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "API Documentation Pages"
        ],
        "summary": "Delete API documentation page",
        "description": "Delete an API documentation page.",
        "operationId": "delete_10",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/pages/{id}/content": {
      "get": {
        "tags": [
          "API Documentation Pages"
        ],
        "summary": "Get API documentation page content",
        "description": "Get raw content of an API documentation page. Not available for folders!",
        "operationId": "readContent",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw content of documentation page",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "No image uploaded",
            "content": {
              "application/json": {

              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "API Documentation Pages"
        ],
        "summary": "Write API documentation page content",
        "description": "Write content of an API documentation page. Existing content is overwritten. This only works if the page is not a folder and is not read-only.",
        "operationId": "writeContent",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "Get API Product",
        "description": "Return an API Product that the current user is allowed to see.",
        "operationId": "get_10",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "includeRunningJobs",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProductDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "API Products"
        ],
        "summary": "Update API Product",
        "description": "Update an API Product.",
        "operationId": "update_13",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiProductDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProductDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "API Products"
        ],
        "summary": "Delete API Product",
        "description": "Delete an API Product.",
        "operationId": "delete_11",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "undeploy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/termsOfUse/{termsOfUse}": {
      "put": {
        "tags": [
          "API Products"
        ],
        "summary": "Add terms of use to API Product",
        "description": "Assign a terms of use document to this API product.",
        "operationId": "addTermsOfUse_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "termsOfUse",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "API Products"
        ],
        "summary": "Remove terms of use from API Product",
        "description": "Unassign a terms of use document from this API product.",
        "operationId": "removeTermsOfUse_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "termsOfUse",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/plans/{planId}": {
      "put": {
        "tags": [
          "API Products"
        ],
        "summary": "Add plan to API Product",
        "description": "Add a plan to an API Product.",
        "operationId": "addPlan",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "planId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProductDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "API Products"
        ],
        "summary": "Remove plan from API Product",
        "description": "Remove a plan from an API Product.",
        "operationId": "removePlan",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "planId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProductDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/organizations/{orgId}": {
      "put": {
        "tags": [
          "API Products"
        ],
        "summary": "Add allowed organization to API Product",
        "description": "Add organization to list of organizations that are granted access to this API Product. Only applies if API Product visibility is RESTRICTED.",
        "operationId": "addAllowedOrganization_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "API Products"
        ],
        "summary": "Remove allowed organization from API Product",
        "description": "Remove organization from list of organizations that are granted access to this API Product.",
        "operationId": "removeAllowedOrganization_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "orgId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/image": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "Get API Product icon",
        "description": "Get icon for an API Product, if present.",
        "operationId": "readImageFile_5",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw content of the previously uploaded image file, with appropriate content type header.",
            "content": {
              "image/png": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "image/jpeg": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              },
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "No image uploaded",
            "content": {
              "application/json": {

              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "API Products"
        ],
        "summary": "Upload API Product icon",
        "description": "Upload icon for an API Product. Any existing icon will be overwritten.",
        "operationId": "writeImageFile_5",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "API Products"
        ],
        "summary": "Delete API Product icon",
        "description": "Delete icon for an API Product.",
        "operationId": "deleteImageFile_4",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/apis/{apiId}": {
      "put": {
        "tags": [
          "API Products"
        ],
        "summary": "Add API to API Product",
        "description": "Add an API to an API Product.",
        "operationId": "addApi",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProductDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "API Products"
        ],
        "summary": "Remove API from API Product",
        "description": "Remove an API from an API Product.",
        "operationId": "removeApi",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProductDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{apiProductId}/pages/{id}": {
      "get": {
        "tags": [
          "API Product Documentation Pages"
        ],
        "summary": "Get API Product documentation page",
        "description": "Return a single API Product documentation page. Its immediate children are also returned, but not their children.",
        "operationId": "get_11",
        "parameters": [
          {
            "name": "apiProductId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "API Product Documentation Pages"
        ],
        "summary": "Update API Product documentation page",
        "description": "Update an API Product documentation page.",
        "operationId": "update_14",
        "parameters": [
          {
            "name": "apiProductId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DocPageUpdateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "API Product Documentation Pages"
        ],
        "summary": "Delete API Product documentation page",
        "description": "Delete an API Product documentation page.",
        "operationId": "delete_12",
        "parameters": [
          {
            "name": "apiProductId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{apiProductId}/pages/{id}/content": {
      "get": {
        "tags": [
          "API Product Documentation Pages"
        ],
        "summary": "Get API Product documentation page content",
        "description": "Get raw content of an API Product documentation page. Not available for folders!",
        "operationId": "readContent_1",
        "parameters": [
          {
            "name": "apiProductId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw content of documentation page",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "No image uploaded",
            "content": {
              "application/json": {

              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "API Product Documentation Pages"
        ],
        "summary": "Write API Product documentation page content",
        "description": "Write content of an API Product documentation page. Existing content is overwritten. This only works if the page is not a folder and is not read-only.",
        "operationId": "writeContent_1",
        "parameters": [
          {
            "name": "apiProductId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiGateways/{id}": {
      "get": {
        "tags": [
          "API Gateways"
        ],
        "summary": "Get API Gateway",
        "description": "Get a single API gateway by its id.",
        "operationId": "get_12",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiGatewayDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "put": {
        "tags": [
          "API Gateways"
        ],
        "summary": "Update API Gateway",
        "description": "Update an API gateway's name. Managed gateways cannot have their name changed.",
        "operationId": "update_15",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiGatewayDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiGatewayDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "API Gateways"
        ],
        "summary": "Delete API Gateway",
        "description": "Delete an API gateway. Managed gateways cannot be deleted. Multi-environment gateways cannot be deleted while they still contain environments.",
        "operationId": "delete_13",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiGateways/{id}/agent": {
      "put": {
        "tags": [
          "Agents"
        ],
        "summary": "Generate new agent token for a gateway",
        "description": "Generate a new agent token for an API gateway. Any existing token will be overwritten, which means agents can no longer connect with the previous token.",
        "operationId": "newAgentToken",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentTokenDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/webhooks": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "List all webhooks",
        "description": "Get a filtered and paged list of all webhooks.",
        "operationId": "listWebhooks",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "eventType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageWebhookDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Create a new webhook",
        "description": "Create a new webhook.",
        "operationId": "createWebhook",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/WebhookDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/webhooks/requests/{request}/retry": {
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Retry a failed webhook delivery",
        "description": "Retry a webhook request. Successful requests cannot be retried.",
        "operationId": "retryRequest",
        "parameters": [
          {
            "name": "request",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookRequestDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/webhooks/requests/{request}/cancel": {
      "post": {
        "tags": [
          "Webhooks"
        ],
        "summary": "Cancel a pending webhook delivery",
        "description": "Cancel a webhook request, so that no more automatic retries will be made. Successful requests cannot be canceled.",
        "operationId": "cancelRequest",
        "parameters": [
          {
            "name": "request",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/WebhookRequestDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/users": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "List all users",
        "description": "Get filtered and paged list of all users.",
        "operationId": "getAllUsers",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "email",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "organization",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "INVITED",
                "ACTIVE",
                "DELETED"
              ]
            }
          },
          {
            "name": "origin",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "MANUAL",
                "INVITED",
                "LDAP",
                "SAML",
                "OIDC",
                "MANAGED"
              ]
            }
          },
          {
            "name": "role",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "USER",
                "GLOBAL_ADMIN",
                "ADMIN",
                "NO_ACCESS"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageUserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Create a new user",
        "description": "Create a new user. A password must be provided and the new user is immediately able to login.",
        "operationId": "createUser",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/users/{id}/unlock": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Unlock a locked user account",
        "description": "Unlock a user that was locked due to too many failed login attempts.",
        "operationId": "unlockUser",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/users/{id}/resendInvitation": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Resend invitation email to a user",
        "description": "Resend email to a previously invited user.",
        "operationId": "resendInvitation",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/users/setPassword": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Set password using reset token",
        "description": "Set password for a user corresponding to a token that was sent in an invitation mail or a reset password mail.",
        "operationId": "setPassword",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/users/requestNewPassword": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Request password reset email",
        "description": "Send a reset password email to the user corresponding to the access token used in this request. The mail will contain a token that can be used to reset the password.",
        "operationId": "requestNewPassword",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/NewPasswordRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/users/invite": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Invite a new user via email",
        "description": "Create a new user and send an invitation email to it. The user can only login after accepting the invitation and setting a password.",
        "operationId": "inviteUser",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserInviteRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/termsOfUse": {
      "get": {
        "tags": [
          "Terms of Use"
        ],
        "summary": "List all terms of use",
        "description": "Get a paged and filtered list of terms of use documents.",
        "operationId": "listTermsOfUse",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "active",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "defaultForApiProducts",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "defaultForDevPortals",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageTermsOfUseDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Terms of Use"
        ],
        "summary": "Create new terms of use",
        "description": "Create a new terms of use document with an initial version.",
        "operationId": "createTermsOfUse",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TermsOfUseDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TermsOfUseDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/termsOfUse/{id}/versions": {
      "get": {
        "tags": [
          "Terms of Use"
        ],
        "summary": "List versions of a terms of use",
        "description": "Get a paged and filtered list of all versions of a terms of use document.",
        "operationId": "listVersions",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageTermsOfUseVersionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Terms of Use"
        ],
        "summary": "Upload a new terms of use version",
        "description": "Upload a new version of a terms of use document.",
        "operationId": "uploadVersion",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TermsOfUseVersionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/tenant/updateTierInfo": {
      "post": {
        "tags": [
          "Current Tenant"
        ],
        "summary": "Update subscription tier",
        "description": "Request change of current tier. (Cannot change to Enterprise this way.)",
        "operationId": "updateTierInfo",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TierInfoUpdate"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/tenant/cancelTierUpdate": {
      "post": {
        "tags": [
          "Current Tenant"
        ],
        "summary": "Cancel pending tier update",
        "description": "Cancel pending tier update. (Cannot cancel updates that would disable the tenant or that would move from/to Enterprise.)",
        "operationId": "cancelTierUpdate",
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/subscriptions": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "List all subscriptions",
        "description": "Get a filtered and paged list of all subscriptions. Only includes subscriptions for which you have full access to the application or API Product.",
        "operationId": "getAll",
        "parameters": [
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "apiProduct",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "application",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "api",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "environment",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "applicationDisplayName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accessibleApplicationsOnly",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageSubscriptionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Create a new subscription",
        "description": "Create a new subscription.",
        "operationId": "create",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SubscriptionDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SubscriptionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/subscriptions/{subId}/accessPermissions/{id}/regenerate": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Regenerate API key for a subscription",
        "description": "Regenerate API key and/or secret (depends on platform type).",
        "operationId": "regenerateAccessPermission",
        "parameters": [
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "apiId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessPermissionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/subscriptions/{subId}/accessPermissions/{id}/regenerate/async": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Regenerate API key asynchronously",
        "description": "Asynchronously regenerate API key and/or secret (depends on platform type).",
        "operationId": "regenerateAccessPermissionAsync",
        "parameters": [
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "apiId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/subscriptions/{id}/deploy": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Deploy subscription to gateway environments",
        "description": "Deploy a subscription to any environment where it is required.",
        "operationId": "deploy",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/subscriptions/{id}/deploy/async": {
      "post": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Deploy subscription asynchronously",
        "description": "Asynchronously deploy a subscription to any environment where it is required.",
        "operationId": "deployAsync",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/selfService/userAndOrganization": {
      "post": {
        "tags": [
          "Self-Service Registration"
        ],
        "summary": "Create user and organization",
        "description": "Create a new organization. Create a new user in that organization and send them an invitation mail.",
        "operationId": "createUserAndOrganization",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SelfServiceRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/ruleSets": {
      "get": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "List all rulesets",
        "description": "Get filtered and paged list of all rule sets.",
        "operationId": "all",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "enabled",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "defaultRuleSet",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "global",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageRuleSetDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Create a new ruleset",
        "description": "Create a new rule set.",
        "operationId": "create_1",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RuleSetDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RuleSetDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/ruleSets/lintUpdateAllApis": {
      "post": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Re-validate all API specs against rulesets",
        "description": "Update lint results for all APIs. This may take a very long time! While this process is running, any further calls to this endpoint will return an error!",
        "operationId": "updateLintForAllSpecs",
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/ruleSets/lintUpdateAllApis/async": {
      "post": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Re-validate all API specs asynchronously",
        "description": "Asynchronously update lint results for all APIs. This may take a very long time! While this process is running, any further calls to this endpoint will return an error!",
        "operationId": "updateLintForAllSpecsAsync",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/platformType": {
      "get": {
        "tags": [
          "Platform Types"
        ],
        "summary": "List platform types",
        "description": "Get a filtered list of all platform types.",
        "operationId": "all_1",
        "parameters": [
          {
            "name": "custom",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePagePlatformTypeDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Platform Types"
        ],
        "summary": "Create a platform type",
        "description": "Create a new platform type for use with custom agents.",
        "operationId": "createPlatformType",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlatformTypeDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformTypeDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/plans": {
      "get": {
        "tags": [
          "Plans"
        ],
        "summary": "List all plans",
        "description": "Get filtered and paged list of all plans.",
        "operationId": "getPlans",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "displayName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "deploymentStatus",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "DEPLOYED",
                "DEPLOYMENT_FAILED",
                "DELETION_FAILED",
                "DELETION_IN_PROGRESS",
                "DEPLOYMENT_IN_PROGRESS",
                "DEPLOYMENT_REQUIRED",
                "CREATED"
              ]
            }
          },
          {
            "name": "product",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "candidatesForProduct",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePagePlanDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Plans"
        ],
        "summary": "Create a new plan",
        "description": "Create a new plan.",
        "operationId": "createPlan",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/PlanDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlanDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/plans/{id}/deploy": {
      "post": {
        "tags": [
          "Plans"
        ],
        "summary": "Deploy plan to gateway environments",
        "description": "Deploy a plan to all environments where it is required.",
        "operationId": "deploy_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/plans/{id}/deploy/async": {
      "post": {
        "tags": [
          "Plans"
        ],
        "summary": "Deploy plan asynchronously",
        "description": "Asynchronously deploy a plan to all environments where it is required.",
        "operationId": "deployAsync_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/organizations": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "List all organizations",
        "description": "Get filtered and paged list of all organizations.",
        "operationId": "all_2",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "displayName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "BOTH",
                "CONSUMER",
                "PUBLISHER"
              ]
            }
          },
          {
            "name": "parent",
            "in": "query",
            "description": "Restrict search to current children of this organization.",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "candidatesForChildren",
            "in": "query",
            "description": "Restrict search to organizations that may be added as child to this organization. This excludes all direct children, the organization itself as well as all of its parents (to prevent loops).",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "candidatesForParent",
            "in": "query",
            "description": "Restrict search to organizations that may be set as parent for this organization. This excludes all children and the organization itself (to prevent loops).",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageOrganizationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Organizations"
        ],
        "summary": "Create a new organization",
        "description": "Create a new organization.",
        "operationId": "create_2",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OrganizationDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/metrics": {
      "post": {
        "tags": [
          "Metrics"
        ],
        "summary": "Get metrics",
        "description": "Get metrics for an API or an application for a single environment.",
        "operationId": "getMetrics",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/MetricsRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetricsResponse"
                }
              }
            }
          },
          "204": {
            "description": "No data available, because API/application is not deployed in this environment.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/MetricsResponse"
                }
              }
            }
          },
          "501": {
            "description": "The gateway does not support the requested metrics.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/logout": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Log out current user",
        "description": "Invalidates all access tokens generated by previous logins.",
        "operationId": "logout",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LogoutResponse"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/login": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Log in with username and password",
        "description": "Login with username and password.",
        "operationId": "login",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LoginRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Authorization": {
                "description": "Bearer token",
                "style": "simple",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/login/anonymous": {
      "post": {
        "tags": [
          "Authentication"
        ],
        "summary": "Log in anonymously",
        "description": "Login as anonymous user. (Only if this feature has been enabled.)",
        "operationId": "anonymousLogin",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Authorization": {
                "description": "Bearer token",
                "style": "simple",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "type": "object"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/initialAdmin": {
      "post": {
        "tags": [
          "Users"
        ],
        "summary": "Create the initial admin user",
        "description": "Create the first GLOBAL_ADMIN user. No authorization is required for this endpoint but it can only be called as long as there are no users.",
        "operationId": "createInitialAdmin",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UserDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/hideTierDowngradeMessage": {
      "post": {
        "tags": [
          "Server Info"
        ],
        "summary": "Hide tier downgrade message",
        "description": "Call this endpoint, to clear the showTierDowngradeMessage flag obtained in /saasInfo",
        "operationId": "hideTierDowngradeMessage",
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/gitCredentials": {
      "get": {
        "tags": [
          "Git Credentials"
        ],
        "summary": "List all Git credentials",
        "description": "Get filtered and paged list of all git credentials.",
        "operationId": "all_3",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "displayName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "PASSWORD",
                "SSH"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageGitCredentialDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Git Credentials"
        ],
        "summary": "Create a new Git credential",
        "description": "Create a new git credential. For PASSWORD credentials, username and password must be present. For SSH credentials, a new key pair will be generated.",
        "operationId": "create_3",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GitCredentialDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GitCredentialDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments": {
      "get": {
        "tags": [
          "Environments"
        ],
        "summary": "List all environments",
        "description": "Get a filtered and paged list of all environments.",
        "operationId": "getEnvironments",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "INACTIVE",
                "ACTIVE"
              ]
            }
          },
          {
            "name": "pinned",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "stage",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "DEVELOPMENT",
                "PRODUCTION"
              ]
            }
          },
          {
            "name": "platformType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "apiGateway",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageEnvironmentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Environments"
        ],
        "summary": "Create a new environment",
        "description": "Create a new environment. Note that the new environment does not have an agent token, yet!",
        "operationId": "createEnvironment",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/EnvironmentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}/agent/refreshGatewayInfo": {
      "post": {
        "tags": [
          "Agents"
        ],
        "summary": "Refresh gateway info for an environment",
        "description": "Refresh agent status for an environment.",
        "operationId": "refreshGatewayInfoForEnvironment",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}/agent/refreshGatewayInfo/async": {
      "post": {
        "tags": [
          "Agents"
        ],
        "summary": "Refresh gateway info asynchronously",
        "description": "Asynchronously refresh agent status for an environment.",
        "operationId": "refreshGatewayInfoForEnvironmentAsync",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/refreshAllGatewayInfo/async": {
      "post": {
        "tags": [
          "Agents"
        ],
        "summary": "Refresh all gateway info asynchronously",
        "description": "Asynchronously refresh status for all agents.",
        "operationId": "refreshAllGatewayInfoAsync",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiGateways/refreshAllGatewayInfo/async": {
      "post": {
        "tags": [
          "Agents"
        ],
        "summary": "Refresh all gateway info asynchronously",
        "description": "Asynchronously refresh status for all agents.",
        "operationId": "refreshAllGatewayInfoAsync_1",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/refreshAllGatewayInfo": {
      "post": {
        "tags": [
          "Agents"
        ],
        "summary": "Refresh all gateway info",
        "description": "Refresh status for all agents.",
        "operationId": "refreshAllGatewayInfo",
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiGateways/refreshAllGatewayInfo": {
      "post": {
        "tags": [
          "Agents"
        ],
        "summary": "Refresh all gateway info",
        "description": "Refresh status for all agents.",
        "operationId": "refreshAllGatewayInfo_1",
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/canCreate": {
      "post": {
        "tags": [
          "Environments"
        ],
        "summary": "Check if the user can create a new environment",
        "description": "Check if a new (active) environment of a specific type can be created for the current tenant or if the tier limit has been reached.",
        "operationId": "canCreate",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CanCreate"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/discovery": {
      "post": {
        "tags": [
          "Discovery"
        ],
        "summary": "Discover APIs and components",
        "description": "Discover APIs and/or components (applications, plans and subscriptions) in one or more environments.",
        "operationId": "discover",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoveryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/discovery/environments": {
      "post": {
        "tags": [
          "Discovery"
        ],
        "summary": "Discover environments",
        "description": "Discover environments in a multi-environment API gateway.",
        "operationId": "discoverEnvironments",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentDiscoveryDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/discovery/environments/async": {
      "post": {
        "tags": [
          "Discovery"
        ],
        "summary": "Discover environments asynchronously",
        "description": "Asynchronously discover environments in a multi-environment API gateway.",
        "operationId": "discoverEnvironmentsAsync",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EnvironmentDiscoveryDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/discovery/async": {
      "post": {
        "tags": [
          "Discovery"
        ],
        "summary": "Discover APIs and components asynchronously",
        "description": "Asynchronously discover APIs and/or components (applications, plans and subscriptions) in one or more environments.",
        "operationId": "discoverAsync",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DiscoveryRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals": {
      "get": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "List all Developer Portals",
        "description": "Get a filtered and paged list of all developer portals.",
        "operationId": "all_4",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "organization",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "INACTIVE",
                "ACTIVE"
              ]
            }
          },
          {
            "name": "token",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "url",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "portalType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SELF_MANAGED",
                "BOOMI_MANAGED"
              ]
            }
          },
          {
            "name": "certificateComponentId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageDevPortalDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Create a new Developer Portal",
        "description": "Create a new developer portal.",
        "operationId": "create_4",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DevPortalDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/pages": {
      "get": {
        "tags": [
          "Developer Portal Pages"
        ],
        "summary": "List Developer Portal pages",
        "description": "Get all pages for developer portal.",
        "operationId": "getAll_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DevPortalPageDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Developer Portal Pages"
        ],
        "summary": "Create a Developer Portal page",
        "description": "Create new page. Name must be unique.",
        "operationId": "create_5",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DevPortalPageDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/newToken": {
      "post": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Generate new Developer Portal access token",
        "description": "Generate a new token for a developer portal. The existing token will be overwritten an no longer work!",
        "operationId": "newToken",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/files": {
      "get": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "List Developer Portal files",
        "description": "List all uploaded documentation files for this developer portal.",
        "operationId": "listNamedFiles",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Upload an image file to a Developer Portal",
        "description": "Upload an image file for use in documentation of a developer portal. Also used to upload logo files that can then be referenced in DevPortalPropertiesDTO. If a file with the same name exists, it will be overwritten.",
        "operationId": "writeNamedFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/blocks": {
      "get": {
        "tags": [
          "Developer Portal Blocks"
        ],
        "summary": "List Developer Portal content blocks",
        "description": "Get all blocks for developer portal.",
        "operationId": "getAll_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DevPortalBlockDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Developer Portal Blocks"
        ],
        "summary": "Create a Developer Portal content block",
        "description": "Create new block. Name must be unique.",
        "operationId": "create_6",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DevPortalBlockDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalBlockDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/current/blocks": {
      "get": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "List current portal content blocks",
        "description": "Get all blocks for the current developer portal.",
        "operationId": "allBlocks",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DevPortalBlockDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "Create current portal content block",
        "description": "Create new block. Name must be unique.",
        "operationId": "create_7",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DevPortalBlockDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalBlockDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/certificate/refresh": {
      "post": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Fetch newer version of certificate",
        "description": "Asynchronously fetch and update the certificate for all developer portals using the given certificate component.",
        "operationId": "refreshCertificateForAll",
        "parameters": [
          {
            "name": "certificateComponentId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/canCreate": {
      "post": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Check if the user can create a new Developer Portal",
        "description": "Check if a new (active) developer portal can be created for the current tenant or if the tier limit has been reached.",
        "operationId": "canCreate_1",
        "parameters": [
          {
            "name": "portalType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "default": "SELF_MANAGED",
              "enum": [
                "SELF_MANAGED",
                "BOOMI_MANAGED"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CanCreate"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/configuration/ldap/test": {
      "post": {
        "tags": [
          "Tenant Configuration"
        ],
        "summary": "Test LDAP configuration",
        "description": "Test LDAP configuration. The current LDAP configuration will not be affected by this.",
        "operationId": "testLdapConfig",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/LdapConfigDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/configuration/customApplicationFields": {
      "get": {
        "tags": [
          "Custom Application Fields"
        ],
        "summary": "List custom application fields",
        "description": "Get filtered and paged list of all custom application fields.",
        "operationId": "getAll_3",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "TEXT",
                "OPTIONS"
              ]
            }
          },
          {
            "name": "required",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageCustomFieldDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Custom Application Fields"
        ],
        "summary": "Create custom application field",
        "description": "Create a new custom application field.",
        "operationId": "create_8",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/CustomFieldDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CustomFieldDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/approvalRequests/{id}/decline": {
      "post": {
        "tags": [
          "Approval Requests"
        ],
        "summary": "Decline approval request",
        "description": "Decline an approval request.",
        "operationId": "decline",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApprovalRequestComment"
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/approvalRequests/{id}/approve": {
      "post": {
        "tags": [
          "Approval Requests"
        ],
        "summary": "Approve approval request",
        "description": "Approve an approval request.",
        "operationId": "approve",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/applications": {
      "get": {
        "tags": [
          "Applications"
        ],
        "summary": "List applications",
        "description": "Get filtered and paged list of all applications.",
        "operationId": "getAll_4",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "displayName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "INACTIVE",
                "ACTIVE"
              ]
            }
          },
          {
            "name": "deploymentStatus",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "DEPLOYED",
                "DEPLOYMENT_FAILED",
                "DELETION_FAILED",
                "DELETION_IN_PROGRESS",
                "DEPLOYMENT_IN_PROGRESS",
                "DEPLOYMENT_REQUIRED",
                "CREATED"
              ]
            }
          },
          {
            "name": "environment",
            "in": "query",
            "required": false,
            "deprecated": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "apiGateway",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "deployed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "candidatesForProduct",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "includeDeployedOn",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "hasMcpEnabledProducts",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApplicationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Applications"
        ],
        "summary": "Create application",
        "description": "Create an application.",
        "operationId": "create_9",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApplicationDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApplicationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/applications/{id}/deploy": {
      "post": {
        "tags": [
          "Applications"
        ],
        "summary": "Deploy application",
        "description": "Deploy an application to all environments where it is required.",
        "operationId": "deploy_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/applications/{id}/deploy/async": {
      "post": {
        "tags": [
          "Applications"
        ],
        "summary": "Deploy application asynchronously",
        "description": "Asynchronously deploy an application to all environments where it is required.",
        "operationId": "deployAsync_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis": {
      "get": {
        "tags": [
          "APIs"
        ],
        "summary": "List APIs",
        "description": "Get a filtered and paged list of all APIs.",
        "operationId": "getApis",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "platformTypes",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "INACTIVE",
                "ACTIVE"
              ]
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "REST",
                "GRAPHQL"
              ]
            }
          },
          {
            "name": "environment",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "deployed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "product",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "candidatesForProduct",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "includeDeployedOn",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "includeRunningJobs",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "APIs"
        ],
        "summary": "Create API",
        "description": "Create a new API.",
        "operationId": "createApi",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/versions/{name}/importIntoGateways": {
      "post": {
        "tags": [
          "API Git Integration"
        ],
        "summary": "Import API version into gateways",
        "description": "Deploy this API version to all production environments.",
        "operationId": "importIntoGateways",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiImportRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/versions/{name}/importIntoGateways/async": {
      "post": {
        "tags": [
          "API Git Integration"
        ],
        "summary": "Import API version into gateways asynchronously",
        "description": "Asynchronously deploy this API version to all production environments.",
        "operationId": "importIntoGatewaysAsync",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiImportRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/versions/{name}/analyzeOpenProxySpec": {
      "post": {
        "tags": [
          "Open Proxy Analysis"
        ],
        "summary": "Analyze Open Proxy Specification for existing API version",
        "description": "Analyze new Open Proxy Specification for an existing API version. Returns any errors or warnings found, as well as the API details, if possible. This endpoints takes the existing Control Plane API into account and adds warnings, if its details differ from the ones in the Open Proxy Specification.",
        "operationId": "analyzeForExistingVersion",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "openProxySpec": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "openProxySpec"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenProxySpecAnalysis"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/scanGitForTags": {
      "post": {
        "tags": [
          "API Git Integration"
        ],
        "summary": "Scan git repository for tags",
        "description": "Scan the git repository, that has been configured for this API, for tags and import them as API versions.",
        "operationId": "scanGitForTags",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ApiVersionDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/scanGitForOpenProxySpecs": {
      "post": {
        "tags": [
          "API Git Integration"
        ],
        "summary": "Scan git repository for Open Proxy Specs",
        "description": "Scan the git repository, that has been configured for this Universal API, for tags and import them as API versions. An error is returned if the API is not a Universal API.",
        "operationId": "scanGitForOpenProxySpecs",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenProxyGitRepoAnalysis"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/files": {
      "get": {
        "tags": [
          "APIs"
        ],
        "summary": "List API documentation files",
        "description": "List all uploaded documentation files for this API.",
        "operationId": "listNamedFiles_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "APIs"
        ],
        "summary": "Upload API documentation image file",
        "description": "Upload image file for use in documentation of an API. If a file with the same name exists, it will be overwritten.",
        "operationId": "writeNamedFile_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/exportFromGateway": {
      "post": {
        "tags": [
          "API Git Integration"
        ],
        "summary": "Export API from gateway",
        "description": "Export API from environment to git repository.",
        "operationId": "exportFromGateway",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiExportRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/exportFromGateway/async": {
      "post": {
        "tags": [
          "API Git Integration"
        ],
        "summary": "Export API from gateway asynchronously",
        "description": "Asynchronously export API from environment to git repository.",
        "operationId": "exportFromGatewayAsync",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiExportRequestDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/analyzeOpenProxySpec": {
      "post": {
        "tags": [
          "Open Proxy Analysis"
        ],
        "summary": "Analyze Open Proxy Specification for new API version",
        "description": "Analyze Open Proxy Specification and (optionally) OpenAPI file. Returns any errors or warnings found, as well as the API details, if possible. This endpoints takes the existing Control Plane API into account and adds warnings, if its details (name, versions, ...) differ from the ones in the Open Proxy Specification.",
        "operationId": "analyzeForNewVersion",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "openProxySpec": {
                    "type": "string",
                    "format": "binary"
                  },
                  "openAPI": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "openProxySpec"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenProxySpecAnalysis"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{api}/versions/{versionName}/openProxySpec/create": {
      "post": {
        "tags": [
          "Open Proxy"
        ],
        "summary": "Generate Open Proxy Specification",
        "description": "Generate an Open Proxy Specification file for an API version from a backend URL and context path, overwriting any existing file for that API version.",
        "operationId": "generateOpenProxySpec",
        "parameters": [
          {
            "name": "api",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "versionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenProxySpecDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/versions": {
      "get": {
        "tags": [
          "API Versions"
        ],
        "summary": "List API versions",
        "description": "Get a list of all API versions for an API.",
        "operationId": "getVersions",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiVersionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "API Versions"
        ],
        "summary": "Create API version",
        "description": "Create a new API version.",
        "operationId": "createVersion",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiVersionDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiVersionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/versions/{versionName}/spec/lintUpdate": {
      "post": {
        "tags": [
          "API Specifications"
        ],
        "summary": "Trigger spec lint update",
        "description": "Trigger a re-run of linting for the spec file of an API version. Returns a running job that can be used to track progress.",
        "operationId": "lintUpdate",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "versionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunningJobDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/versions/{versionName}/spec/buildInIntegration": {
      "post": {
        "tags": [
          "API Specifications"
        ],
        "summary": "Build API spec in Boomi Integration",
        "description": "Accept request to trigger Build in Boomi Integration and return generation status",
        "operationId": "buildInIntegration",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "versionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunningJobDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/versions/{name}/openApiSpecAI": {
      "post": {
        "tags": [
          "API Versions"
        ],
        "summary": "Generate OpenAPI Specification with AI",
        "description": "Request generation of open API Specification with AI",
        "operationId": "startOpenAPISpecAiGen",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "name",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/OpenApiSpecAiDto"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiVersionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/pages": {
      "get": {
        "tags": [
          "API Documentation Pages"
        ],
        "summary": "List API documentation pages as tree",
        "description": "Get all documentation pages for an API. Returns all root pages and all of their children, recursively.",
        "operationId": "getAllAsTree",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocPageDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "API Documentation Pages"
        ],
        "summary": "Create API documentation page",
        "description": "Create a new API documentation page.",
        "operationId": "create_10",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DocPageCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/pages/{id}/startAIGeneration": {
      "post": {
        "tags": [
          "API Documentation Pages"
        ],
        "summary": "Start AI documentation generation",
        "description": "Begin AI document generation for this documentation page. The process will be continue in background. On success, the AI generated document will be appended to the content of this page.",
        "operationId": "startAIDocGeneration",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AiDocRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/pages/{id}/fetch": {
      "post": {
        "tags": [
          "API Documentation Pages"
        ],
        "summary": "Fetch external API documentation page",
        "description": "Fetch children or content for an external API documentation page.",
        "operationId": "fetch",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/pages/{id}/fetch/async": {
      "post": {
        "tags": [
          "API Documentation Pages"
        ],
        "summary": "Fetch external API documentation page asynchronously",
        "description": "Asynchronously fetch children or content for an external API documentation page.",
        "operationId": "fetchAsync",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/pages/{id}/clearAIGeneration": {
      "post": {
        "tags": [
          "API Documentation Pages"
        ],
        "summary": "Clear AI documentation generation status",
        "description": "Reset AI document generation status. If current status is error, the status is simply cleared (i.e. the error is dismissed). If status is in-progress, the generation process is canceled.",
        "operationId": "clearAIDocGeneration",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/deployments/{apiDeploymentId}/replaceApiPolicyTemplates": {
      "post": {
        "tags": [
          "APIs"
        ],
        "summary": "Replace API policy templates",
        "description": "Replace API policy templates assigned to a deployed API.",
        "operationId": "replaceApiPolicyTemplates",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "apiDeploymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApiDeploymentPolicyDTO"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/deployments/{apiDeploymentId}/replaceApiPolicyTemplates/async": {
      "post": {
        "tags": [
          "APIs"
        ],
        "summary": "Replace API policy templates asynchronously",
        "description": "Asynchronously replace API policy templates assigned to a deployed API.",
        "operationId": "replaceApiPolicyTemplatesAsync",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "apiDeploymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "type": "array",
                "items": {
                  "$ref": "#/components/schemas/ApiDeploymentPolicyDTO"
                }
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/deployments/{apiDeploymentId}/assignApiPolicyTemplate": {
      "post": {
        "tags": [
          "APIs"
        ],
        "summary": "Assign an API policy template",
        "description": "Assign a single API policy template to a deployed API without modifying existing assignments. The list of API policy templates in the request body must contain exactly one item.",
        "operationId": "assignApiPolicyTemplate",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "apiDeploymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiDeploymentPolicyDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/deployments/{apiDeploymentId}/assignApiPolicyTemplate/async": {
      "post": {
        "tags": [
          "APIs"
        ],
        "summary": "Assign an API policy template asynchronously",
        "description": "Asynchronously assign a single API policy template to a deployed API without modifying existing assignments. The list of API policy templates in the request body must contain exactly one item.",
        "operationId": "assignApiPolicyTemplateAsync",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "apiDeploymentId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiDeploymentPolicyDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/scoreSpecFile": {
      "post": {
        "tags": [
          "APIs"
        ],
        "summary": "Score a spec file",
        "description": "Just calculate quality/security scores for a spec file without persisting it or creating any APIs.",
        "operationId": "scoreSpecFile",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ScoreSpecFileRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LintResultInfoDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/canCreate": {
      "post": {
        "tags": [
          "APIs"
        ],
        "summary": "Check if API can be created",
        "description": "Check if a new (active) API can be created for the current tenant or if the tier limit has been reached.",
        "operationId": "canCreate_2",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CanCreate"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/analyzeOpenProxySpec": {
      "post": {
        "tags": [
          "Open Proxy Analysis"
        ],
        "summary": "Analyze Open Proxy Specification for new API",
        "description": "Analyze Open Proxy Specification and (optionally) OpenAPI file. Returns any errors or warnings found, as well as the API details, if possible.",
        "operationId": "analyzeForNewApi",
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "openProxySpec": {
                    "type": "string",
                    "format": "binary"
                  },
                  "openAPI": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "openProxySpec"
                ]
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenProxySpecAnalysis"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/analyzeOpenProxyGitRepo": {
      "post": {
        "tags": [
          "Open Proxy Analysis"
        ],
        "summary": "Analyze Open Proxy Specification in git repository",
        "description": "Scan a git repository for Open Proxy Specification files and analyze each one found. Returns errors and warnings per version, as well as the API details extracted from the specifications.",
        "operationId": "analyzeGitRepo",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/GitRepoAnalysisRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenProxyGitRepoAnalysis"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "List API Products",
        "description": "Get a filtered and paged list of all API Products. For users that are not global admins, this list is limited to API Products owned by the user's organization.",
        "operationId": "list",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "displayName",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "environment",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "deployed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "api",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "platformTypes",
            "in": "query",
            "description": "Filter by platform types. Supports multiple values (e.g., platformTypes=BOOMI&platformTypes=AWS).",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "plan",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "visibility",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "RESTRICTED",
                "PUBLIC"
              ]
            }
          },
          {
            "name": "published",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "UNPUBLISHED",
                "PUBLISHED"
              ]
            }
          },
          {
            "name": "selfServiceSubscriptionAllowed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "candidatesForApi",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "includeDeployedOn",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "mcpStatus",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "DISABLED",
                "ENABLED"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiProductDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "API Products"
        ],
        "summary": "Create API Product",
        "description": "Create a new API Product.",
        "operationId": "create_11",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiProductDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProductDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/files": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "List API Product documentation files",
        "description": "List all uploaded documentation files for this API Product.",
        "operationId": "listNamedFiles_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "API Products"
        ],
        "summary": "Upload API Product documentation image file",
        "description": "Upload image file for use in documentation of an API Product. If a file with the same name exists, it will be overwritten.",
        "operationId": "writeNamedFile_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "multipart/form-data": {
              "schema": {
                "type": "object",
                "properties": {
                  "file": {
                    "type": "string",
                    "format": "binary"
                  }
                },
                "required": [
                  "file"
                ]
              }
            }
          }
        },
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/deploy": {
      "post": {
        "tags": [
          "API Products"
        ],
        "summary": "Deploy API Product",
        "description": "Update existing deployments for an API Product.",
        "operationId": "deploy_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/deploy/async": {
      "post": {
        "tags": [
          "API Products"
        ],
        "summary": "Deploy API Product asynchronously",
        "description": "Asynchronously update existing deployments for an API Product.",
        "operationId": "deployAsync_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{apiProductId}/pages": {
      "get": {
        "tags": [
          "API Product Documentation Pages"
        ],
        "summary": "List API Product documentation pages as tree",
        "description": "Get all documentation pages for an API Product. Returns all root pages and all of their children, recursively.",
        "operationId": "getAllAsTree_1",
        "parameters": [
          {
            "name": "apiProductId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocPageDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "API Product Documentation Pages"
        ],
        "summary": "Create API Product documentation page",
        "description": "Create a new API Product documentation page.",
        "operationId": "create_12",
        "parameters": [
          {
            "name": "apiProductId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/DocPageCreateRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{apiProductId}/pages/{id}/fetch": {
      "post": {
        "tags": [
          "API Product Documentation Pages"
        ],
        "summary": "Fetch external API Product documentation page",
        "description": "Fetch children or content for an external API Product documentation page.",
        "operationId": "fetch_1",
        "parameters": [
          {
            "name": "apiProductId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{apiProductId}/pages/{id}/fetch/async": {
      "post": {
        "tags": [
          "API Product Documentation Pages"
        ],
        "summary": "Fetch external API Product documentation page asynchronously",
        "description": "Asynchronously fetch children or content for an external API Product documentation page.",
        "operationId": "fetchAsync_1",
        "parameters": [
          {
            "name": "apiProductId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiGateways": {
      "get": {
        "tags": [
          "API Gateways"
        ],
        "summary": "List API Gateways",
        "description": "Get a paginated list of API gateways. Supports optional filtering by free-text search, name, platform type, agent type, and environment type.",
        "operationId": "list_1",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "name",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "platformType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "agentType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "STANDALONE",
                "MANAGED"
              ]
            }
          },
          {
            "name": "environmentType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SINGLE",
                "MULTI"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiGatewayDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "API Gateways"
        ],
        "summary": "Create API Gateway",
        "description": "Create a new multi-environment API gateway. Returns the created gateway including a one-time agent token to be used when connecting the agent.",
        "operationId": "create_13",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ApiGatewayDTO"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiGatewayDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiGateways/{id}/agent/refreshGatewayInfo": {
      "post": {
        "tags": [
          "Agents"
        ],
        "summary": "Refresh gateway info for a specific gateway",
        "description": "Refresh agent status for an API gateway.",
        "operationId": "refreshGatewayInfo",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AgentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiGateways/{id}/agent/refreshGatewayInfo/async": {
      "post": {
        "tags": [
          "Agents"
        ],
        "summary": "Refresh gateway info for a gateway asynchronously",
        "description": "Asynchronously refresh agent status for an API gateway.",
        "operationId": "refreshGatewayInfoAsync",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/admin-portal/**": {
      "post": {
        "tags": [
          "Server Info"
        ],
        "summary": "Redirect to admin portal (POST)",
        "description": "Redirect to admin-portal url of the specified tenant.",
        "operationId": "redirectToAdminPortalPost",
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/admin-portal": {
      "get": {
        "tags": [
          "Server Info"
        ],
        "summary": "Redirect to admin portal",
        "description": "Redirect to admin-portal url of the specified tenant.",
        "operationId": "redirectToAdminPortal",
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      },
      "post": {
        "tags": [
          "Server Info"
        ],
        "summary": "Redirect to admin portal (POST)",
        "description": "Redirect to admin-portal url of the specified tenant.",
        "operationId": "redirectToAdminPortalPost_1",
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/accessTokens": {
      "get": {
        "tags": [
          "Access Tokens"
        ],
        "summary": "List access tokens",
        "description": "Get list of all access tokens for the user authenticated in this request.",
        "operationId": "getTokens",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccessTokenResponse"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "post": {
        "tags": [
          "Access Tokens"
        ],
        "summary": "Create access token",
        "description": "Create a new access token for the user authenticated in this request.",
        "operationId": "createToken",
        "requestBody": {
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/AccessTokenRequest"
              }
            }
          },
          "required": true
        },
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokenResponse"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/webhooks/requests": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "List webhook delivery history",
        "description": "Get a filtered and paged list of all webhook requests. Can be used to get all requests for a specific webhook.",
        "operationId": "getAllRequests",
        "parameters": [
          {
            "name": "webhook",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "eventType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "CREATED",
                "SUCCESS",
                "RETRYING",
                "GIVE_UP",
                "CANCELLED"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageWebhookRequestDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/webhooks/knownEvents": {
      "get": {
        "tags": [
          "Webhooks"
        ],
        "summary": "List available webhook event types",
        "description": "Get all known webhook events with description and example.",
        "operationId": "getKnownEvents",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/KnownEvent"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/validate-token": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get currently logged-in user",
        "description": "Get user corresponding to the access token used in this request.",
        "operationId": "getLoggedInUser_1",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/users/{id}/acceptedTermsOfUse": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Get user's accepted terms of use",
        "description": "All detail about the accepted versions of terms of use documents and who accepted them.",
        "operationId": "getAcceptedTermsOfUSe",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedTermsOfUse"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/users/invitation": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "Validate a user invitation token",
        "description": "Get user corresponding to a token, that was sent in an invitation mail or a reset password mail.",
        "operationId": "checkInvitation",
        "parameters": [
          {
            "name": "token",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/tierLimits": {
      "get": {
        "tags": [
          "Server Info"
        ],
        "summary": "Get tier limits",
        "description": "For all entites that may be limited, get the current amount and the limit for the current tier.",
        "operationId": "tierLimits",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TierLimitsDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/termsOfUse/{id}/versions/{number}": {
      "get": {
        "tags": [
          "Terms of Use"
        ],
        "summary": "Download a terms of use version file",
        "description": "Download the file for this terms of use document version.",
        "operationId": "downloadFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "number",
            "in": "path",
            "required": true,
            "schema": {
              "type": "integer",
              "format": "int32"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/termsOfUse/{id}/latestFile": {
      "get": {
        "tags": [
          "Terms of Use"
        ],
        "summary": "Download latest terms of use version",
        "description": "Get latest file for a terms of use document.",
        "operationId": "downloadLatestFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/tenant/tierHistory": {
      "get": {
        "tags": [
          "Current Tenant"
        ],
        "summary": "Get subscription tier change history",
        "description": "Get tier history and prices per month.",
        "operationId": "getTierHistory",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TierHistoryDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/tags/visibleApis": {
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "List tags used by visible APIs",
        "description": "Get all tags used by visible APIs. This takes into account the visibility settings of API Products as well as the developer portal (if any) from which this request is sent.",
        "operationId": "apiTagsUsedByVisibleApis",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/tags/visibleApiProducts": {
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "List tags used by visible API Products",
        "description": "Get all tags used by visible API Products. This takes into account the visibility settings of API Products as well as the developer portal (if any) from which this request is sent.",
        "operationId": "apiTagsUsedByVisibleProducts",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/tags/ownedApis": {
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "List tags used by owned APIs",
        "description": "Get all tags used by APIs that are owned by the current user. If the current user is global admin, this is equivalent to /tags/apis. You may use the result as possible tag filters to /apis.",
        "operationId": "apiTagsUsedByOwnedApis",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/tags/ownedApiProducts": {
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "List tags used by owned API Products",
        "description": "Get all tags used by API Products that are owned by the current user. If the current user is global admin, this is equivalent to /tags/apiProducts. You may use the result as possible tag filters to /apiProducts.",
        "operationId": "apiTagsUsedByOwnedProducts",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/tags/apis": {
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "List tags used by APIs",
        "description": "Get all tags used by any API.",
        "operationId": "allApiTags",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageString"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/tags/apiProducts": {
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "List tags used by API Products",
        "description": "Get all tags used by any API Product.",
        "operationId": "allProductTags",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageString"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/tags/all": {
      "get": {
        "tags": [
          "Tags"
        ],
        "summary": "List all tags",
        "description": "Get all tags used by any API or API Product.",
        "operationId": "allTags",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageString"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/systemMessages": {
      "get": {
        "tags": [
          "System Messages"
        ],
        "summary": "List system messages",
        "description": "Get all current system messages. (This feature will be re-done in the future.)",
        "operationId": "getAll_5",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SystemMessageDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/subscriptions/{subId}/accessPermissions/{id}": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Get access credentials for a subscription",
        "description": "Get one access permission by id for a subscription.",
        "operationId": "getAccessPermission",
        "parameters": [
          {
            "name": "subId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessPermissionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/subscriptions/{id}/deployments": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "List subscription deployments across environments",
        "description": "Get all deployments for a subscription.",
        "operationId": "deployments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiProductSubscriptionDeploymentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/subscriptions/{id}/accessPermissions": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "List all access credentials for a subscription",
        "description": "Get access permissions (=api keys) for a subscription.",
        "operationId": "getAccessPermissions",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AccessPermissionDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/subscriptions/{id}/acceptedTermsOfUse": {
      "get": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Get accepted terms of use for a subscription",
        "description": "All detail about the accepted versions of terms of use documents and who accepted them.",
        "operationId": "getAcceptedTermsOfUSe_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AcceptedTermsOfUse"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/specs/types": {
      "get": {
        "tags": [
          "Spec Info"
        ],
        "summary": "List API spec types",
        "description": "Get all available types for API spec files.",
        "operationId": "getTypes",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/SpecTypeDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/serverInfo": {
      "get": {
        "tags": [
          "Server Info"
        ],
        "summary": "Get server info",
        "description": "Get general server info (currently just build information).",
        "operationId": "getInfo",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ServerInfoDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/scopes": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "List available authorization scopes",
        "description": "Get all available scopes.",
        "operationId": "getScopes",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ScopeDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/saml2/authenticate/default": {
      "get": {
        "tags": [
          "Authentication"
        ],
        "summary": "Initiate SAML SSO login",
        "operationId": "startSamlLogin",
        "parameters": [
          {
            "name": "devPortalToken",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/saasInfo": {
      "get": {
        "tags": [
          "Server Info"
        ],
        "summary": "Get SaaS info",
        "description": "Get SaaS related information for current tenant. Not relevant in on-prem mode.",
        "operationId": "getSaaSInfo",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SaaSInfoDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/runningJobs": {
      "get": {
        "tags": [
          "Running Jobs"
        ],
        "summary": "Get and consume running job by entity",
        "description": "Get the runningJob for a given entity/job type combination, or null if none exists. Read-once: the RunningJob row is deleted as part of this call, so it never lingers beyond the single lookup it exists for. Useful for flows (like async delete) where the job id isn't returned directly to the caller and the entity itself no longer exists to have a RunningJob replace it on a future sync.",
        "operationId": "getByEntity",
        "parameters": [
          {
            "name": "entityId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "entityType",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "API",
                "API_SPEC",
                "API_PRODUCT"
              ]
            }
          },
          {
            "name": "jobType",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "BUILD_IN_INTEGRATION",
                "API_SPEC_LINT",
                "MCP_REGISTRY_SYNC"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunningJobDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/runningJobs/{id}": {
      "get": {
        "tags": [
          "Running Jobs"
        ],
        "summary": "Get running job",
        "description": "Get information about a single runningJob in the database.",
        "operationId": "get_13",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/RunningJobDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/ruleSets/{id}/ruleInfos": {
      "get": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "List rules in a ruleset",
        "description": "Get infos about each rule in a rule set, including rules from extended rule sets.",
        "operationId": "getRuleInfos",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RuleInfo"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/ruleSets/{id}/organizations": {
      "get": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "List organizations assigned to a ruleset",
        "description": "Get all organizations assigned to a rule set.",
        "operationId": "getOrganizations",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageOrganizationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "Remove all organizations from a ruleset",
        "description": "Remove all organizations from a rule set, making it apply to all organizations instead.",
        "operationId": "removeAllOrganizations",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/ruleSets/{id}/organizations/available": {
      "get": {
        "tags": [
          "Rule Sets"
        ],
        "summary": "List organizations available to assign",
        "description": "Get all organizations that may be added to a rule set. This list will contain all publishing organizations that have not been added, yet.",
        "operationId": "getAvailableOrganizations",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "BOTH",
                "CONSUMER",
                "PUBLISHER"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageOrganizationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/roles": {
      "get": {
        "tags": [
          "Users"
        ],
        "summary": "List available user roles",
        "description": "Get all available user roles.",
        "operationId": "getRoles",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/platformType/{id}/canDelete": {
      "get": {
        "tags": [
          "Platform Types"
        ],
        "summary": "Check if a platform type can be deleted",
        "description": "Check if a platform type can be deleted. Platform types can only be deleted if they are not used by any API Gateway.",
        "operationId": "canDelete",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OperationAllowed"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/platformType/byType/{type}": {
      "get": {
        "tags": [
          "Platform Types"
        ],
        "summary": "Get a platform type by type",
        "description": "Get a platform type by type.",
        "operationId": "getByType",
        "parameters": [
          {
            "name": "type",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/PlatformTypeDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/plans/{id}/deployments": {
      "get": {
        "tags": [
          "Plans"
        ],
        "summary": "List plan deployments across environments",
        "description": "Get a paginated list of API product plan deployments for a plan, showing the deployment status across all environments.",
        "operationId": "deployments_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiProductPlanDeploymentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/plans/{id}/apiProducts": {
      "get": {
        "tags": [
          "Plans"
        ],
        "summary": "List API Products using this plan",
        "description": "Get all ApiProducts to which this plan has been added.",
        "operationId": "getApiProducts",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "includeDeployedOn",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "mcpStatus",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "DISABLED",
                "ENABLED"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiProductDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/organizations/{id}/subscribeEnvironments": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "List environments the organization can subscribe to",
        "description": "Get all restricted environments in which this organization is allowed to subscribe.",
        "operationId": "getSubscribeAccessEnvironments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accessMode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "PUBLIC",
                "RESTRICTED"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageEnvironmentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/organizations/{id}/subscribeEnvironments/available": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "List environments available for subscribe access",
        "description": "Get all restricted environments in which this organization may be granted subscribe access.",
        "operationId": "getAvailableSubscribeAccessEnvironments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageEnvironmentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/organizations/{id}/publishEnvironments": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "List environments the organization can publish to",
        "description": "Get all restricted environments in which this organization is allowed to publish.",
        "operationId": "getPublishAccessEnvironments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "accessMode",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "PUBLIC",
                "RESTRICTED"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageEnvironmentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/organizations/{id}/publishEnvironments/available": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "List environments available for publish access",
        "description": "Get all restricted environments in which this organization may be granted publish access.",
        "operationId": "getAvailablePublishAccessEnvironments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageEnvironmentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/organizations/default": {
      "get": {
        "tags": [
          "Organizations"
        ],
        "summary": "Get the default organization",
        "description": "Get the default organization.",
        "operationId": "default",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OrganizationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/migrationResults": {
      "get": {
        "tags": [
          "Migration Results"
        ],
        "summary": "List migration results",
        "description": "Get all current migration results",
        "operationId": "getAll_6",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/MigrationResultDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/mcpServers/visibleIds": {
      "get": {
        "tags": [
          "MCP Server Versions"
        ],
        "description": "Return the IDs of all MCP server versions visible to the current user. Public versions are always included; restricted versions are included if the user's organization is in the allowed list.",
        "operationId": "getVisibleIds",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/mcpServers/version/organizations": {
      "get": {
        "tags": [
          "MCP Server Versions"
        ],
        "description": "Get all organizations that have been granted access to this MCP server version. Only applies if visibility is RESTRICTED.",
        "operationId": "getAllowedOrganizations",
        "parameters": [
          {
            "name": "serverName",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationNameOnlyDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/mcpServers/version/organizations/available": {
      "get": {
        "tags": [
          "MCP Server Versions"
        ],
        "description": "Return organizations that can be granted access to this MCP server version. Already-allowed organizations are excluded.",
        "operationId": "getAvailableOrganizations_1",
        "parameters": [
          {
            "name": "serverName",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "version",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationNameOnlyDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/mcp/apiProducts": {
      "get": {
        "tags": [
          "MCP Bridge"
        ],
        "summary": "Get MCP Product Info",
        "description": "Returns product info (APIs, versions, credentials, etc.) for a given API Product and Application using an AI Agent Key. Either 'name' or 'uuid' must be provided.",
        "operationId": "getProductInfo",
        "parameters": [
          {
            "name": "name",
            "in": "query",
            "description": "Name of the API product",
            "required": false,
            "schema": {
              "type": "string"
            },
            "example": "petstore-product"
          },
          {
            "name": "uuid",
            "in": "query",
            "description": "UUID of the API product",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "example": "00000000-0000-4000-8000-000000000000"
          },
          {
            "name": "x-ai-agent-key",
            "in": "header",
            "description": "API key used to authenticate the MCP agent (bound to an application)",
            "required": true,
            "example": "5:A8sleKwB3U7s2-593KACUrb33Z8"
          }
        ],
        "responses": {
          "200": {
            "description": "Successfully retrieved product information",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/McpProductInfoDTO"
                }
              }
            }
          },
          "400": {
            "description": "Missing or invalid query parameter",
            "content": {
              "application/json": {

              }
            }
          },
          "401": {
            "description": "Missing or invalid AI agent key",
            "content": {
              "application/json": {

              }
            }
          },
          "403": {
            "description": "Access forbidden – application is not subscribed or product is not MCP-enabled",
            "content": {
              "application/json": {

              }
            }
          },
          "404": {
            "description": "API product not found",
            "content": {
              "application/json": {

              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/mcp/apiProducts/{apiProductName}/apis/{apiId}/versions/{versionName}/spec": {
      "get": {
        "tags": [
          "MCP Bridge"
        ],
        "summary": "Download spec file for an API version (MCP agent)",
        "description": "Returns the raw OpenAPI specification file for the given API ID and version name. Requires a valid x-ai-agent-key header.",
        "operationId": "downloadSpecFileFromMcp",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "description": "ID of the API",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            },
            "example": 201
          },
          {
            "name": "versionName",
            "in": "path",
            "description": "Version name of the API",
            "required": true,
            "schema": {
              "type": "string"
            },
            "example": "v1"
          },
          {
            "name": "x-ai-agent-key",
            "in": "header",
            "description": "API key used to authenticate the MCP agent (bound to an application)",
            "required": true,
            "example": "5:A8sleKwB3U7s2-593KACUrb33Z8"
          },
          {
            "name": "apiProductName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "401": {
            "description": "Missing or invalid AI agent key",
            "content": {
              "application/json": {

              }
            }
          },
          "404": {
            "description": "API, version or spec not found",
            "content": {
              "application/json": {

              }
            }
          },
          "204": {
            "description": "Spec file stream returned successfully",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/login/options": {
      "get": {
        "tags": [
          "Authentication"
        ],
        "summary": "Get available login methods",
        "description": "Get available login methods.",
        "operationId": "getLoginOptions",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LoginOptionsDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/login/oidc/authorize": {
      "get": {
        "tags": [
          "Authentication"
        ],
        "summary": "Initiate OIDC login",
        "operationId": "startOidcLogin",
        "parameters": [
          {
            "name": "devPortalToken",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/login/boomi/authorize": {
      "get": {
        "tags": [
          "Authentication"
        ],
        "summary": "Initiate Boomi Platform login",
        "operationId": "startBoomiLogin",
        "parameters": [
          {
            "name": "devPortalToken",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/jobs": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "List background jobs",
        "description": "Get all currently running background jobs.",
        "operationId": "all_5",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/JobDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/jobs/{id}": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get background job",
        "description": "Get information about a single background job.",
        "operationId": "get_14",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/governance/zombieApis": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "Get zombie APIs",
        "description": "Get APIs without new subscriptions in the last 90 days.",
        "operationId": "getZombieApis",
        "parameters": [
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiWithOwner"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/governance/slowestApis": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "Get slowest APIs",
        "description": "Get APIs with largest average latencies. This will only consider APIs for which raw metrics are stored.",
        "operationId": "getSlowestApis",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "until",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "environment",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "aggregation",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "MEAN",
                "MEDIAN",
                "PERCENTILE_95"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiLatencyDetails"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/governance/shadowApis": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "Get shadow APIs",
        "description": "Get APIs with no API specification (in their current version).",
        "operationId": "getShadowApis",
        "parameters": [
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiWithOwner"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/governance/ruleViolations": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "Get rule violations",
        "description": "Get rules and their total number of violations. The result is first ordered by severity (errors first) and then by the number of violations. Rules with 0 violations will not be included!",
        "operationId": "getRuleViolations",
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SECURITY",
                "QUALITY"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageRuleViolation"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/governance/productSubscriptions": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "Get API product subscriptions stats",
        "description": "Get API products with their number of subscriptions.",
        "operationId": "getProductSubscriptions",
        "parameters": [
          {
            "name": "visibility",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "RESTRICTED",
                "PUBLIC"
              ]
            }
          },
          {
            "name": "published",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "approvalStatus",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "APPROVED",
                "PENDING",
                "DECLINED"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageProductSubscriptions"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/governance/organizationScores": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "Get organization scores",
        "description": "Get average security/quality scores for each organization.",
        "operationId": "getOrganizationScores",
        "parameters": [
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageOrganizationScores"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/governance/applicationSubscriptions": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "Get application subscriptions stats",
        "description": "Get applications with their number of subscriptions.",
        "operationId": "getApplicationSubscriptions",
        "parameters": [
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "approvalStatus",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "APPROVED",
                "PENDING",
                "DECLINED"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApplicationSubscriptions"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/governance/apiSubscriptions": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "Get API subscriptions stats",
        "description": "Get APIs with their number of subscriptions.",
        "operationId": "getApiSubscriptions",
        "parameters": [
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "approvalStatus",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "APPROVED",
                "PENDING",
                "DECLINED"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiSubscriptions"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/governance/apiScores": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "Get API scores",
        "description": "Get APIs and their security/quality scores (the ones for the current version of each API). The request must include a sort parameter for either qualityScore or securityScore!",
        "operationId": "getApiScores",
        "parameters": [
          {
            "name": "category",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "enum": [
                "SECURITY",
                "QUALITY"
              ]
            }
          },
          {
            "name": "owner",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiScore"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/governance/activeSubscriptions": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "Get active subscriptions over time",
        "description": "Get active subscriptions for each day in the specified interval. Interval must me smaller than 1000 days. Parts of the interval that lie in the future or too far in the past may be cut off (Check from/until values in response for actual interval).",
        "operationId": "getActiveSubscriptionsOverTime",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "until",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GovernanceGraph"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/governance/activeApis": {
      "get": {
        "tags": [
          "Governance"
        ],
        "summary": "Get active APIs over time",
        "description": "Get active APIs for each day in the specified interval. Interval must me smaller than 1000 days. Parts of the interval that lie in the future or too far in the past may be cut off (Check from/until values in response for actual interval).",
        "operationId": "getActiveApisOverTime",
        "parameters": [
          {
            "name": "from",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            }
          },
          {
            "name": "until",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "format": "date"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GovernanceGraph"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/finishSamlLogin": {
      "get": {
        "tags": [
          "Authentication"
        ],
        "summary": "Complete SAML SSO login",
        "description": "To be called by frontend, to complete SAML login process and obtain actual access token.",
        "operationId": "finishSamlLogin",
        "responses": {
          "200": {
            "description": "OK",
            "headers": {
              "Authorization": {
                "description": "Bearer token",
                "style": "simple",
                "schema": {
                  "type": "string"
                }
              }
            },
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}/subscribeOrganizations": {
      "get": {
        "tags": [
          "Environments"
        ],
        "summary": "List organizations with subscribe access",
        "description": "Get all organizations that have subscribe access in this environment.",
        "operationId": "getReadAccessOrganizations",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageOrganizationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}/subscribeOrganizations/available": {
      "get": {
        "tags": [
          "Environments"
        ],
        "summary": "List organizations available for subscribe access",
        "description": "Get all organizations that may be granted subscribe access in this environment.",
        "operationId": "getAvailableReadAccessOrganizations",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageOrganizationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}/publishOrganizations": {
      "get": {
        "tags": [
          "Environments"
        ],
        "summary": "List organizations with publish access",
        "description": "Get all organizations that have publish access in this environment.",
        "operationId": "getWriteAccessOrganizations",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageOrganizationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}/publishOrganizations/available": {
      "get": {
        "tags": [
          "Environments"
        ],
        "summary": "List organizations available for publish access",
        "description": "Get all organizations that may be granted publish access in this environment.",
        "operationId": "getAvailableWriteAccessOrganizations",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageOrganizationDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}/deployments/subscriptions": {
      "get": {
        "tags": [
          "Environments"
        ],
        "summary": "List subscription deployments in an environment",
        "description": "Get all subscription deployments in an environment.",
        "operationId": "subscriptionDeployments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiProductSubscriptionDeploymentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}/deployments/plans": {
      "get": {
        "tags": [
          "Environments"
        ],
        "summary": "List plan deployments in an environment",
        "description": "Get all plan deployments in an environment.",
        "operationId": "planDeployments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiProductPlanDeploymentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}/deployments/applications": {
      "get": {
        "tags": [
          "Environments"
        ],
        "summary": "List application deployments in an environment",
        "description": "Get all application deployments in an environment.",
        "operationId": "applicationDeployments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApplicationDeploymentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/environments/{id}/deployments/apis": {
      "get": {
        "tags": [
          "Environments"
        ],
        "summary": "List API deployments in an environment",
        "description": "Get all API deployments for an environment.",
        "operationId": "getApiDeployments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiDeploymentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/termsOfUse": {
      "get": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "List terms of use assigned to a Developer Portal",
        "description": "Get all terms of use documents that are assigned to this developer portal, including documents marked as default for all developer portals.",
        "operationId": "getTermsOfUse_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "active",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TermsOfUseDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/termsOfUse/available": {
      "get": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "List terms of use available to assign",
        "description": "Get all available terms of use documents that can be assigned to this developer portal.",
        "operationId": "getAvailableTermsOfUse",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TermsOfUseDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/files/{fileName}": {
      "get": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Download a Developer Portal file",
        "description": "Get content of a previously uploaded developer portal documentation file.",
        "operationId": "readNamedFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "fileName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw content of spec file",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Delete a Developer Portal file",
        "description": "Delete a previously uploaded developer portal documentation file.",
        "operationId": "deleteNamedFile",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "fileName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/customDomain/isDnsVerified": {
      "get": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Verify CNAME configuration for custom domain",
        "description": "Checks if DNS CNAME record has been correctly configured to alias the custom domain on the given developer portal to the correct devportal domain.",
        "operationId": "isDnsVerified",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/{id}/certificate/refresh": {
      "get": {
        "tags": [
          "Developer Portals"
        ],
        "summary": "Fetch newer version of certificate for developer portal",
        "description": "Fetch newer version of the certificate, if exists, from Boomi Integration. Returns an error if the domain does not match the portal URL.",
        "operationId": "refreshCertificate",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/current/welcomePage": {
      "get": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "Get current portal welcome page",
        "description": "Get raw content of welcome page for current developer portal. Requires DevPortalToken header!",
        "operationId": "readWelcomePage_1",
        "responses": {
          "200": {
            "description": "Previously uploaded raw content.",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "204": {
            "description": "No content has been uploaded.",
            "content": {
              "application/json": {

              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/current/termsOfUse": {
      "get": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "Get current portal terms of use",
        "description": "Get all terms of use documents that are assigned to this developer portal, including documents marked as default for all developer portals.",
        "operationId": "getTermsOfUse_2",
        "parameters": [
          {
            "name": "active",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TermsOfUseDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/devPortals/current/properties": {
      "get": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "Get current portal properties",
        "description": "Get properties of current developer portal.",
        "operationId": "getProperties",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DevPortalPropertiesDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/devPortals/current/pages": {
      "get": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "List current portal pages",
        "description": "Get all pages for the current developer portal.",
        "operationId": "allPages",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DevPortalPageDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/devPortals/current/menuItems": {
      "get": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "Get current portal menu items",
        "description": "Get menu items for the current developer portal.",
        "operationId": "getMenuItems",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DevPortalMenuItemDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/devPortals/current/files/{fileName}": {
      "get": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "Download current portal file",
        "description": "Get content of a previously uploaded documentation file for the current developer portal. Requires DevPortalToken header!",
        "operationId": "readNamedFile_1",
        "parameters": [
          {
            "name": "fileName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw file content",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/devPortals/current/favicon": {
      "get": {
        "tags": [
          "Current Developer Portal"
        ],
        "summary": "Get current portal favicon",
        "description": "Get favicon (default or configured)",
        "operationId": "favicon",
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    },
    "/boomi-jobs": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "List background jobs",
        "description": "Get all currently running background jobs.",
        "operationId": "all_6",
        "parameters": [
          {
            "name": "limit",
            "in": "query",
            "required": false,
            "schema": {
              "type": "integer",
              "format": "int32",
              "default": 50
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/BoomiJobDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/boomi-jobs/{id}": {
      "get": {
        "tags": [
          "Jobs"
        ],
        "summary": "Get background job",
        "description": "Get information about a single background job.",
        "operationId": "get_15",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/BoomiJobDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/auditLogs": {
      "get": {
        "tags": [
          "Audit Logs"
        ],
        "summary": "Get audit log",
        "description": "Get filtered and paged audit log. This log contains any REST calls that (may) change the state of this software. That excludes any GET requests.",
        "operationId": "get_16",
        "parameters": [
          {
            "name": "user",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "organization",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "from",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "categories",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "UNKNOWN",
                  "USER",
                  "API",
                  "APPLICATION",
                  "PLAN",
                  "SUBSCRIPTION",
                  "ENVIRONMENT",
                  "CONFIGURATION"
                ]
              }
            }
          },
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageAuditLogDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/approvalRequests": {
      "get": {
        "tags": [
          "Approval Requests"
        ],
        "summary": "List approval requests",
        "description": "For debugging only! For global admins, this will return all approval requests, no matter their status. For other users, it will only return approval requests by AND for their organization.",
        "operationId": "all_7",
        "parameters": [
          {
            "name": "createdByOrganization",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "resolvingOrganization",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "status",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "APPROVED",
                "PENDING",
                "DECLINED"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApprovalRequestDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/approvalRequests/{id}": {
      "get": {
        "tags": [
          "Approval Requests"
        ],
        "summary": "Get approval request",
        "description": "For debugging only! Returns a single approval request. If you are not global admin, only requests by AND for your organization are accessible.",
        "operationId": "get_17",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApprovalRequestDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/approvalRequests/pending": {
      "get": {
        "tags": [
          "Approval Requests"
        ],
        "summary": "List pending approval requests",
        "description": "Get all pending approval requests for a specific organization or all organizations. If you are not a global admin, this endpoint will always return pending approval requests for your organization.",
        "operationId": "getPending",
        "parameters": [
          {
            "name": "organization",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePagePendingApprovalRequestDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/applications/{id}/subscriptions": {
      "get": {
        "tags": [
          "Applications"
        ],
        "summary": "List application subscriptions",
        "description": "Get all subscriptions for an application.",
        "operationId": "getSubscriptions",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "includeDTOs",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageSubscriptionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/applications/{id}/deployments": {
      "get": {
        "tags": [
          "Applications"
        ],
        "summary": "List application deployments",
        "description": "Get all deployments for this application.",
        "operationId": "deployments_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApplicationDeploymentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/targetEnvironments": {
      "get": {
        "tags": [
          "API Git Integration"
        ],
        "summary": "List target environments for API deployment",
        "description": "Get the list of active environments to which the current user can deploy this API. Only environments whose agent supports the required deployment capability for this API's platform type are included.",
        "operationId": "getTargetEnvironments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/EnvironmentDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/files/{fileName}": {
      "get": {
        "tags": [
          "APIs"
        ],
        "summary": "Download API documentation file",
        "description": "Get content of a previously uploaded API documentation file.",
        "operationId": "readNamedFile_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "fileName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw content of spec file",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "APIs"
        ],
        "summary": "Delete API documentation file",
        "description": "Delete a previously uploaded API documentation file.",
        "operationId": "deleteNamedFile_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "fileName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/deployments": {
      "get": {
        "tags": [
          "APIs"
        ],
        "summary": "List API deployments",
        "description": "Get all deployments for an API.",
        "operationId": "getDeployments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiDeploymentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{api}/versions/{versionName}/openProxySpec/info": {
      "get": {
        "tags": [
          "Open Proxy"
        ],
        "summary": "Get Open Proxy Specification info",
        "description": "Get additional info about the Open Proxy Specification file for an API version.",
        "operationId": "getOpenProxyInfo",
        "parameters": [
          {
            "name": "api",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "versionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/OpenProxyDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/versions/{versionName}/spec/lint": {
      "get": {
        "tags": [
          "API Specifications"
        ],
        "summary": "Get spec lint results",
        "description": "Get lint results for the spec file for an API version.",
        "operationId": "getLintResult",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "versionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "severity",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "ERROR",
                "WARNING",
                "INFO",
                "HINT"
              ]
            }
          },
          {
            "name": "category",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "SECURITY",
                "QUALITY"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/LintResultDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/versions/{versionName}/spec/info": {
      "get": {
        "tags": [
          "API Specifications"
        ],
        "summary": "Get spec file info",
        "description": "Get additional info about the spec file for an API version.",
        "operationId": "getSpecInfo",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "versionName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "includeRunningJobs",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiSpecDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/pages/root": {
      "get": {
        "tags": [
          "API Documentation Pages"
        ],
        "summary": "List root API documentation pages",
        "description": "Get all root documentation pages for an API. Does not return their children.",
        "operationId": "getRootPages",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocPageDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{apiId}/pages/default": {
      "get": {
        "tags": [
          "API Documentation Pages"
        ],
        "summary": "Get default API documentation page",
        "description": "Get default documentation page for an API - assuming that a default page exists and is published.",
        "operationId": "getDefaultDocPage",
        "parameters": [
          {
            "name": "apiId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/visible": {
      "get": {
        "tags": [
          "APIs"
        ],
        "summary": "List visible APIs",
        "description": "Get APIs that are members of at least one visible API product.",
        "operationId": "getVisibleApis",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "platformTypes",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "fullTextSearch",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/termsOfUse": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "List terms of use for API Product",
        "description": "Get all terms of use documents that are assigned to this API product, including documents marked as default for all API products.",
        "operationId": "getTermsOfUse_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "active",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TermsOfUseDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/termsOfUse/available": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "List available terms of use for API Product",
        "description": "Get all available terms of use documents that can be assigned to this API product.",
        "operationId": "getAvailableTermsOfUse_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TermsOfUseDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/subscriptions": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "List subscriptions for API Product",
        "description": "Get all subscriptions for an API Product, to which you have access. If you own this product, this will return all of its subscriptions. Otherwise, you will only see subscriptions from applications to which you have access.",
        "operationId": "getSubscriptions_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageSubscriptionDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/subscribableEnvironments": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "List subscribable environments for API Product",
        "description": "Get List of subscribable environment (an environment is subscribable when it contains at least one api from the provided api product)",
        "operationId": "getSubscribableEnvironments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageEnvironmentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/plans": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "List plans for API Product",
        "description": "Get all plans for an API Product.",
        "operationId": "getPlans_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePagePlanDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/organizations": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "List allowed organizations for API Product",
        "description": "Get all organizations (name and id only) that have been granted access to this API Product. Only applies if API Product visibility is RESTRICTED.",
        "operationId": "getAllowedOrganizations_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationNameOnlyDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/organizations/available": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "List available organizations for API Product",
        "description": "Return possible organizations (name and id only) that can be granted access to this API Product. Organizations that have already been granted access to this API Product, will not be included - neither will be the API Product's owning organization.",
        "operationId": "getAvailableOrganizations_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/OrganizationNameOnlyDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/files/{fileName}": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "Download API Product documentation file",
        "description": "Get content of a previously uploaded API Product documentation file.",
        "operationId": "readNamedFile_3",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "fileName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Raw content of file",
            "content": {
              "application/octet-stream": {
                "schema": {
                  "type": "string",
                  "format": "binary"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "API Products"
        ],
        "summary": "Delete API Product documentation file",
        "description": "Delete a previously uploaded API Product documentation file.",
        "operationId": "deleteNamedFile_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "fileName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/deployments": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "List deployments for API Product",
        "description": "Return deployments for an API Product. Note that the product is deployed together with a specific plan, so there may be a deployment for each plan.",
        "operationId": "getDeployments_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiProductPlanDeploymentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/apis": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "List APIs in API Product",
        "description": "Get all APIs in an API product. Inactive APIs are not included when calling this from a developer portal.",
        "operationId": "getApis_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "includeDeployedOn",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "excludeCurrentVersionApiSpecType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string",
                "enum": [
                  "current",
                  "OPENAPI_V2",
                  "OPENAPI_V3",
                  "ASYNCAPI_V2",
                  "GRAPHQL",
                  "PROTOCOL_BUFFERS"
                ]
              }
            }
          },
          {
            "name": "excludeDeployedOnEnvStage",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "DEVELOPMENT",
                "PRODUCTION"
              ]
            }
          },
          {
            "name": "platformTypes",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "type",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "REST",
                "GRAPHQL"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{apiProductId}/pages/root": {
      "get": {
        "tags": [
          "API Product Documentation Pages"
        ],
        "summary": "List root API Product documentation pages",
        "description": "Get all root documentation pages for an API Product. Does not return their children.",
        "operationId": "getRootPages_1",
        "parameters": [
          {
            "name": "apiProductId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/DocPageDTO"
                  }
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{apiProductId}/pages/default": {
      "get": {
        "tags": [
          "API Product Documentation Pages"
        ],
        "summary": "Get default API Product documentation page",
        "description": "Get default documentation page for an API Product - assuming that a default page exists and is published.",
        "operationId": "getDefaultDocPage_1",
        "parameters": [
          {
            "name": "apiProductId",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DocPageDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/visible": {
      "get": {
        "tags": [
          "API Products"
        ],
        "summary": "List visible API Products",
        "description": "Get a filtered and paged list of all API Products that the current user is allowed to see. This does not mean that the user is able to subscribe to all of these products.",
        "operationId": "listVisible",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "tags",
            "in": "query",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "api",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "platformTypes",
            "in": "query",
            "description": "Filter by platform types. Supports multiple values (e.g., platformTypes=BOOMI&platformTypes=AWS).",
            "required": false,
            "schema": {
              "type": "array",
              "items": {
                "type": "string"
              }
            }
          },
          {
            "name": "fullTextSearch",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "selfServiceSubscriptionAllowed",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          },
          {
            "name": "candidatesForApplication",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "mcpStatus",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "enum": [
                "DISABLED",
                "ENABLED"
              ]
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiProductDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiPolicyTemplates": {
      "get": {
        "tags": [
          "API Policy Templates"
        ],
        "summary": "List API policy templates",
        "description": "Get a list of all API policy templates. If apiDeploymentId is provided, only templates actually deployed to that API deployment's gateway are returned.",
        "operationId": "list_2",
        "parameters": [
          {
            "name": "platformType",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "apiDeploymentId",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiPolicyTemplateDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiPolicyTemplates/{id}": {
      "get": {
        "tags": [
          "API Policy Templates"
        ],
        "summary": "Get an API policy template",
        "description": "Return a specific API policy template by id.",
        "operationId": "get_18",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiPolicyTemplateDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiPolicyTemplates/{id}/usage": {
      "get": {
        "tags": [
          "API Policy Templates"
        ],
        "summary": "Get API deployments that are assigned this API policy template",
        "description": "Return a filtered and paged list of API deployments that the API policy template with this id has been applied to.",
        "operationId": "getUsage",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "text",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiDeploymentUsingTemplateDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiPolicyTemplates/{id}/gatewayApiDeployments": {
      "get": {
        "tags": [
          "API Policy Templates"
        ],
        "summary": "Get API deployments deployed to an API policy template's gateway",
        "description": "Returns a list of API deployments that are deployed to an API policy template's API gateway.",
        "operationId": "getGatewayApiDeployments",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApiDeploymentUsingTemplateDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiGateways/{id}/deployments/applications": {
      "get": {
        "tags": [
          "API Gateways"
        ],
        "summary": "List application deployments in API Gateway",
        "description": "Get all application deployments in an API gateway.",
        "operationId": "applicationDeployments_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "page",
            "in": "query",
            "description": "One-based page index (1..N)",
            "schema": {
              "type": "integer",
              "default": 1
            }
          },
          {
            "name": "size",
            "in": "query",
            "description": "The size of the page to be returned",
            "schema": {
              "type": "integer",
              "default": 10
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "Sorting criteria in the format: property,(asc|desc). Default sort order is ascending. Multiple sort criteria are supported.",
            "schema": {
              "type": "array"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/SimplePageApplicationDeploymentDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/accessTokens/{id}": {
      "get": {
        "tags": [
          "Access Tokens"
        ],
        "summary": "Get access token",
        "description": "Get a single access token for the user authenticated in this request. There is no way to see the access tokens for other users.",
        "operationId": "getToken",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AccessTokenResponse"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      },
      "delete": {
        "tags": [
          "Access Tokens"
        ],
        "summary": "Delete access token",
        "description": "Delete an access token for the user authenticated in this request.",
        "operationId": "deleteToken",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          }
        ],
        "responses": {
          "204": {
            "description": "OK"
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/subscriptions/{id}/async": {
      "delete": {
        "tags": [
          "Subscriptions"
        ],
        "summary": "Delete subscription asynchronously",
        "description": "Asynchronously delete a subscription.",
        "operationId": "deleteAsync",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "undeploy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/plans/{id}/async": {
      "delete": {
        "tags": [
          "Plans"
        ],
        "summary": "Delete plan asynchronously",
        "description": "Asynchronously delete a plan.",
        "operationId": "deletePlanAsync",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "undeploy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/applications/{id}/async": {
      "delete": {
        "tags": [
          "Applications"
        ],
        "summary": "Delete application asynchronously",
        "description": "Asynchronously delete an application.",
        "operationId": "deleteAsync_1",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "undeploy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apis/{id}/async": {
      "delete": {
        "tags": [
          "APIs"
        ],
        "summary": "Delete API asynchronously",
        "description": "Asynchronously delete an API.",
        "operationId": "deleteApiAsync",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "undeploy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/apiProducts/{id}/async": {
      "delete": {
        "tags": [
          "API Products"
        ],
        "summary": "Delete API Product asynchronously",
        "description": "Asynchronously delete an API Product.",
        "operationId": "deleteAsync_2",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid",
              "description": "This should be the uuid for the entity in question - but for backwards compatibility, this will also accept the old integer id."
            }
          },
          {
            "name": "undeploy",
            "in": "query",
            "required": false,
            "schema": {
              "type": "boolean"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/JobIdDTO"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        },
        "security": [
          {
            "bearerAuth": []
          }
        ]
      }
    },
    "/error": {
      "get": {
        "tags": [
          "Errors"
        ],
        "summary": "Handle error",
        "operationId": "error",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object"
                  }
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      },
      "put": {
        "tags": [
          "Errors"
        ],
        "summary": "Handle error",
        "operationId": "error_2",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object"
                  }
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      },
      "post": {
        "tags": [
          "Errors"
        ],
        "summary": "Handle error",
        "operationId": "error_1",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object"
                  }
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      },
      "delete": {
        "tags": [
          "Errors"
        ],
        "summary": "Handle error",
        "operationId": "error_3",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object"
                  }
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      },
      "options": {
        "tags": [
          "Errors"
        ],
        "summary": "Handle error",
        "operationId": "error_6",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object"
                  }
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      },
      "head": {
        "tags": [
          "Errors"
        ],
        "summary": "Handle error",
        "operationId": "error_5",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object"
                  }
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      },
      "patch": {
        "tags": [
          "Errors"
        ],
        "summary": "Handle error",
        "operationId": "error_4",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": {
                    "type": "object"
                  }
                }
              },
              "text/html": {
                "schema": {
                  "type": "string"
                }
              }
            }
          },
          "default": {
            "$ref": "#/components/responses/DefaultResponse"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "UserDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A user account with organization membership and role-based access.",
        "properties": {
          "username": {
            "type": "string",
            "description": "Login username (typically email).",
            "example": "Max Muster"
          },
          "displayName": {
            "type": "string",
            "description": "Display name, derived from firstName and lastName if not set directly.",
            "example": "Max Mustermann"
          },
          "email": {
            "type": "string",
            "description": "Email for notifications and resets.",
            "example": "max.mustermann@apiida.com"
          },
          "status": {
            "type": "string",
            "description": "ACTIVE, INACTIVE, or INVITED.",
            "enum": [
              "INVITED",
              "ACTIVE",
              "DELETED"
            ],
            "example": "ACTIVE"
          },
          "password": {
            "type": "string",
            "description": "Write-only.",
            "example": "examplePassword"
          },
          "role": {
            "type": "string",
            "default": "GLOBAL_ADMIN",
            "description": "Role identifier, e.g. NO_ACCESS, USER, ADMIN, GLOBAL_ADMIN.",
            "enum": [
              "USER",
              "GLOBAL_ADMIN",
              "ADMIN",
              "NO_ACCESS"
            ],
            "example": "GLOBAL_ADMIN"
          },
          "organization": {
            "type": "string",
            "format": "uuid",
            "description": "Organization UUID.",
            "example": 1
          },
          "firstName": {
            "type": "string",
            "description": "User's first name.",
            "example": "Max"
          },
          "lastName": {
            "type": "string",
            "description": "User's last name.",
            "example": "Mustermann"
          },
          "origin": {
            "type": "string",
            "description": "Account origin: LOCAL, LDAP, SAML, OIDC, or BOOMI.",
            "enum": [
              "MANUAL",
              "INVITED",
              "LDAP",
              "SAML",
              "OIDC",
              "MANAGED"
            ],
            "example": "MANUAL"
          },
          "termsOfUseAccepted": {
            "type": "boolean",
            "description": "Whether the user has accepted the current terms of use (read-only).",
            "example": true
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only).",
            "example": 1
          },
          "hasImage": {
            "type": "boolean",
            "description": "Whether a profile image has been uploaded for this user (read-only).",
            "example": true
          },
          "locked": {
            "type": "boolean",
            "description": "Locked (e.g. failed logins).",
            "example": false
          },
          "externalUserId": {
            "type": "string",
            "description": "External ID from identity provider."
          },
          "platformPrivileges": {
            "type": "array",
            "description": "Boomi Platform privilege level.",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          }
        },
        "required": [
          "email",
          "locked",
          "username"
        ]
      },
      "WebhookDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A webhook endpoint receiving event notifications.",
        "properties": {
          "displayName": {
            "type": "string",
            "description": "Human-readable name for this webhook."
          },
          "url": {
            "type": "string",
            "description": "Target URL for POST notifications."
          },
          "active": {
            "type": "boolean",
            "description": "Whether this webhook is active and will receive event notifications."
          },
          "eventTypes": {
            "type": "array",
            "description": "Subscribed event types.",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only)."
          }
        },
        "required": [
          "active",
          "displayName",
          "eventTypes",
          "url"
        ]
      },
      "CurrentUserUpdateRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to update the current user's profile information.",
        "properties": {
          "displayName": {
            "type": "string",
            "example": "Max Mustermann"
          },
          "firstName": {
            "type": "string",
            "example": "Max"
          },
          "lastName": {
            "type": "string",
            "example": "Mustermann"
          }
        }
      },
      "AgentBuildInfo": {
        "type": "object",
        "additionalProperties": false,
        "description": "Agent build metadata.",
        "properties": {
          "version": {
            "type": "string",
            "description": "Agent version string."
          },
          "commit": {
            "type": "string",
            "description": "Git commit SHA of the agent build."
          },
          "buildTime": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the agent was built."
          }
        },
        "required": [
          "buildTime",
          "commit",
          "version"
        ]
      },
      "AgentCapability": {
        "type": "object",
        "additionalProperties": false,
        "description": "A capability supported by a connected agent.",
        "properties": {
          "capability": {
            "type": "string",
            "description": "Name of the capability."
          },
          "version": {
            "type": "string",
            "description": "Version of the capability implementation."
          }
        },
        "required": [
          "capability",
          "version"
        ]
      },
      "AiGenerationStatusDetails": {
        "type": "object",
        "additionalProperties": false,
        "description": "Status of AI spec generation.",
        "properties": {
          "aiGenProcessId": {
            "type": "string",
            "description": "Identifier of the AI generation process."
          },
          "aiGenStatus": {
            "type": "string",
            "description": "Current generation status: IN_PROGRESS, COMPLETED, or ERROR.",
            "enum": [
              "IN_PROGRESS",
              "COMPLETE",
              "ERROR"
            ]
          },
          "aiGenStartedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when generation started."
          },
          "aiGenEstimatedTime": {
            "type": "integer",
            "format": "int32",
            "description": "Estimated time to completion in seconds."
          },
          "aiGenCompletedPercentage": {
            "type": "integer",
            "format": "int32",
            "description": "Completion percentage (0-100)."
          },
          "aiGenError": {
            "type": "string",
            "description": "Error message if generation failed."
          },
          "aiGenRequestPayload": {
            "type": "string",
            "description": "Original request payload sent to the AI service."
          }
        },
        "required": [
          "aiGenProcessId",
          "aiGenStartedAt",
          "aiGenStatus"
        ]
      },
      "ApiEndpointDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Endpoint URL where an API version is accessible.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the endpoint."
          },
          "url": {
            "type": "string",
            "description": "Full URL of the endpoint."
          },
          "gatewayId": {
            "type": "string",
            "description": "ID of the endpoint on the gateway."
          },
          "authentication": {
            "$ref": "#/components/schemas/AuthenticationSettings",
            "description": "Details on how API calls to this endpoint should be authenticated."
          }
        },
        "required": [
          "gatewayId",
          "name",
          "url"
        ]
      },
      "ApiKeySettings": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "requestHeaders": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "requestParameters": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "requestBody": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "requestPath": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          },
          "custom": {
            "type": "object",
            "additionalProperties": {
              "type": "string"
            }
          }
        }
      },
      "AuthenticationSettings": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "apiKeys": {
            "$ref": "#/components/schemas/ApiKeySettings"
          }
        }
      },
      "PlatformType": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "type": {
            "type": "string"
          },
          "tenantId": {
            "type": "string"
          },
          "custom": {
            "type": "boolean"
          },
          "properties": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/PlatformTypeProperty"
            }
          },
          "displayName": {
            "type": "string"
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "hasImage": {
            "type": "boolean"
          }
        },
        "required": [
          "createdAt",
          "custom",
          "displayName",
          "hasImage",
          "id",
          "properties",
          "tenantId",
          "type",
          "updatedAt"
        ]
      },
      "PlatformTypeProperty": {
        "type": "object",
        "additionalProperties": false,
        "description": "A configuration property definition for a custom platform type.",
        "properties": {
          "fieldName": {
            "type": "string",
            "description": "Name of the configuration field."
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the configuration field."
          }
        },
        "required": [
          "fieldName"
        ]
      },
      "TermsOfUseDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Terms-of-use document for API Products or Developer Portals.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the terms-of-use document."
          },
          "active": {
            "type": "boolean",
            "description": "Whether this terms-of-use document is currently active."
          },
          "defaultForApiProducts": {
            "type": "boolean",
            "description": "Default for new API Products."
          },
          "defaultForDevPortals": {
            "type": "boolean",
            "description": "Default for portal registration."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the document was created."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the terms-of-use document."
          }
        },
        "required": [
          "active",
          "defaultForApiProducts",
          "defaultForDevPortals",
          "name"
        ]
      },
      "BillingInfoDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Tenant billing contact info.",
        "properties": {
          "firstName": {
            "type": "string",
            "description": "First name of the billing contact."
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the billing contact."
          },
          "email": {
            "type": "string",
            "description": "Email address of the billing contact."
          },
          "phoneNumber": {
            "type": "string",
            "description": "Phone number of the billing contact."
          },
          "streetAddress": {
            "type": "string",
            "description": "Street address."
          },
          "city": {
            "type": "string",
            "description": "City."
          },
          "state": {
            "type": "string",
            "description": "State or region."
          },
          "country": {
            "type": "string",
            "description": "Country."
          },
          "zip": {
            "type": "string",
            "description": "Postal / ZIP code."
          },
          "companyName": {
            "type": "string",
            "description": "Company or organization name."
          }
        },
        "required": [
          "city",
          "country",
          "email",
          "firstName",
          "lastName",
          "phoneNumber",
          "state",
          "streetAddress",
          "zip"
        ]
      },
      "SubscriptionUpdateRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "plan": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the plan to switch to.",
            "example": 1
          }
        },
        "required": [
          "plan"
        ]
      },
      "AgentDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Docker-based agent connecting a gateway environment to the Control Plane.",
        "properties": {
          "status": {
            "type": "string",
            "description": "NOT_CONNECTED, CONNECTED, NOT_CONFIGURED, or CONNECTING.",
            "enum": [
              "NOT_CONNECTED",
              "CONNECTED",
              "NOT_CONFIGURED",
              "CONNECTING"
            ]
          },
          "gateway": {
            "$ref": "#/components/schemas/GatewayInfo",
            "description": "Gateway connection status and diagnostic info."
          },
          "remoteIp": {
            "type": "string",
            "description": "Remote IP address of the agent."
          },
          "lastSeen": {
            "type": "string",
            "format": "date-time",
            "description": "Last heartbeat."
          },
          "capabilities": {
            "type": "array",
            "description": "Supported capabilities (discovery, deployment, metrics).",
            "items": {
              "$ref": "#/components/schemas/AgentCapability"
            },
            "uniqueItems": true
          },
          "buildInfo": {
            "$ref": "#/components/schemas/AgentBuildInfo",
            "description": "Agent build version and commit info."
          }
        },
        "required": [
          "status"
        ]
      },
      "ApiGatewayDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A gateway instance where APIs are deployed and traffic is routed.",
        "properties": {
          "platformType": {
            "type": "string",
            "description": "Gateway platform type."
          },
          "name": {
            "type": "string",
            "description": "Human-readable name of the API gateway."
          },
          "gatewayId": {
            "type": "string",
            "description": "System-assigned ID (read-only).",
            "readOnly": true
          },
          "agentType": {
            "type": "string",
            "description": "STANDALONE or MANAGED (read-only).",
            "enum": [
              "STANDALONE",
              "MANAGED"
            ],
            "readOnly": true
          },
          "environmentType": {
            "type": "string",
            "description": "SINGLE or MULTI environment (read-only).",
            "enum": [
              "SINGLE",
              "MULTI"
            ],
            "readOnly": true
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned UUID (read-only).",
            "readOnly": true
          },
          "agent": {
            "$ref": "#/components/schemas/AgentDTO",
            "description": "Associated agent (read-only).",
            "readOnly": true
          },
          "agentToken": {
            "type": "string",
            "description": "Only returned at registration (read-only).",
            "readOnly": true
          }
        },
        "required": [
          "name",
          "platformType"
        ]
      },
      "ApiProductDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A subscribable bundle of APIs. Consumers subscribe to products, not individual APIs.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Technical name. Also used in MCP bridge addresses.",
            "example": "petstore",
            "maxLength": 255
          },
          "displayName": {
            "type": "string",
            "description": "Human-readable name of the API product.",
            "example": "Pet related APIs",
            "maxLength": 255
          },
          "description": {
            "type": "string",
            "description": "Optional description of the API product.",
            "example": "some text...",
            "maxLength": 1000
          },
          "visibility": {
            "type": "string",
            "description": "PUBLIC (all users) or RESTRICTED (specific orgs).",
            "enum": [
              "RESTRICTED",
              "PUBLIC"
            ],
            "example": "PUBLIC"
          },
          "allowSelfServiceSubscription": {
            "type": "boolean",
            "description": "Allow self-service subscription via Developer Portal."
          },
          "published": {
            "type": "boolean",
            "description": "Visible in Developer Portal."
          },
          "mcpStatus": {
            "type": "string",
            "description": "ENABLED exposes APIs to AI agents via MCP.",
            "enum": [
              "DISABLED",
              "ENABLED"
            ]
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "owner": {
            "type": "string",
            "format": "uuid",
            "description": "Owning organization UUID.",
            "example": 1
          },
          "ownerDisplayName": {
            "type": "string",
            "description": "Owning org name (read-only)."
          },
          "ownerEmail": {
            "type": "string",
            "description": "Owning org email (read-only)."
          },
          "platformTypes": {
            "type": "array",
            "description": "Platform types of the APIs included in this product (read-only).",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "subscribableStatus": {
            "type": "string",
            "description": "OK = subscribable. Other values indicate blockers.",
            "enum": [
              "OK",
              "NO_APIS",
              "NO_PLANS",
              "NOT_DEPLOYED",
              "NOT_DEPLOYED_IN_PRODUCTION",
              "ENVIRONMENT_ACCESS_DENIED"
            ]
          },
          "deploymentStatus": {
            "type": "string",
            "description": "Deployment status.",
            "enum": [
              "DEPLOYED",
              "DEPLOYMENT_FAILED",
              "DELETION_FAILED",
              "DELETION_IN_PROGRESS",
              "DEPLOYMENT_IN_PROGRESS",
              "DEPLOYMENT_REQUIRED",
              "CREATED"
            ],
            "example": "COMPLETE"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only).",
            "example": 1
          },
          "hasImage": {
            "type": "boolean",
            "description": "Whether a custom image has been uploaded for this product (read-only).",
            "example": false
          },
          "deployedOn": {
            "type": "array",
            "description": "Deployed environments. Requires includeDeployedOn=true.",
            "items": {
              "$ref": "#/components/schemas/EnvironmentDTO"
            }
          },
          "mcpServerVersion": {
            "type": "string",
            "description": "Semantic version of the MCP server exposed by this API Product.",
            "example": "1.0.0"
          },
          "runningJobs": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/RunningJobDTO"
            }
          }
        },
        "required": [
          "allowSelfServiceSubscription",
          "displayName",
          "mcpStatus",
          "name",
          "published",
          "tags",
          "visibility"
        ]
      },
      "EnvironmentDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A gateway environment — one or more gateways of a platform type, mapped to a lifecycle stage.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Technical name of the environment.",
            "example": "gravitee-1"
          },
          "displayName": {
            "type": "string",
            "description": "Human-readable name of the environment.",
            "example": "Primary Gravitee Environment"
          },
          "url": {
            "type": "string",
            "description": "Gateway base URL.",
            "example": "https://my.gravitee.url/"
          },
          "symbol": {
            "type": "string",
            "description": "Badge label (max 4 chars, e.g. 'P1').",
            "example": "G1",
            "maxLength": 4
          },
          "status": {
            "type": "string",
            "description": "ACTIVE or INACTIVE.",
            "enum": [
              "INACTIVE",
              "ACTIVE"
            ],
            "example": "ACTIVE"
          },
          "color": {
            "type": "string",
            "description": "Badge color in UI.",
            "example": "blue"
          },
          "pinned": {
            "type": "boolean",
            "description": "Pinned for quick access.",
            "example": true
          },
          "stage": {
            "type": "string",
            "description": "DEVELOPMENT or PRODUCTION.",
            "enum": [
              "DEVELOPMENT",
              "PRODUCTION"
            ],
            "example": "PRODUCTION"
          },
          "platformType": {
            "type": "string",
            "description": "Gateway platform type.",
            "example": "GRAVITEE"
          },
          "subscribeAccessMode": {
            "type": "string",
            "description": "Who can subscribe: PUBLIC or RESTRICTED.",
            "enum": [
              "PUBLIC",
              "RESTRICTED"
            ],
            "example": "PUBLIC"
          },
          "publishAccessMode": {
            "type": "string",
            "description": "Who can publish: PUBLIC or RESTRICTED.",
            "enum": [
              "PUBLIC",
              "RESTRICTED"
            ],
            "example": "PUBLIC"
          },
          "apiUrlStrategy": {
            "type": "string",
            "description": "URL routing: PLATFORM_DEFAULT, PATH, or SUB_DOMAIN.",
            "enum": [
              "PLATFORM_DEFAULT",
              "PATH",
              "SUB_DOMAIN"
            ],
            "example": "PLATFORM_DEFAULT"
          },
          "gateway": {
            "$ref": "#/components/schemas/ApiGatewayDTO",
            "description": "The API Gateway instance associated with this environment."
          },
          "agent": {
            "$ref": "#/components/schemas/AgentDTO",
            "deprecated": true,
            "description": "Deprecated — use gateway.agent."
          },
          "agentType": {
            "type": "string",
            "deprecated": true,
            "description": "Deprecated.",
            "enum": [
              "STANDALONE",
              "MANAGED"
            ],
            "example": "STANDALONE"
          },
          "gatewayId": {
            "type": "string",
            "description": "Unique id of the connected gateway. Only relevant and available for some platforms."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the environment was created (read-only)."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only).",
            "example": 1
          },
          "apiGatewayName": {
            "type": "string",
            "description": "Set the name for the API gateway that is created for the new environment. If omitted, the API gateway will have the same name as the environment."
          }
        },
        "required": [
          "agentType",
          "color",
          "displayName",
          "name",
          "pinned",
          "stage",
          "status",
          "symbol"
        ]
      },
      "GatewayInfo": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "status": {
            "type": "string",
            "enum": [
              "UNKNOWN",
              "CONNECTED",
              "UNREACHABLE",
              "UNAUTHORIZED",
              "GENERAL_ERROR",
              "AGENT_ERROR",
              "AGENT_OFFLINE"
            ]
          },
          "errors": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        }
      },
      "PlanDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Rate-limiting and quota plan for an API Product.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only).",
            "example": 1
          },
          "displayName": {
            "type": "string",
            "description": "Plan name (e.g. 'Gold', 'Free Tier').",
            "example": "gold"
          },
          "description": {
            "type": "string",
            "description": "Optional description of the plan.",
            "example": "some text...",
            "maxLength": 1000
          },
          "quotaHits": {
            "type": "integer",
            "format": "int64",
            "description": "Max calls per quota interval. 0 = unlimited.",
            "example": 1000
          },
          "quotaInterval": {
            "type": "string",
            "description": "Time interval for the quota (e.g. DAY, MONTH).",
            "enum": [
              "SECOND",
              "MINUTE",
              "HOUR",
              "DAY",
              "WEEK",
              "MONTH"
            ],
            "example": "DAY"
          },
          "rateLimit": {
            "type": "integer",
            "format": "int64",
            "description": "Max concurrent requests per rate interval.",
            "example": 10
          },
          "rateInterval": {
            "type": "string",
            "description": "Time interval for the rate limit (e.g. SECOND, MINUTE).",
            "enum": [
              "SECOND",
              "MINUTE",
              "HOUR"
            ],
            "example": "SECOND"
          },
          "deploymentStatus": {
            "type": "string",
            "description": "Deployment status.",
            "enum": [
              "DEPLOYED",
              "DEPLOYMENT_FAILED",
              "DELETION_FAILED",
              "DELETION_IN_PROGRESS",
              "DEPLOYMENT_IN_PROGRESS",
              "DEPLOYMENT_REQUIRED",
              "CREATED"
            ],
            "example": "COMPLETE"
          }
        },
        "required": [
          "displayName",
          "quotaHits",
          "quotaInterval",
          "rateInterval",
          "rateLimit"
        ]
      },
      "RunningJobDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A currently executing async job.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Human-readable name of the job."
          },
          "jobType": {
            "type": "string",
            "description": "Type of operation this job performs.",
            "enum": [
              "BUILD_IN_INTEGRATION",
              "API_SPEC_LINT",
              "MCP_REGISTRY_SYNC"
            ]
          },
          "status": {
            "type": "string",
            "description": "Current execution status of the job.",
            "enum": [
              "IN_PROGRESS",
              "COMPLETE",
              "ERROR"
            ]
          },
          "entityId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the entity this job is operating on."
          },
          "entityType": {
            "type": "string",
            "description": "Type of entity this job is operating on.",
            "enum": [
              "API",
              "API_SPEC",
              "API_PRODUCT"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the job was created."
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of the last status update."
          },
          "payload": {
            "type": "string",
            "description": "Serialized job payload data."
          },
          "processId": {
            "type": "string",
            "description": "External process identifier, if applicable."
          },
          "statusMessage": {
            "type": "string",
            "description": "Latest status message from the job."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the job."
          }
        },
        "required": [
          "jobType",
          "name",
          "status"
        ]
      },
      "SubscriptionDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Links one Application to one API Product under a specific Plan.",
        "properties": {
          "application": {
            "type": "string",
            "format": "uuid",
            "description": "Application UUID.",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          },
          "apiProduct": {
            "type": "string",
            "format": "uuid",
            "description": "API Product UUID.",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          },
          "plan": {
            "type": "string",
            "format": "uuid",
            "description": "Plan UUID.",
            "example": "123e4567-e89b-12d3-a456-426614174000"
          },
          "environments": {
            "type": "array",
            "description": "Deployed environment UUIDs. Currently not included in responses, except for Subscription creation.",
            "example": "[123e4567-e89b-12d3-a456-426614174000, 123e4567-e89b-12d3-a456-426614174000, 123e4567-e89b-12d3-a456-426614174000]",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only).",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "readOnly": true
          },
          "approvalStatus": {
            "type": "string",
            "description": "APPROVED, PENDING, or DECLINED.",
            "enum": [
              "APPROVED",
              "PENDING",
              "DECLINED"
            ],
            "example": "APPROVED",
            "readOnly": true
          },
          "approvalRequest": {
            "type": "string",
            "format": "uuid",
            "description": "Approval request UUID (if enabled).",
            "example": "123e4567-e89b-12d3-a456-426614174000",
            "readOnly": true
          },
          "deploymentStatus": {
            "type": "string",
            "description": "Deployment status.",
            "enum": [
              "DEPLOYED",
              "DEPLOYMENT_FAILED",
              "DELETION_FAILED",
              "DELETION_IN_PROGRESS",
              "DEPLOYMENT_IN_PROGRESS",
              "DEPLOYMENT_REQUIRED",
              "CREATED"
            ],
            "example": "COMPLETE",
            "readOnly": true
          },
          "termsOfUseAccepted": {
            "type": "boolean",
            "description": "Terms accepted by subscriber.",
            "readOnly": true
          },
          "applicationDisplayName": {
            "type": "string",
            "description": "Name of this Subscriptions Application",
            "example": "Business Application",
            "readOnly": true
          },
          "applicationOwnerDisplayName": {
            "type": "string",
            "description": "Name of the organization owning this Subscriptions Application.",
            "example": "Default Organization",
            "readOnly": true
          },
          "applicationAccessible": {
            "type": "boolean",
            "description": "True if the current user can access this Subscriptions Application. If false, attempting to fetch the Application will fail.",
            "readOnly": true
          },
          "apiProductDisplayName": {
            "type": "string",
            "description": "Name of the subscribed API Product.",
            "example": "Petstore APIs",
            "readOnly": true
          },
          "apiProductAccessible": {
            "type": "boolean",
            "description": "True if the current user can access the subscribed API Product. If false, attempting to fetch the API Product will fail.",
            "readOnly": true
          },
          "planDisplayName": {
            "type": "string",
            "description": "Name of the Plan used by this Subscription.",
            "example": "gold",
            "readOnly": true
          },
          "apiProductDTO": {
            "$ref": "#/components/schemas/ApiProductDTO",
            "description": "Expanded API Product (some responses).",
            "readOnly": true
          },
          "apiProductImage": {
            "type": "string",
            "description": "Base64-encoded image of the API product (some responses).",
            "readOnly": true
          },
          "planDTO": {
            "$ref": "#/components/schemas/PlanDTO",
            "description": "Expanded Plan (some responses).",
            "readOnly": true
          }
        },
        "required": [
          "apiProduct",
          "apiProductAccessible",
          "application",
          "applicationAccessible",
          "plan"
        ]
      },
      "RuleSetDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A Spectral governance ruleset for API spec validation.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Name of the ruleset.",
            "example": "Advanced Security"
          },
          "description": {
            "type": "string",
            "description": "Optional description of the ruleset.",
            "example": "some text...",
            "maxLength": 1000
          },
          "enabled": {
            "type": "boolean",
            "description": "Active for validation."
          },
          "defaultRuleSet": {
            "type": "boolean",
            "description": "Built-in default (cannot delete)."
          },
          "fileName": {
            "type": "string",
            "description": "Uploaded ruleset filename."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only)."
          }
        },
        "required": [
          "enabled",
          "name"
        ]
      },
      "RuleSetValidationResult": {
        "type": "object",
        "additionalProperties": false,
        "description": "Result of validating a ruleset file.",
        "properties": {
          "errors": {
            "type": "array",
            "description": "List of validation errors found in the ruleset file.",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "errors"
        ]
      },
      "PlatformTypeDTO": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "type": {
            "type": "string",
            "description": "User-specified platform type"
          },
          "id": {
            "type": "string",
            "description": "Unique ID of this platform type, read-only."
          },
          "custom": {
            "type": "boolean",
            "description": "True for user-defined platform type."
          },
          "properties": {
            "type": "array",
            "description": "Properties specific for this platform type.",
            "items": {
              "$ref": "#/components/schemas/PlatformTypeProperty"
            }
          },
          "hasImage": {
            "type": "boolean",
            "description": "True if logo has been uploaded."
          },
          "displayName": {
            "type": "string",
            "description": "Display name for this platform type."
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "readOnly": true
          }
        },
        "required": [
          "displayName",
          "properties",
          "type"
        ]
      },
      "OrganizationDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Groups users, APIs, and applications. Controls access boundaries.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Technical name.",
            "example": "Default Organization"
          },
          "displayName": {
            "type": "string",
            "description": "Human-readable name of the organization.",
            "example": "Default Organization"
          },
          "email": {
            "type": "string",
            "description": "Contact email.",
            "example": "max.mustermann@apiida.com"
          },
          "description": {
            "type": "string",
            "description": "Optional description of the organization.",
            "example": "This is very cool Developer Portal",
            "maxLength": 1000
          },
          "parent": {
            "type": "string",
            "format": "uuid",
            "description": "Parent organization UUID.",
            "example": 1
          },
          "type": {
            "type": "string",
            "description": "CONSUMER, PUBLISHER, or BOTH.",
            "enum": [
              "BOTH",
              "CONSUMER",
              "PUBLISHER"
            ],
            "example": "BOTH"
          },
          "status": {
            "type": "string",
            "description": "ACTIVE or DELETED.",
            "enum": [
              "ACTIVE",
              "DELETED"
            ],
            "example": "ACTIVE"
          },
          "defaultOwner": {
            "type": "boolean",
            "description": "Default owner for new resources (read-only).",
            "example": true,
            "readOnly": true
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only)."
          },
          "hasImage": {
            "type": "boolean",
            "description": "Whether a custom image has been uploaded for this organization (read-only).",
            "example": false
          },
          "parentDisplayName": {
            "type": "string",
            "description": "Parent org name (read-only)."
          }
        },
        "required": [
          "displayName",
          "email",
          "name"
        ]
      },
      "McpServerVersionUpdateRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "published": {
            "type": "boolean",
            "example": true
          },
          "visibility": {
            "type": "string",
            "enum": [
              "RESTRICTED",
              "PUBLIC"
            ],
            "example": "PUBLIC"
          }
        },
        "required": [
          "published",
          "visibility"
        ]
      },
      "McpServerVersionDTO": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "serverName": {
            "type": "string",
            "example": "my-mcp-server"
          },
          "version": {
            "type": "string",
            "example": "1.0.0"
          },
          "sequenceId": {
            "type": "integer",
            "format": "int64",
            "example": 42
          },
          "published": {
            "type": "boolean",
            "example": true
          },
          "visibility": {
            "type": "string",
            "enum": [
              "RESTRICTED",
              "PUBLIC"
            ],
            "example": "PUBLIC"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-01-15T10:30:00Z"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "example": "2024-06-01T08:00:00Z"
          },
          "externalId": {
            "type": "string",
            "example": "d00960f3-df46-4176-908e-9e2184009c7d"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          }
        },
        "required": [
          "createdAt",
          "externalId",
          "id",
          "published",
          "sequenceId",
          "serverName",
          "updatedAt",
          "version",
          "visibility"
        ]
      },
      "GitCredentialDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Stored Git credentials (SSH key or username/password).",
        "properties": {
          "type": {
            "type": "string",
            "description": "SSH_KEY or USERNAME_PASSWORD.",
            "enum": [
              "PASSWORD",
              "SSH"
            ]
          },
          "displayName": {
            "type": "string",
            "description": "Human-readable name for these credentials."
          },
          "username": {
            "type": "string",
            "description": "For USERNAME_PASSWORD type."
          },
          "password": {
            "type": "string",
            "description": "Write-only."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the credentials were created (read-only)."
          },
          "publicKey": {
            "type": "string",
            "description": "SSH public key (read-only)."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only)."
          }
        },
        "required": [
          "displayName",
          "type"
        ]
      },
      "AgentTokenDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Agent authentication token.",
        "properties": {
          "token": {
            "type": "string",
            "description": "Bearer token used by the agent to authenticate with the Control Plane."
          }
        },
        "required": [
          "token"
        ]
      },
      "DevPortalDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A Developer Portal instance for API consumer self-service.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Human-readable name of the Developer Portal.",
            "example": "API Shop"
          },
          "organization": {
            "type": "string",
            "format": "uuid",
            "description": "Owning organization UUID.",
            "example": 1
          },
          "anonymousAccess": {
            "type": "boolean",
            "description": "Allow unauthenticated browsing.",
            "example": true
          },
          "showApiOwner": {
            "type": "boolean",
            "description": "Display the owning organization on API listings.",
            "example": true
          },
          "allowSubscriptionUpdate": {
            "type": "boolean",
            "description": "Allow plan changes via portal.",
            "example": true
          },
          "allowSubscriptionsToNonProductionEnvironments": {
            "type": "boolean",
            "description": "Allow subscriptions to non-production environments.",
            "example": true
          },
          "showMenuIcons": {
            "type": "boolean",
            "description": "Whether to show icons in the developer portal menu.",
            "example": true
          },
          "url": {
            "type": "string",
            "description": "Public portal URL. For Boomi hosted portals, this field is read-only and derived from portal settings.",
            "example": "https://coolAPIs.io"
          },
          "customDomain": {
            "type": "string",
            "description": "Custom domain configured for this developer portal. If present in update request, certificateComponentId must also be present",
            "example": "devportal.mycompany.com"
          },
          "status": {
            "type": "string",
            "description": "ACTIVE or INACTIVE.",
            "enum": [
              "INACTIVE",
              "ACTIVE"
            ],
            "example": "ACTIVE"
          },
          "portalType": {
            "type": "string",
            "description": "SELF_MANAGED or BOOMI_MANAGED.",
            "enum": [
              "SELF_MANAGED",
              "BOOMI_MANAGED"
            ],
            "example": "BOOMI_MANAGED"
          },
          "emailFooter": {
            "type": "string",
            "description": "Custom email footer."
          },
          "properties": {
            "$ref": "#/components/schemas/DevPortalPropertiesDTO",
            "description": "Appearance and behavior settings."
          },
          "token": {
            "type": "string",
            "description": "Portal API access token.",
            "example": "jk2f982jf29fjsd29uf298j2k"
          },
          "customDomainEnabled": {
            "type": "boolean",
            "description": "Specifies whether custom domain has been enabled for the developer portal.",
            "example": false
          },
          "certificateComponentId": {
            "type": "string",
            "description": "The componentId of the certificate in Boomi Integration used for the custom domain. If present in update request, customDomain must also be present."
          },
          "certificateExpirationDate": {
            "type": "string",
            "format": "date-time",
            "description": "The expiration date of the certificate in Boomi Integration used for the custom domain"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "The unique ID of the Developer portal",
            "example": 999
          }
        },
        "required": [
          "allowSubscriptionUpdate",
          "allowSubscriptionsToNonProductionEnvironments",
          "anonymousAccess",
          "customDomainEnabled",
          "name",
          "showApiOwner",
          "showMenuIcons",
          "status",
          "token"
        ]
      },
      "DevPortalPropertiesDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Developer Portal appearance and behavior settings.",
        "properties": {
          "logoFile": {
            "type": "string",
            "description": "If present, must be the name of a file that has been uploaded to /devPortals/{id}/files."
          },
          "logoFileSmall": {
            "type": "string",
            "description": "If present, must be the name of a file that has been uploaded to /devPortals/{id}/files."
          },
          "logoFileIco": {
            "type": "string",
            "description": "If present, must be the name of a file that has been uploaded to /devPortals/{id}/files."
          },
          "colorPrimary": {
            "type": "string",
            "description": "Primary brand color (hex code)."
          },
          "colorSecondary": {
            "type": "string",
            "description": "Secondary brand color (hex code)."
          },
          "colorMenuText": {
            "type": "string",
            "description": "Menu text color (hex code)."
          },
          "colorPrimaryButtonText": {
            "type": "string",
            "description": "Primary button text color (hex code)."
          },
          "devPortalName": {
            "type": "string",
            "description": "Portal display name (read-only, derived from DevPortalDTO).",
            "readOnly": true
          },
          "showApiOwner": {
            "type": "boolean",
            "description": "Whether API owner is shown (read-only, derived from DevPortalDTO).",
            "readOnly": true
          },
          "allowSubscriptionUpdate": {
            "type": "boolean",
            "description": "Whether plan changes are allowed (read-only, derived from DevPortalDTO).",
            "readOnly": true
          },
          "showMenuIcons": {
            "type": "boolean",
            "description": "Whether to show icons in the developer portal menu.",
            "readOnly": true
          }
        }
      },
      "DevPortalPageDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A content page within a Developer Portal.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique name identifying this page."
          },
          "title": {
            "type": "string",
            "description": "Display title of the page."
          },
          "blocks": {
            "type": "array",
            "description": "Names of the content blocks included on this page.",
            "items": {
              "type": "string"
            }
          },
          "default": {
            "type": "boolean",
            "description": "Whether this is the default landing page of the portal."
          }
        },
        "required": [
          "blocks",
          "name",
          "title"
        ]
      },
      "DevPortalMenuItemDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A navigation menu item in a Developer Portal.",
        "properties": {
          "type": {
            "type": "string",
            "description": "URL (external link) or PAGE (internal portal page).",
            "enum": [
              "URL",
              "PAGE",
              "SYSTEM"
            ]
          },
          "text": {
            "type": "string",
            "description": "Display label of the menu item."
          },
          "iconName": {
            "type": "string",
            "description": "Optional icon name to display alongside the label."
          },
          "url": {
            "type": "string",
            "description": "Target URL, required when type is URL."
          },
          "pageName": {
            "type": "string",
            "description": "Internal page name, required when type is PAGE."
          },
          "enabled": {
            "type": "boolean",
            "description": "Indicates whether the menu item is enabled. If not, it will not show up in the Developer Portal."
          },
          "visibility": {
            "type": "string",
            "description": "Controls which users can see this menu item. Can be ALWAYS, LOGGED_IN (for authenticated users only) or LOGGED_OUT (for guest users only).",
            "enum": [
              "ALWAYS",
              "LOGGED_IN",
              "LOGGED_OUT"
            ]
          }
        },
        "required": [
          "enabled",
          "text",
          "type",
          "visibility"
        ]
      },
      "DevPortalMenuItems": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "items": {
            "type": "array",
            "description": "Ordered list of navigation menu items.",
            "items": {
              "$ref": "#/components/schemas/DevPortalMenuItemDTO"
            }
          }
        },
        "required": [
          "items"
        ]
      },
      "DevPortalBlockDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A content block within a Developer Portal page.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Unique name identifying this content block."
          },
          "content": {
            "type": "string",
            "description": "HTML or markdown content of the block."
          },
          "pages": {
            "type": "array",
            "description": "Names of the pages this block appears on.",
            "items": {
              "type": "string"
            }
          },
          "default": {
            "type": "boolean",
            "description": "Whether this block appears on all pages by default."
          }
        },
        "required": [
          "content",
          "name"
        ]
      },
      "SamlConfigDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "SAML 2.0 SSO configuration.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether SAML SSO is enabled."
          },
          "loginPage": {
            "type": "string",
            "description": "URL of the IdP's login page."
          },
          "idpEntityId": {
            "type": "string",
            "description": "Entity ID of the identity provider."
          },
          "certificate": {
            "type": "string",
            "description": "PEM-encoded X.509 certificate of the identity provider."
          },
          "attributeDisplayName": {
            "type": "string",
            "description": "SAML attribute mapped to the user's display name."
          },
          "attributeEmail": {
            "type": "string",
            "description": "SAML attribute mapped to the user's email address."
          },
          "attributeRole": {
            "type": "string",
            "description": "SAML attribute used to determine the user's role."
          },
          "attributeRoleAdminValue": {
            "type": "string",
            "description": "Value of the role attribute that grants admin access."
          },
          "serviceProviderSettings": {
            "$ref": "#/components/schemas/SamlServiceProviderSettings",
            "description": "Service provider settings, required when SP-initiated SSO is used."
          },
          "useAsPlatformLogin": {
            "type": "boolean",
            "description": "Whether to use this SAML configuration as the Boomi Platform login."
          },
          "authContext": {
            "type": "string",
            "description": "Requested authentication context class.",
            "enum": [
              "PPT",
              "UNSPECIFIED",
              "NONE"
            ]
          },
          "authContextComparison": {
            "type": "string",
            "description": "Comparison method for the authentication context.",
            "enum": [
              "EXACT",
              "MINIMUM",
              "NONE"
            ]
          },
          "nameIdPolicy": {
            "type": "string",
            "description": "NameID policy format requested from the IdP.",
            "enum": [
              "UNSPECIFIED",
              "TRANSIENT",
              "NONE"
            ]
          },
          "federationIdFromNameId": {
            "type": "boolean",
            "description": "Whether to use the NameID value as the federation identifier."
          },
          "autoCreateUsers": {
            "type": "boolean",
            "description": "Whether unknown SAML users are auto-created on first login. If false, SAML users must be created in advance."
          }
        },
        "required": [
          "authContext",
          "authContextComparison",
          "autoCreateUsers",
          "certificate",
          "enabled",
          "federationIdFromNameId",
          "idpEntityId",
          "loginPage",
          "nameIdPolicy",
          "useAsPlatformLogin"
        ]
      },
      "SamlServiceProviderSettings": {
        "type": "object",
        "additionalProperties": false,
        "description": "Service provider entity ID and callback URL for SP-initiated SSO.",
        "properties": {
          "spEntityId": {
            "type": "string",
            "description": "Entity ID of this service provider."
          },
          "loginResponseUrl": {
            "type": "string",
            "description": "URL the IdP should redirect to after a successful login."
          }
        },
        "required": [
          "loginResponseUrl",
          "spEntityId"
        ]
      },
      "OidcConfigDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "OpenID Connect configuration.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether OIDC authentication is enabled."
          },
          "authorizeUrl": {
            "type": "string",
            "description": "Authorization endpoint URL of the OIDC provider."
          },
          "tokenUrl": {
            "type": "string",
            "description": "Token endpoint URL of the OIDC provider."
          },
          "clientId": {
            "type": "string",
            "description": "Client ID registered with the OIDC provider."
          },
          "clientSecret": {
            "type": "string",
            "description": "Client secret registered with the OIDC provider."
          },
          "loginResponseUrl": {
            "type": "string",
            "description": "URL to redirect to after a successful OIDC login."
          }
        },
        "required": [
          "authorizeUrl",
          "clientId",
          "clientSecret",
          "enabled",
          "tokenUrl"
        ]
      },
      "LdapConfigDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "LDAP authentication configuration.",
        "properties": {
          "enabled": {
            "type": "boolean",
            "description": "Whether LDAP authentication is enabled."
          },
          "url": {
            "type": "string",
            "description": "LDAP server URL (ldap:// or ldaps://)."
          },
          "searchBase": {
            "type": "string",
            "description": "Base DN used for user searches."
          },
          "userGroup": {
            "type": "string",
            "description": "DN of the LDAP group whose members are granted user access."
          },
          "adminGroup": {
            "type": "string",
            "description": "DN of the LDAP group whose members are granted admin access."
          },
          "userNameAttribute": {
            "type": "string",
            "description": "LDAP attribute used as the username for login."
          },
          "displayNameAttribute": {
            "type": "string",
            "description": "LDAP attribute mapped to the user's display name."
          },
          "emailAttribute": {
            "type": "string",
            "description": "LDAP attribute mapped to the user's email address."
          },
          "technicalUser": {
            "type": "string",
            "description": "DN of the technical (service) account used to bind to the LDAP server."
          },
          "technicalUserPassword": {
            "type": "string",
            "description": "Password of the technical account."
          },
          "serverCertificate": {
            "type": "string",
            "description": "PEM-encoded server certificate for ldaps:// connections."
          },
          "testUser": {
            "type": "string",
            "description": "Optional test username for validating the LDAP configuration."
          },
          "testUserPassword": {
            "type": "string",
            "description": "Optional test password for validating the LDAP configuration."
          }
        },
        "required": [
          "enabled",
          "searchBase",
          "technicalUser",
          "technicalUserPassword",
          "url",
          "userNameAttribute"
        ]
      },
      "GeneralConfigDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Date/time display format settings.",
        "properties": {
          "dateFormat": {
            "type": "string",
            "description": "* INTERNATIONAL: 2020-12-06\n* US: 12/06/2020\n* US_WRITTEN_OUT: December 6, 2020\n* GERMAN: 106.12.2020",
            "enum": [
              "INTERNATIONAL",
              "US",
              "US_WRITTEN_OUT",
              "GERMAN"
            ]
          },
          "timeFormat": {
            "type": "string",
            "description": "* INTERNATIONAL: 13:20:30\n* US: 1:20:30 PM",
            "enum": [
              "INTERNATIONAL",
              "US"
            ]
          }
        },
        "required": [
          "dateFormat",
          "timeFormat"
        ]
      },
      "DiscoveryConfigDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Discovery naming and merge strategies.",
        "properties": {
          "apiDiscoveryNameStrategy": {
            "type": "string",
            "description": "Strategy used to derive API names during discovery.",
            "enum": [
              "NAME_IN_GATEWAY",
              "TITLE_IN_API_SPEC",
              "FIRST_TAG_IN_API_SPEC"
            ]
          },
          "applicationDiscoveryMergingStrategy": {
            "type": "string",
            "description": "Strategy for merging discovered applications across environments.",
            "enum": [
              "NEVER",
              "BY_NAME"
            ]
          }
        },
        "required": [
          "apiDiscoveryNameStrategy"
        ]
      },
      "CustomFieldDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Custom metadata field definition for applications.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the custom field."
          },
          "description": {
            "type": "string",
            "description": "Help text in UI.",
            "example": "some text...",
            "maxLength": 1000
          },
          "required": {
            "type": "boolean",
            "description": "Whether a value is required when creating or updating an application."
          },
          "type": {
            "type": "string",
            "description": "TEXT, NUMBER, BOOLEAN, SELECT, etc.",
            "enum": [
              "TEXT",
              "OPTIONS"
            ]
          },
          "options": {
            "type": "array",
            "description": "Options for SELECT type.",
            "items": {
              "type": "string"
            }
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned UUID (read-only)."
          }
        },
        "required": [
          "name",
          "required",
          "type"
        ]
      },
      "ApprovalRequestsConfigDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Approval workflow configuration.",
        "properties": {
          "subscriptionApprovalRequired": {
            "type": "string",
            "description": "Whether subscription requests require manual approval.",
            "enum": [
              "OFF",
              "RESTRICTED",
              "PUBLIC",
              "ALL"
            ]
          },
          "subscriptionAutoApproval": {
            "type": "string",
            "description": "When subscriptions are auto-approved without manual review.",
            "enum": [
              "ADMIN_ONLY",
              "ALL_USERS",
              "OFF"
            ]
          }
        },
        "required": [
          "subscriptionApprovalRequired",
          "subscriptionAutoApproval"
        ]
      },
      "AITermsConfigDTO": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "accepted": {
            "type": "boolean",
            "description": "True if the Boomi AI terms and conditions have been accepted. For tenants linked with Boomi accounts, they would have been accepted in the boomi platform. For other tenants, they would have been accepted in API Control Plane."
          },
          "uiEnabled": {
            "type": "boolean",
            "description": "False if customer has opted out of AI features. In that case, no UI features should show up in frontend, at all.",
            "readOnly": true
          },
          "synchronizedWithBoomi": {
            "type": "boolean",
            "description": "True if this tenant is linked with a Boomi account and the acceptance of Boomi AI terms and conditions is controlled from there. In that case, you cannot accept the Boomi AI terms and conditions in API Control Plane and must go to Boomi platform instead.",
            "readOnly": true
          }
        },
        "required": [
          "accepted"
        ]
      },
      "ApplicationDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "An API consumer application. API keys are tied to applications.",
        "properties": {
          "displayName": {
            "type": "string",
            "description": "Human-readable name of the application.",
            "example": "Business Application"
          },
          "description": {
            "type": "string",
            "description": "Optional description of the application.",
            "example": "some text...",
            "maxLength": 1000
          },
          "status": {
            "type": "string",
            "description": "ACTIVE (subscriptions work) or INACTIVE (all suspended).",
            "enum": [
              "INACTIVE",
              "ACTIVE"
            ],
            "example": "ACTIVE"
          },
          "owner": {
            "type": "string",
            "format": "uuid",
            "description": "Owning organization UUID.",
            "example": 1
          },
          "oauthCallbackUrl": {
            "type": "string",
            "description": "OAuth callback URL."
          },
          "oauthScope": {
            "type": "string",
            "description": "OAuth scope."
          },
          "deploymentStatus": {
            "type": "string",
            "description": "Deployment status.",
            "enum": [
              "DEPLOYED",
              "DEPLOYMENT_FAILED",
              "DELETION_FAILED",
              "DELETION_IN_PROGRESS",
              "DEPLOYMENT_IN_PROGRESS",
              "DEPLOYMENT_REQUIRED",
              "CREATED"
            ],
            "example": "COMPLETE"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the application was created (read-only)."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only).",
            "example": 1
          },
          "hasImage": {
            "type": "boolean",
            "description": "Whether a custom image has been uploaded for this application (read-only).",
            "example": false
          },
          "deployedOn": {
            "type": "array",
            "deprecated": true,
            "description": "Deprecated — use apiGateways.",
            "items": {
              "$ref": "#/components/schemas/EnvironmentDTO"
            },
            "readOnly": true
          },
          "apiGateways": {
            "type": "array",
            "description": "Deployed gateways. Requires includeDeployedOn=true.",
            "items": {
              "$ref": "#/components/schemas/ApiGatewayDTO"
            },
            "readOnly": true
          },
          "aiAgentKey": {
            "type": "string",
            "description": "API key for AI agent MCP access."
          },
          "numMcpEnabledProducts": {
            "type": "integer",
            "format": "int32",
            "description": "Count of MCP-enabled products subscribed to."
          }
        },
        "required": [
          "displayName",
          "numMcpEnabledProducts",
          "status"
        ]
      },
      "CustomFieldValue": {
        "type": "object",
        "additionalProperties": false,
        "description": "A single custom field value assignment.",
        "properties": {
          "customField": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the custom field definition."
          },
          "value": {
            "type": "string",
            "description": "Value to assign to the custom field."
          }
        },
        "required": [
          "customField",
          "value"
        ]
      },
      "CustomFieldValues": {
        "type": "object",
        "additionalProperties": false,
        "description": "Collection of custom field values for an application.",
        "properties": {
          "fields": {
            "type": "array",
            "description": "List of custom field values to set.",
            "items": {
              "$ref": "#/components/schemas/CustomFieldValue"
            }
          }
        },
        "required": [
          "fields"
        ]
      },
      "ApiDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "An API managed by the Control Plane, backed by specification files and deployable to gateway environments.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only).",
            "example": 1
          },
          "name": {
            "type": "string",
            "description": "Technical name, used in URLs.",
            "example": "petstore"
          },
          "displayName": {
            "type": "string",
            "description": "Display name.",
            "example": "Petstore API"
          },
          "description": {
            "type": "string",
            "description": "Optional description of the API.",
            "example": "some text...",
            "maxLength": 1000
          },
          "url": {
            "type": "string",
            "description": "Base path on the gateway.",
            "example": "/petstore"
          },
          "status": {
            "type": "string",
            "description": "ACTIVE (subscribable) or INACTIVE.",
            "enum": [
              "INACTIVE",
              "ACTIVE"
            ],
            "example": "ACTIVE"
          },
          "owner": {
            "type": "string",
            "format": "uuid",
            "description": "Owning organization UUID.",
            "example": 1
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "uniqueItems": true
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "GRAPHQL"
            ],
            "example": "REST"
          },
          "gitUrl": {
            "type": "string",
            "description": "Git repo URL for Git-managed APIs.",
            "example": "git@github.com:test/my-repo.git"
          },
          "gitCredential": {
            "type": "string",
            "format": "uuid",
            "description": "Git credential UUID for repo access.",
            "example": 1
          },
          "platformType": {
            "type": "string",
            "description": "Gateway platform (e.g. BOOMI, AWS, KONG).",
            "example": "AWS"
          },
          "deploymentStatus": {
            "type": "string",
            "description": "Deployment status across environments.",
            "enum": [
              "DEPLOYED",
              "DEPLOYMENT_FAILED",
              "DELETION_FAILED",
              "DELETION_IN_PROGRESS",
              "DEPLOYMENT_IN_PROGRESS",
              "DEPLOYMENT_REQUIRED",
              "CREATED"
            ],
            "example": "COMPLETE"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the API was created (read-only)."
          },
          "hasImage": {
            "type": "boolean",
            "description": "Whether a custom image has been uploaded for this API (read-only).",
            "example": false
          },
          "ownerDisplayName": {
            "type": "string",
            "description": "Owning org name (read-only)."
          },
          "ownerEmail": {
            "type": "string",
            "description": "Owning org email (read-only)."
          },
          "deployedOn": {
            "type": "array",
            "description": "Deployed environments. Requires includeDeployedOn=true.",
            "items": {
              "$ref": "#/components/schemas/EnvironmentDTO"
            }
          },
          "globalApiId": {
            "type": "string",
            "description": "Identifier shared across all deployments of this API. For example, the ApiService Component ID when deployed to a Boomi gateway."
          },
          "runningJobs": {
            "type": "array",
            "description": "Active background jobs for this API. Requires includeRunningJobs=true.",
            "items": {
              "$ref": "#/components/schemas/RunningJobDTO"
            }
          }
        },
        "required": [
          "displayName",
          "name",
          "status",
          "tags",
          "type"
        ]
      },
      "ApiSpecDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A specification file attached to an API version.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Filename (e.g. 'openapi.yaml')."
          },
          "type": {
            "type": "string",
            "description": "Specification format type (e.g. OPENAPI_V3, ASYNCAPI_V2).",
            "enum": [
              "current",
              "OPENAPI_V2",
              "OPENAPI_V3",
              "ASYNCAPI_V2",
              "GRAPHQL",
              "PROTOCOL_BUFFERS"
            ]
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of the last update to this specification."
          },
          "apiId": {
            "type": "string",
            "format": "uuid",
            "description": "Parent API UUID."
          },
          "versionName": {
            "type": "string",
            "description": "Parent version name."
          },
          "lintNumbers": {
            "$ref": "#/components/schemas/LintResultInfoDTO",
            "description": "Governance validation summary."
          },
          "lintError": {
            "type": "string",
            "description": "Error if validation failed."
          },
          "runningJobs": {
            "type": "array",
            "description": "Active background jobs for this spec. Requires includeRunningJobs=true.",
            "items": {
              "$ref": "#/components/schemas/RunningJobDTO"
            }
          }
        },
        "required": [
          "name",
          "type"
        ]
      },
      "ApiVersionDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A version of an API with its own specification and lifecycle status.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Version identifier (e.g. 'v1', '2.0.0')."
          },
          "displayName": {
            "type": "string",
            "description": "Human-readable version name."
          },
          "description": {
            "type": "string",
            "description": "Optional description of this API version.",
            "maxLength": 1000
          },
          "status": {
            "type": "string",
            "description": "Lifecycle: CONCEPT → DESIGN → DEVELOPMENT → STAGING → PRODUCTION → DEPRECATED → RETIRED.",
            "enum": [
              "CONCEPT",
              "DESIGN",
              "DEVELOPMENT",
              "STAGING",
              "PRODUCTION",
              "DEPRECATED",
              "RETIRED"
            ]
          },
          "apiId": {
            "type": "string",
            "format": "uuid",
            "description": "Parent API UUID."
          },
          "aiGenerated": {
            "type": "boolean",
            "description": "True if spec was AI-generated.",
            "example": false
          },
          "aiGenStatusDetails": {
            "$ref": "#/components/schemas/AiGenerationStatusDetails",
            "description": "Status details of AI generation, if applicable."
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "deployedOn": {
            "type": "array",
            "description": "Environments this version is currently deployed to.",
            "items": {
              "$ref": "#/components/schemas/EnvironmentSummaryDTO"
            }
          }
        },
        "required": [
          "aiGenerated",
          "deployedOn",
          "displayName",
          "name"
        ]
      },
      "EnvironmentSummaryDTO": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "example": "aa2867cf-a395-47e0-84b2-8fa157906677"
          },
          "name": {
            "type": "string",
            "example": "gravitee-1"
          },
          "displayName": {
            "type": "string",
            "example": "Primary Gravitee Environment"
          },
          "stage": {
            "type": "string",
            "description": "DEVELOPMENT or PRODUCTION.",
            "enum": [
              "DEVELOPMENT",
              "PRODUCTION"
            ],
            "example": "PRODUCTION"
          }
        },
        "required": [
          "displayName",
          "id",
          "name",
          "stage"
        ]
      },
      "LintResultInfoDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Governance validation summary — counts and scores.",
        "properties": {
          "securityErrors": {
            "type": "integer",
            "format": "int64",
            "description": "Number of security rule errors."
          },
          "securityWarnings": {
            "type": "integer",
            "format": "int64",
            "description": "Number of security rule warnings."
          },
          "securityInfos": {
            "type": "integer",
            "format": "int64",
            "description": "Number of security rule infos."
          },
          "qualityErrors": {
            "type": "integer",
            "format": "int64",
            "description": "Number of quality rule errors."
          },
          "qualityWarnings": {
            "type": "integer",
            "format": "int64",
            "description": "Number of quality rule warnings."
          },
          "qualityInfos": {
            "type": "integer",
            "format": "int64",
            "description": "Number of quality rule infos."
          },
          "numberOfRuleSets": {
            "type": "integer",
            "format": "int64",
            "description": "Number of rulesets applied."
          },
          "securityScore": {
            "type": "integer",
            "format": "int32",
            "description": "0-100."
          },
          "qualityScore": {
            "type": "integer",
            "format": "int32",
            "description": "0-100."
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of the last lint run."
          }
        },
        "required": [
          "numberOfRuleSets",
          "qualityErrors",
          "qualityInfos",
          "qualityScore",
          "qualityWarnings",
          "securityErrors",
          "securityInfos",
          "securityScore",
          "securityWarnings",
          "updatedAt"
        ]
      },
      "VersionAndSpecResponse": {
        "type": "object",
        "additionalProperties": false,
        "description": "Combined response containing an API version and its associated spec.",
        "properties": {
          "version": {
            "$ref": "#/components/schemas/ApiVersionDTO",
            "description": "The API version details."
          },
          "spec": {
            "$ref": "#/components/schemas/ApiSpecDTO",
            "description": "The associated API spec details."
          }
        },
        "required": [
          "spec",
          "version"
        ]
      },
      "AiDocGenerationStatusDetails": {
        "type": "object",
        "additionalProperties": false,
        "description": "Status of AI documentation generation.",
        "properties": {
          "aiGenProcessId": {
            "type": "string",
            "description": "Identifier of the AI generation process."
          },
          "aiGenDocType": {
            "type": "string",
            "description": "Type of document being generated.",
            "enum": [
              "business_overview",
              "technical_summary",
              "technical_detailed"
            ]
          },
          "aiGenStatus": {
            "type": "string",
            "description": "Current generation status: IN_PROGRESS, COMPLETED, or ERROR.",
            "enum": [
              "IN_PROGRESS",
              "COMPLETE",
              "ERROR"
            ]
          },
          "aiGenStartedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when generation started."
          },
          "aiGenEstimatedTime": {
            "type": "integer",
            "format": "int32",
            "description": "Estimated time to completion in seconds."
          },
          "aiGenCompletedPercentage": {
            "type": "integer",
            "format": "int32",
            "description": "Completion percentage (0-100)."
          },
          "aiGenError": {
            "type": "string",
            "description": "Error message if generation failed."
          },
          "error": {
            "type": "string",
            "writeOnly": true
          }
        },
        "required": [
          "aiGenDocType",
          "aiGenProcessId",
          "aiGenStartedAt",
          "aiGenStatus"
        ]
      },
      "DocPageGitConfig": {
        "type": "object",
        "additionalProperties": false,
        "description": "Git repository configuration for a documentation page synced from git.",
        "properties": {
          "url": {
            "type": "string",
            "description": "URL of the git repository."
          },
          "credential": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the git credential to use, or null for public repositories."
          },
          "branch": {
            "type": "string",
            "description": "Branch to sync from, or null to use the repository's default branch."
          },
          "path": {
            "type": "string",
            "description": "Path within the repository to sync, or null to import the root folder."
          },
          "fetchInterval": {
            "type": "string",
            "description": "How frequently the page should be re-synced from git.",
            "enum": [
              "NEVER",
              "EVERY_10_MINUTES"
            ]
          }
        },
        "required": [
          "fetchInterval",
          "url"
        ]
      },
      "DocPageUpdateRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to update an existing documentation page.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the documentation page."
          },
          "isPublic": {
            "type": "boolean",
            "description": "Whether the page is visible to unauthenticated portal visitors."
          },
          "aiGenerated": {
            "type": "boolean",
            "description": "Whether the page content was generated by AI."
          },
          "gitConfig": {
            "$ref": "#/components/schemas/DocPageGitConfig",
            "description": "Git source configuration for GIT-type pages."
          },
          "defaultPage": {
            "type": "boolean",
            "description": "Whether this is the portal's default landing page."
          }
        },
        "required": [
          "aiGenerated",
          "defaultPage",
          "isPublic",
          "name"
        ]
      },
      "DocPageDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A documentation page within a developer portal.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the documentation page."
          },
          "type": {
            "type": "string",
            "description": "Type of the page: MARKDOWN, FOLDER, or GIT.",
            "enum": [
              "FOLDER",
              "MARKDOWN",
              "HTML"
            ]
          },
          "isPublic": {
            "type": "boolean",
            "description": "Whether the page is visible to unauthenticated portal visitors."
          },
          "aiGenerated": {
            "type": "boolean",
            "description": "Whether the page content was generated by AI."
          },
          "readOnly": {
            "type": "boolean",
            "description": "Whether the page is read-only (e.g. synced from git)."
          },
          "contentReadOnly": {
            "type": "boolean",
            "description": "Whether the page content is read-only while metadata can still be edited."
          },
          "defaultPage": {
            "type": "boolean",
            "description": "Whether this is the portal's default landing page."
          },
          "gitConfig": {
            "$ref": "#/components/schemas/DocPageGitConfig",
            "description": "Git source configuration for GIT-type pages."
          },
          "aiGenerationDetails": {
            "$ref": "#/components/schemas/AiDocGenerationStatusDetails",
            "description": "Status details if this page has an active AI generation job."
          },
          "children": {
            "type": "array",
            "description": "Child pages, populated when fetching the page tree.",
            "items": {
              "$ref": "#/components/schemas/DocPageDTO"
            }
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the documentation page."
          }
        },
        "required": [
          "aiGenerated",
          "contentReadOnly",
          "defaultPage",
          "isPublic",
          "name",
          "readOnly",
          "type"
        ]
      },
      "WebhookRequestDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A webhook delivery attempt with payload, status, and retry info.",
        "properties": {
          "webhook": {
            "$ref": "#/components/schemas/WebhookDTO",
            "description": "Webhook UUID."
          },
          "eventType": {
            "type": "string",
            "description": "Type of event that triggered this delivery."
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the event was generated."
          },
          "payload": {
            "type": "string",
            "description": "JSON payload sent."
          },
          "status": {
            "type": "string",
            "description": "SUCCESS, FAILED, or PENDING.",
            "enum": [
              "CREATED",
              "SUCCESS",
              "RETRYING",
              "GIVE_UP",
              "CANCELLED"
            ]
          },
          "lastAttempt": {
            "type": "string",
            "format": "date-time",
            "description": "Last delivery attempt."
          },
          "nextAttempt": {
            "type": "string",
            "format": "date-time",
            "description": "Next retry (if failed)."
          },
          "numberOfAttempts": {
            "type": "integer",
            "format": "int32",
            "description": "Total attempts."
          },
          "failureMessage": {
            "type": "string",
            "description": "Error from last failure."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned UUID of the delivery attempt."
          }
        },
        "required": [
          "eventType",
          "id",
          "numberOfAttempts",
          "payload",
          "status",
          "timestamp",
          "webhook"
        ]
      },
      "SetPasswordRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to set a new password using a password reset token.",
        "properties": {
          "token": {
            "type": "string",
            "description": "The password reset token received via email."
          },
          "password": {
            "type": "string",
            "description": "The new password to set."
          }
        },
        "required": [
          "password",
          "token"
        ]
      },
      "NewPasswordRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to initiate a password reset for a user.",
        "properties": {
          "email": {
            "type": "string",
            "description": "Email address of the user requesting a password reset."
          }
        },
        "required": [
          "email"
        ]
      },
      "UserInviteRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to invite a new user to the tenant.",
        "properties": {
          "email": {
            "type": "string",
            "description": "Email address of the user to invite."
          },
          "displayName": {
            "type": "string",
            "description": "Display name for the invited user."
          },
          "role": {
            "type": "string",
            "description": "Role to assign to the invited user.",
            "enum": [
              "USER",
              "GLOBAL_ADMIN",
              "ADMIN",
              "NO_ACCESS"
            ]
          },
          "organization": {
            "type": "string",
            "format": "uuid",
            "description": "Organization to assign the user to."
          },
          "firstName": {
            "type": "string",
            "description": "First name of the invited user."
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the invited user."
          }
        },
        "required": [
          "email",
          "role"
        ]
      },
      "TermsOfUseVersionDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A version of a terms-of-use document.",
        "properties": {
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Version number, incremented with each new upload."
          },
          "fileName": {
            "type": "string",
            "description": "Original file name of the uploaded document."
          },
          "fileHash": {
            "type": "string",
            "description": "SHA hash of the file content for integrity verification."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when this version was uploaded."
          }
        },
        "required": [
          "createdAt",
          "fileHash",
          "fileName",
          "number"
        ]
      },
      "TierInfoUpdate": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to update a tenant's subscription tier and add-on packages.",
        "properties": {
          "tier": {
            "type": "string",
            "description": "Target subscription tier level.",
            "enum": [
              "FREE",
              "GROWTH",
              "PROFESSIONAL",
              "ENTERPRISE"
            ]
          },
          "smallPackages": {
            "type": "integer",
            "format": "int32",
            "description": "Number of small add-on packages to assign."
          },
          "largePackages": {
            "type": "integer",
            "format": "int32",
            "description": "Number of large add-on packages to assign."
          }
        },
        "required": [
          "largePackages",
          "smallPackages",
          "tier"
        ]
      },
      "AccessPermissionApiDetails": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "apiUrl": {
            "type": "string",
            "description": "Base URL of the API on the gateway."
          },
          "apiId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the API."
          },
          "apiDisplayName": {
            "type": "string",
            "description": "Display name of the API."
          },
          "keyType": {
            "type": "string",
            "description": "Authentication type: API_KEY or OAUTH.",
            "enum": [
              "API_KEY",
              "API_KEY_AND_SECRET"
            ]
          },
          "apiKey": {
            "type": "string",
            "description": "API key for authentication."
          },
          "apiSecret": {
            "type": "string",
            "description": "API secret for OAuth authentication."
          },
          "endpoints": {
            "type": "array",
            "description": "List of endpoints accessible with these credentials.",
            "items": {
              "$ref": "#/components/schemas/ApiEndpointDTO"
            }
          }
        },
        "required": [
          "apiDisplayName",
          "endpoints"
        ]
      },
      "AccessPermissionDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Access credentials (API key/secret) for a subscription in an environment.",
        "properties": {
          "deployedForProduct": {
            "type": "boolean",
            "description": "Whether this permission was deployed for an API product."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the access permission."
          },
          "subscription": {
            "type": "string",
            "format": "uuid",
            "description": "Subscription UUID."
          },
          "environment": {
            "type": "string",
            "format": "uuid",
            "description": "Environment UUID."
          },
          "apiDetails": {
            "type": "array",
            "description": "Per-API access details.",
            "items": {
              "$ref": "#/components/schemas/AccessPermissionApiDetails"
            }
          },
          "keyType": {
            "type": "string",
            "description": "API_KEY or OAUTH.",
            "enum": [
              "API_KEY",
              "API_KEY_AND_SECRET"
            ]
          },
          "apiKey": {
            "type": "string",
            "description": "The API key value."
          },
          "apiSecret": {
            "type": "string",
            "description": "For OAuth client credentials."
          }
        },
        "required": [
          "apiDetails",
          "deployedForProduct",
          "environment",
          "id",
          "subscription"
        ]
      },
      "JobIdDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Job ID for tracking async operations.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the async job."
          }
        },
        "required": [
          "id"
        ]
      },
      "SelfServiceRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to register a new self-service user account.",
        "properties": {
          "email": {
            "type": "string",
            "description": "Email address for the new account."
          },
          "displayName": {
            "type": "string",
            "description": "Display name for the new user. Either this or both firstName and lastName must be provided."
          },
          "firstName": {
            "type": "string",
            "description": "First name of the new user."
          },
          "lastName": {
            "type": "string",
            "description": "Last name of the new user."
          }
        },
        "required": [
          "email"
        ]
      },
      "MetricsRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Query parameters for fetching API or application usage metrics.",
        "properties": {
          "type": {
            "type": "string",
            "description": "Whether to query metrics for an API or an Application.",
            "enum": [
              "API",
              "APP"
            ]
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the API or Application to query metrics for."
          },
          "environment": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the environment to query metrics from."
          },
          "start": {
            "type": "string",
            "format": "date",
            "description": "Start date of the metrics range (inclusive)."
          },
          "end": {
            "type": "string",
            "format": "date",
            "description": "End date of the metrics range (inclusive)."
          }
        },
        "required": [
          "end",
          "environment",
          "id",
          "start",
          "type"
        ]
      },
      "MetricResponseTimeDetails": {
        "type": "object",
        "additionalProperties": false,
        "description": "Response time statistics per interval.",
        "properties": {
          "min": {
            "type": "array",
            "description": "Minimum response time per interval in milliseconds.",
            "items": {
              "type": "number",
              "format": "double"
            }
          },
          "max": {
            "type": "array",
            "description": "Maximum response time per interval in milliseconds.",
            "items": {
              "type": "number",
              "format": "double"
            }
          },
          "avg": {
            "type": "array",
            "description": "Average response time per interval in milliseconds.",
            "items": {
              "type": "number",
              "format": "double"
            }
          }
        },
        "required": [
          "avg",
          "max",
          "min"
        ]
      },
      "MetricsDetails": {
        "type": "object",
        "additionalProperties": false,
        "description": "Time-series metrics broken down by interval.",
        "properties": {
          "hits": {
            "$ref": "#/components/schemas/MetricsHitDetails",
            "description": "Hit count details per interval."
          },
          "responseTime": {
            "$ref": "#/components/schemas/MetricResponseTimeDetails",
            "description": "Response time details per interval."
          }
        },
        "required": [
          "hits",
          "responseTime"
        ]
      },
      "MetricsHitDetails": {
        "type": "object",
        "additionalProperties": false,
        "description": "Hit counts broken down by time interval.",
        "properties": {
          "total": {
            "type": "array",
            "description": "Total hits per interval.",
            "items": {
              "type": "integer",
              "format": "int64"
            }
          },
          "byCode": {
            "type": "object",
            "additionalProperties": {
              "type": "array",
              "items": {
                "type": "integer",
                "format": "int64"
              }
            },
            "description": "Hits per interval grouped by HTTP status code."
          }
        },
        "required": [
          "byCode",
          "total"
        ]
      },
      "MetricsHitSums": {
        "type": "object",
        "additionalProperties": false,
        "description": "Aggregated hit count statistics.",
        "properties": {
          "total": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of hits."
          },
          "perSecond": {
            "type": "number",
            "format": "double",
            "description": "Average hits per second."
          },
          "byCode": {
            "type": "object",
            "additionalProperties": {
              "type": "integer",
              "format": "int64"
            },
            "description": "Total hits grouped by HTTP status code."
          }
        },
        "required": [
          "byCode",
          "perSecond",
          "total"
        ]
      },
      "MetricsResponse": {
        "type": "object",
        "additionalProperties": false,
        "description": "Usage metrics response with aggregated totals and time-series detail.",
        "properties": {
          "metadata": {
            "$ref": "#/components/schemas/MetricsRequest",
            "description": "The query parameters used to fetch these metrics."
          },
          "sums": {
            "$ref": "#/components/schemas/MetricsSums",
            "description": "Aggregated hit and response time totals."
          },
          "details": {
            "$ref": "#/components/schemas/MetricsDetails",
            "description": "Time-series hit counts and response times."
          }
        },
        "required": [
          "details",
          "metadata",
          "sums"
        ]
      },
      "MetricsResponseTimeSums": {
        "type": "object",
        "additionalProperties": false,
        "description": "Aggregated response time statistics.",
        "properties": {
          "min": {
            "type": "number",
            "format": "double",
            "description": "Minimum response time in milliseconds."
          },
          "max": {
            "type": "number",
            "format": "double",
            "description": "Maximum response time in milliseconds."
          },
          "avg": {
            "type": "number",
            "format": "double",
            "description": "Average response time in milliseconds."
          }
        },
        "required": [
          "avg",
          "max",
          "min"
        ]
      },
      "MetricsSums": {
        "type": "object",
        "additionalProperties": false,
        "description": "Aggregated metrics totals for the requested time range.",
        "properties": {
          "hits": {
            "$ref": "#/components/schemas/MetricsHitSums",
            "description": "Aggregated hit count totals."
          },
          "responseTime": {
            "$ref": "#/components/schemas/MetricsResponseTimeSums",
            "description": "Aggregated response time totals."
          }
        },
        "required": [
          "hits",
          "responseTime"
        ]
      },
      "LogoutResponse": {
        "type": "object",
        "additionalProperties": false,
        "description": "Response returned after a successful logout.",
        "properties": {
          "redirectUrl": {
            "type": "string",
            "description": "URL to redirect the user to after logout, e.g. for SSO logout flows."
          }
        }
      },
      "LoginRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to authenticate a user with username and password.",
        "properties": {
          "username": {
            "type": "string",
            "description": "The username or email address."
          },
          "password": {
            "type": "string",
            "description": "The user's password."
          }
        },
        "required": [
          "password",
          "username"
        ]
      },
      "CanCreate": {
        "type": "object",
        "additionalProperties": false,
        "description": "Indicates whether a new active resource can be created under the current tier limits.",
        "properties": {
          "canCreateActive": {
            "type": "boolean",
            "description": "True if creating a new active resource is allowed within the current tier limits."
          }
        },
        "required": [
          "canCreateActive"
        ]
      },
      "DiscoveryRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to trigger a discovery scan across gateway environments.",
        "properties": {
          "discoverApis": {
            "type": "boolean",
            "description": "Whether to discover APIs and their specifications."
          },
          "discoverComponents": {
            "type": "boolean",
            "description": "Whether to discover applications and subscriptions."
          },
          "discoverCustomFields": {
            "type": "boolean",
            "description": "Whether to discover custom field definitions."
          },
          "environments": {
            "type": "array",
            "description": "UUIDs of specific environments to scan, or null to scan all environments.",
            "items": {
              "type": "string",
              "format": "uuid"
            }
          },
          "stage": {
            "type": "string",
            "description": "Lifecycle stage filter: only scan environments matching this stage.",
            "enum": [
              "DEVELOPMENT",
              "PRODUCTION"
            ]
          },
          "discoverApiPolicyTemplates": {
            "type": "boolean",
            "description": "Whether to discover API policy templates. Requires discoverApis to be true."
          },
          "ignoreExclusions": {
            "type": "boolean",
            "description": "Whether to ignore previously configured discovery exclusions."
          }
        },
        "required": [
          "discoverApiPolicyTemplates",
          "discoverApis",
          "discoverComponents",
          "discoverCustomFields",
          "ignoreExclusions"
        ]
      },
      "EnvironmentDiscoveryDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to trigger API discovery on an environment.",
        "properties": {
          "apiGateway": {
            "type": "string",
            "description": "Identifier of the API gateway to discover APIs from."
          },
          "ignoreExclusions": {
            "type": "boolean",
            "description": "Whether to ignore configured exclusion rules during discovery."
          }
        },
        "required": [
          "apiGateway",
          "ignoreExclusions"
        ]
      },
      "ApprovalRequestComment": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "comment": {
            "type": "string",
            "description": "Comment to include with the approval decision.",
            "maxLength": 1000
          }
        },
        "required": [
          "comment"
        ]
      },
      "ApiImportRequestDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Import an API from a gateway.",
        "properties": {
          "environment": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the environment to import the API from."
          },
          "overrideOnConflict": {
            "type": "boolean",
            "description": "Whether to overwrite existing API data if a conflict is detected."
          }
        },
        "required": [
          "environment",
          "overrideOnConflict"
        ]
      },
      "OpenProxyAnalysisAPIInfo": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "name": {
            "type": "string",
            "description": "Technical name of the API extracted from the Open Proxy Specification."
          },
          "version": {
            "type": "string",
            "description": "Version name extracted from the Open Proxy Specification."
          },
          "displayName": {
            "type": "string",
            "description": "Display name of the API extracted from the Open Proxy Specification."
          },
          "description": {
            "type": "string",
            "description": "Description of the API extracted from the Open Proxy Specification."
          },
          "type": {
            "type": "string",
            "enum": [
              "REST",
              "GRAPHQL"
            ],
            "example": "REST"
          }
        },
        "required": [
          "name",
          "type",
          "version"
        ]
      },
      "OpenProxySpecAnalysis": {
        "type": "object",
        "additionalProperties": false,
        "description": "Result of analyzing an API spec for open proxy deployment readiness.",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors that prevent deployment.",
            "items": {
              "type": "string"
            }
          },
          "warnings": {
            "type": "array",
            "description": "Warnings that may affect deployment.",
            "items": {
              "type": "string"
            }
          },
          "apiInfo": {
            "$ref": "#/components/schemas/OpenProxyAnalysisAPIInfo",
            "description": "Extracted API information from the spec."
          }
        },
        "required": [
          "errors",
          "warnings"
        ]
      },
      "OpenProxyGitRepoAnalysis": {
        "type": "object",
        "additionalProperties": false,
        "description": "Git repo analysis result for Open Proxy specs.",
        "properties": {
          "errors": {
            "type": "array",
            "description": "Errors encountered during the repository analysis.",
            "items": {
              "type": "string"
            }
          },
          "warnings": {
            "type": "array",
            "description": "Warnings encountered during the repository analysis.",
            "items": {
              "type": "string"
            }
          },
          "versions": {
            "type": "array",
            "description": "List of all API versions that were found in / imported from the repository.",
            "items": {
              "$ref": "#/components/schemas/OpenProxyGitVersion"
            }
          },
          "skippedVersions": {
            "type": "array",
            "description": "List of versions (git tags) that were not scanned / imported because they have already been imported and the git tag still points to the same git commit. This field is not relevant during the initial scan of a repository, as nothing has been imported, yet.",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "errors",
          "skippedVersions",
          "versions",
          "warnings"
        ]
      },
      "OpenProxyGitVersion": {
        "type": "object",
        "additionalProperties": false,
        "description": "A version discovered in a Git repository.",
        "properties": {
          "versionName": {
            "type": "string",
            "description": "The version found in git that will be used in Control Plane. Currently this is always the git tag."
          },
          "analysis": {
            "$ref": "#/components/schemas/OpenProxySpecAnalysis",
            "description": "Analysis result of the Open Proxy Specification found for this git tag. Note that for an import operation, only versions that did not contain any errors in their analysis are actually imported."
          }
        },
        "required": [
          "analysis",
          "versionName"
        ]
      },
      "ApiExportRequestDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Export an API to a gateway or Git repo.",
        "properties": {
          "environment": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the environment to export the API from."
          },
          "version": {
            "type": "string",
            "description": "Version name to export."
          }
        },
        "required": [
          "environment",
          "version"
        ]
      },
      "OpenProxySpecDto": {
        "type": "object",
        "additionalProperties": false,
        "description": "Configuration for generating an open proxy spec for gateway deployment.",
        "properties": {
          "backendUrl": {
            "type": "string",
            "description": "Backend url to deploy API to Gateway"
          },
          "contextPath": {
            "type": "string",
            "description": "Context path to deploy API to Gateway"
          }
        },
        "required": [
          "backendUrl",
          "contextPath"
        ]
      },
      "OpenApiSpecAiDto": {
        "type": "object",
        "additionalProperties": false,
        "description": "AI-generated Q&A for spec generation.",
        "properties": {
          "openApiSpecAiQandA": {
            "type": "array",
            "description": "Answers to questions for generating Open API Specification with AI",
            "items": {
              "$ref": "#/components/schemas/OpenApiSpecAiQandA"
            }
          }
        },
        "required": [
          "openApiSpecAiQandA"
        ]
      },
      "OpenApiSpecAiQandA": {
        "type": "object",
        "additionalProperties": false,
        "description": "Answer to a question in an AI-driven OpenAPI spec generation questionnaire.",
        "properties": {
          "questionId": {
            "type": "string",
            "description": "Identifier of the question being answered."
          },
          "answer": {
            "type": "string",
            "description": "User-provided answer to the question."
          }
        },
        "required": [
          "answer",
          "questionId"
        ]
      },
      "DocPageCreateRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to create a new documentation page.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name of the documentation page."
          },
          "type": {
            "type": "string",
            "description": "Type of the page: MARKDOWN, FOLDER, or GIT.",
            "enum": [
              "FOLDER",
              "MARKDOWN",
              "HTML"
            ]
          },
          "parent": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the parent page, or null for top-level pages."
          },
          "gitConfig": {
            "$ref": "#/components/schemas/DocPageGitConfig",
            "description": "Git source configuration, required when type is GIT."
          },
          "isPublic": {
            "type": "boolean",
            "description": "Whether the page is visible to unauthenticated portal visitors."
          },
          "aiGenerated": {
            "type": "boolean",
            "description": "Whether the page content was generated by AI."
          },
          "defaultPage": {
            "type": "boolean",
            "description": "Whether this is the portal's default landing page."
          }
        },
        "required": [
          "aiGenerated",
          "defaultPage",
          "isPublic",
          "name",
          "type"
        ]
      },
      "AiDocRequest": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "documentType": {
            "type": "string",
            "description": "Type of AI-generated document to produce.",
            "enum": [
              "business_overview",
              "technical_summary",
              "technical_detailed"
            ],
            "example": "technical_summary"
          }
        },
        "required": [
          "documentType"
        ]
      },
      "ApiDeploymentPolicyDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Association between a path of an API deployment and the API policy templates applied to it.",
        "properties": {
          "path": {
            "type": "string",
            "description": "Path of the API at which the API policy templates are applied.",
            "example": "/v1/example"
          },
          "apiPolicyTemplates": {
            "type": "array",
            "description": "API policy templates applied to the path.",
            "items": {
              "$ref": "#/components/schemas/ApiPolicyTemplateReferenceDTO"
            }
          }
        },
        "required": [
          "apiPolicyTemplates",
          "path"
        ]
      },
      "ApiPolicyTemplateReferenceDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "API policy template applied to a path of an API deployment.",
        "properties": {
          "apiPolicyTemplateId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique API policy template ID.",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "name": {
            "type": "string",
            "description": "API policy template name.",
            "example": "Rate Limit"
          },
          "version": {
            "type": "string",
            "description": "API policy template version.",
            "example": 1
          }
        },
        "required": [
          "apiPolicyTemplateId",
          "name",
          "version"
        ]
      },
      "ScoreSpecFileRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to score an API specification against governance rulesets.",
        "properties": {
          "document": {
            "type": "string",
            "description": "Raw content of the API spec file to score."
          }
        },
        "required": [
          "document"
        ]
      },
      "GitRepoAnalysisRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to analyze a git repository for Open Proxy Specification files.",
        "properties": {
          "gitUrl": {
            "type": "string",
            "description": "URL of the git repository to analyze.",
            "example": "git@github.com:test/my-repo.git"
          },
          "gitCredential": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the git credential to use for repository access.",
            "example": 1
          }
        },
        "required": [
          "gitCredential",
          "gitUrl"
        ]
      },
      "AccessTokenRequest": {
        "type": "object",
        "additionalProperties": false,
        "description": "Request to create a new personal access token.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Display name for the access token."
          },
          "validityDays": {
            "type": "integer",
            "format": "int64",
            "description": "Number of days until the token expires. Use 0 for no expiration."
          },
          "scopes": {
            "type": "array",
            "description": "Set of authorization scopes granted to the token.",
            "items": {
              "type": "string",
              "enum": [
                "ENVIRONMENT_READ",
                "ENVIRONMENT_WRITE",
                "API_READ",
                "API_WRITE",
                "USER_READ",
                "USER_WRITE",
                "ACCESS_TOKEN_MANAGE",
                "APPLICATION_READ",
                "APPLICATION_WRITE",
                "JOBS_READ",
                "SAML_LOGIN",
                "PLAN_READ",
                "PLAN_WRITE",
                "GIT_CREDENTIALS_READ",
                "GIT_CREDENTIALS_WRITE",
                "SUBSCRIPTIONS_READ",
                "SUBSCRIPTIONS_WRITE",
                "CONFIGURATION_READ",
                "CONFIGURATION_WRITE",
                "METRICS_READ",
                "ORGANIZATION_READ",
                "ORGANIZATION_WRITE",
                "DISCOVERY",
                "USER_INVITATION",
                "CROSS_ORGANIZATION_ACCESS",
                "API_ORGANIZATION_READ",
                "API_ORGANIZATION_WRITE",
                "API_READ_ACCESSIBLE",
                "APPROVAL_REQUEST_READ",
                "APPROVAL_REQUEST_WRITE",
                "SELF_SERVICE",
                "AUDIT_LOG_READ",
                "RULE_SETS_READ",
                "RULE_SETS_WRITE",
                "DEV_PORTAL_READ",
                "DEV_PORTAL_WRITE",
                "PLAN_ASSIGN_APIS",
                "ACCESS_TENANT_DATA",
                "READ_GOVERNANCE_DATA",
                "WEBHOOKS_READ",
                "WEBHOOKS_WRITE",
                "TERMS_OF_USE_READ",
                "TERMS_OF_USE_WRITE",
                "API_GATEWAY_READ",
                "API_GATEWAY_WRITE",
                "MCP_SERVER_VERSION_READ",
                "MCP_SERVER_VERSION_WRITE",
                "API_POLICY_TEMPLATE_READ"
              ]
            },
            "uniqueItems": true
          }
        },
        "required": [
          "name",
          "scopes",
          "validityDays"
        ]
      },
      "AccessTokenResponse": {
        "type": "object",
        "additionalProperties": false,
        "description": "A personal access token.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique identifier of the access token."
          },
          "token": {
            "type": "string",
            "description": "The token value. Only returned once upon creation."
          },
          "name": {
            "type": "string",
            "description": "Display name of the access token."
          },
          "validUntil": {
            "type": "string",
            "format": "date-time",
            "description": "Expiration date and time. Null if the token does not expire."
          },
          "scopes": {
            "type": "array",
            "description": "Set of authorization scopes granted to the token.",
            "items": {
              "type": "string",
              "enum": [
                "ENVIRONMENT_READ",
                "ENVIRONMENT_WRITE",
                "API_READ",
                "API_WRITE",
                "USER_READ",
                "USER_WRITE",
                "ACCESS_TOKEN_MANAGE",
                "APPLICATION_READ",
                "APPLICATION_WRITE",
                "JOBS_READ",
                "SAML_LOGIN",
                "PLAN_READ",
                "PLAN_WRITE",
                "GIT_CREDENTIALS_READ",
                "GIT_CREDENTIALS_WRITE",
                "SUBSCRIPTIONS_READ",
                "SUBSCRIPTIONS_WRITE",
                "CONFIGURATION_READ",
                "CONFIGURATION_WRITE",
                "METRICS_READ",
                "ORGANIZATION_READ",
                "ORGANIZATION_WRITE",
                "DISCOVERY",
                "USER_INVITATION",
                "CROSS_ORGANIZATION_ACCESS",
                "API_ORGANIZATION_READ",
                "API_ORGANIZATION_WRITE",
                "API_READ_ACCESSIBLE",
                "APPROVAL_REQUEST_READ",
                "APPROVAL_REQUEST_WRITE",
                "SELF_SERVICE",
                "AUDIT_LOG_READ",
                "RULE_SETS_READ",
                "RULE_SETS_WRITE",
                "DEV_PORTAL_READ",
                "DEV_PORTAL_WRITE",
                "PLAN_ASSIGN_APIS",
                "ACCESS_TENANT_DATA",
                "READ_GOVERNANCE_DATA",
                "WEBHOOKS_READ",
                "WEBHOOKS_WRITE",
                "TERMS_OF_USE_READ",
                "TERMS_OF_USE_WRITE",
                "API_GATEWAY_READ",
                "API_GATEWAY_WRITE",
                "MCP_SERVER_VERSION_READ",
                "MCP_SERVER_VERSION_WRITE",
                "API_POLICY_TEMPLATE_READ"
              ]
            },
            "uniqueItems": true
          }
        },
        "required": [
          "id",
          "name",
          "scopes"
        ]
      },
      "SimplePageWebhookDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated WebhookDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of WebhookDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/WebhookDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "SimplePageWebhookRequestDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated WebhookRequestDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of WebhookRequestDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/WebhookRequestDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "KnownEvent": {
        "type": "object",
        "additionalProperties": false,
        "description": "A webhook event type with description and example payload.",
        "properties": {
          "eventType": {
            "type": "string",
            "description": "Event type identifier (e.g. API_CREATED)."
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of when this event is fired."
          },
          "example": {
            "type": "string",
            "description": "Example JSON payload for this event type."
          }
        },
        "required": [
          "description",
          "eventType",
          "example"
        ]
      },
      "SimplePageUserDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated UserDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of UserDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/UserDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "AcceptedTermsOfUse": {
        "type": "object",
        "additionalProperties": false,
        "description": "Record of a user's acceptance of terms-of-use documents.",
        "properties": {
          "acceptedBy": {
            "$ref": "#/components/schemas/UserDTO",
            "description": "The user who accepted the terms."
          },
          "acceptedAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the terms were accepted."
          },
          "acceptedVersions": {
            "type": "array",
            "description": "List of terms-of-use documents and versions that were accepted.",
            "items": {
              "$ref": "#/components/schemas/TermsOfUseAndVersion"
            }
          }
        },
        "required": [
          "acceptedVersions"
        ]
      },
      "TermsOfUseAndVersion": {
        "type": "object",
        "additionalProperties": false,
        "description": "A terms-of-use document paired with the specific version that was accepted.",
        "properties": {
          "termsOfUse": {
            "$ref": "#/components/schemas/TermsOfUseDTO",
            "description": "The terms-of-use document."
          },
          "version": {
            "$ref": "#/components/schemas/TermsOfUseVersionDTO",
            "description": "The specific version of the document that was accepted."
          }
        },
        "required": [
          "termsOfUse",
          "version"
        ]
      },
      "TierLimitsDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Resource usage vs. tier limits.",
        "properties": {
          "apiLimit": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum number of APIs allowed by the tier, or null if unlimited."
          },
          "apiCount": {
            "type": "integer",
            "format": "int32",
            "description": "Current number of APIs in this tenant."
          },
          "devPortalLimit": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum number of developer portals allowed by the tier, or null if unlimited."
          },
          "devPortalCount": {
            "type": "integer",
            "format": "int32",
            "description": "Current number of developer portals in this tenant."
          }
        },
        "required": [
          "apiCount",
          "devPortalCount"
        ]
      },
      "SimplePageTermsOfUseDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated TermsOfUseDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of TermsOfUseDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/TermsOfUseDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "SimplePageTermsOfUseVersionDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated TermsOfUseVersionDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of TermsOfUseVersionDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/TermsOfUseVersionDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "TierHistoryDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Tier change record.",
        "properties": {
          "info": {
            "$ref": "#/components/schemas/TierInfo",
            "description": "Tier and package configuration during this period."
          },
          "from": {
            "type": "string",
            "format": "date",
            "description": "Start date of this tier period."
          },
          "to": {
            "type": "string",
            "format": "date",
            "description": "End date of this tier period."
          },
          "days": {
            "type": "integer",
            "format": "int64",
            "description": "Number of days in this tier period."
          },
          "price": {
            "type": "number",
            "format": "double",
            "description": "Cost for this tier period."
          }
        },
        "required": [
          "days",
          "from",
          "info",
          "price",
          "to"
        ]
      },
      "TierInfo": {
        "type": "object",
        "additionalProperties": false,
        "description": "Current subscription tier and add-on package counts for a tenant.",
        "properties": {
          "tier": {
            "type": "string",
            "description": "Subscription tier level.",
            "enum": [
              "FREE",
              "GROWTH",
              "PROFESSIONAL",
              "ENTERPRISE"
            ]
          },
          "smallPackages": {
            "type": "integer",
            "format": "int32",
            "description": "Number of purchased small add-on packages."
          },
          "largePackages": {
            "type": "integer",
            "format": "int32",
            "description": "Number of purchased large add-on packages."
          },
          "enabled": {
            "type": "boolean",
            "description": "Whether the subscription is currently active."
          },
          "trial": {
            "type": "boolean",
            "description": "Whether the tenant is on a trial subscription."
          }
        },
        "required": [
          "enabled",
          "largePackages",
          "smallPackages",
          "tier",
          "trial"
        ]
      },
      "SimplePageString": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated String list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of String results for the current page.",
            "items": {
              "type": "string"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "SystemMessageDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "System-wide notification message.",
        "properties": {
          "title": {
            "type": "string",
            "description": "Short title of the notification."
          },
          "level": {
            "type": "string",
            "description": "Severity level: INFO, WARNING, or ERROR.",
            "enum": [
              "INFO",
              "WARNING",
              "ERROR"
            ]
          },
          "message": {
            "type": "string",
            "description": "Full message body."
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the message was created."
          }
        },
        "required": [
          "createdAt",
          "level",
          "message",
          "title"
        ]
      },
      "SimplePageSubscriptionDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated SubscriptionDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of SubscriptionDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/SubscriptionDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "ApiProductSubscriptionDeploymentDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Deployment status of a subscription on a gateway.",
        "properties": {
          "deployedForApiProduct": {
            "type": "boolean",
            "description": "Whether the subscription is deployed for the full API product."
          },
          "environment": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the environment.",
            "example": 1
          },
          "subscription": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the subscription.",
            "example": 1
          },
          "gatewayId": {
            "type": "string",
            "description": "ID of the subscription on the gateway.",
            "example": "aa2867cf-a395-47e0-84b2-8fa157906677"
          },
          "lastSuccessfulTask": {
            "type": "string",
            "description": "Last deployment task that succeeded.",
            "enum": [
              "NONE",
              "DEPLOY",
              "UNDEPLOY",
              "DISCOVER"
            ],
            "example": "DEPLOY"
          },
          "lastFailedTask": {
            "type": "string",
            "description": "Last deployment task that failed.",
            "enum": [
              "NONE",
              "DEPLOY",
              "UNDEPLOY",
              "DISCOVER"
            ],
            "example": "DEPLOY"
          },
          "failureMessage": {
            "type": "string",
            "description": "Error message from the last failed task.",
            "example": "what went wrong..."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only).",
            "example": 1
          },
          "apiSubscriptionDeployments": {
            "type": "array",
            "description": "Per-API deployment statuses within this product subscription.",
            "items": {
              "$ref": "#/components/schemas/ApiSubscriptionDeploymentDTO"
            }
          }
        },
        "required": [
          "deployedForApiProduct",
          "environment",
          "failureMessage",
          "id",
          "lastFailedTask",
          "lastSuccessfulTask",
          "subscription"
        ]
      },
      "ApiSubscriptionDeploymentDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Deployment status of a subscription for a specific API on a gateway.",
        "properties": {
          "environment": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the environment.",
            "example": 1
          },
          "subscription": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the subscription.",
            "example": 1
          },
          "api": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the API.",
            "example": 1
          },
          "gatewayId": {
            "type": "string",
            "description": "ID of the subscription on the gateway.",
            "example": "aa2867cf-a395-47e0-84b2-8fa157906677"
          },
          "lastSuccessfulTask": {
            "type": "string",
            "description": "Last deployment task that succeeded.",
            "enum": [
              "NONE",
              "DEPLOY",
              "UNDEPLOY",
              "DISCOVER"
            ],
            "example": "DEPLOY"
          },
          "lastFailedTask": {
            "type": "string",
            "description": "Last deployment task that failed.",
            "enum": [
              "NONE",
              "DEPLOY",
              "UNDEPLOY",
              "DISCOVER"
            ],
            "example": "DEPLOY"
          },
          "failureMessage": {
            "type": "string",
            "description": "Error message from the last failed task.",
            "example": "what went wrong..."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only).",
            "example": 1
          }
        },
        "required": [
          "environment",
          "failureMessage",
          "gatewayId",
          "id",
          "lastFailedTask",
          "lastSuccessfulTask",
          "subscription"
        ]
      },
      "SimplePageApiProductSubscriptionDeploymentDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApiProductSubscriptionDeploymentDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApiProductSubscriptionDeploymentDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApiProductSubscriptionDeploymentDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "SpecTypeDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A supported spec type (e.g. OpenAPI v3).",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "description": "Numeric identifier of the spec type."
          },
          "key": {
            "type": "string",
            "description": "Unique key identifying the spec type (e.g. OPENAPI_V3)."
          },
          "name": {
            "type": "string",
            "description": "Human-readable name of the spec type."
          }
        },
        "required": [
          "id",
          "key",
          "name"
        ]
      },
      "ServerInfoDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Server version, commit, build timestamp.",
        "properties": {
          "version": {
            "type": "string",
            "description": "Application version string."
          },
          "commit": {
            "type": "string",
            "description": "Git commit SHA of the build."
          },
          "buildTime": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the application was built."
          }
        },
        "required": [
          "buildTime",
          "commit",
          "version"
        ]
      },
      "ScopeDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "An authorization scope for access tokens.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "description": "Unique identifier of the scope."
          },
          "key": {
            "type": "string",
            "description": "Machine-readable scope key."
          },
          "authorized": {
            "type": "boolean",
            "description": "Whether the current user is authorized for this scope."
          }
        },
        "required": [
          "authorized",
          "id",
          "key"
        ]
      },
      "EnterpriseSettings": {
        "type": "object",
        "additionalProperties": false,
        "description": "Custom pricing and resource limits for enterprise tenants.",
        "properties": {
          "price": {
            "type": "number",
            "format": "double",
            "description": "Monthly price for the enterprise subscription."
          },
          "apiLimit": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum number of APIs allowed, or null if unlimited."
          },
          "applicationLimit": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum number of applications allowed, or null if unlimited."
          },
          "devPortalLimit": {
            "type": "integer",
            "format": "int32",
            "description": "Maximum number of developer portals allowed, or null if unlimited."
          }
        },
        "required": [
          "price"
        ]
      },
      "SaaSInfoDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "SaaS tenant info — tier, billing, entitlements.",
        "properties": {
          "tenantId": {
            "type": "string",
            "description": "Unique identifier of the tenant."
          },
          "isSaaS": {
            "type": "boolean",
            "description": "SaaS-hosted vs. on-premises.",
            "example": false
          },
          "tierInfo": {
            "$ref": "#/components/schemas/TierInfo",
            "description": "Current subscription tier and package counts."
          },
          "updateTierInfo": {
            "$ref": "#/components/schemas/TierInfo",
            "description": "Pending tier change."
          },
          "updateTierAt": {
            "type": "string",
            "format": "date",
            "description": "When pending change takes effect."
          },
          "showTierDowngradeMessage": {
            "type": "boolean",
            "description": "Whether to show a tier downgrade warning to the user.",
            "example": false
          },
          "enterpriseSettings": {
            "$ref": "#/components/schemas/EnterpriseSettings",
            "description": "Custom enterprise pricing and limits, if applicable."
          },
          "linkedWithBoomi": {
            "type": "boolean",
            "description": "Linked to Boomi Platform."
          },
          "linkedWithCAM": {
            "type": "boolean",
            "description": "Linked to Cloud API Management."
          }
        },
        "required": [
          "enterpriseSettings",
          "isSaaS",
          "linkedWithBoomi",
          "linkedWithCAM",
          "showTierDowngradeMessage",
          "tenantId",
          "tierInfo"
        ]
      },
      "SimplePageRuleSetDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated RuleSetDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of RuleSetDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/RuleSetDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "RuleInfo": {
        "type": "object",
        "additionalProperties": false,
        "description": "Metadata about a single governance rule within a ruleset.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Identifier of the rule."
          },
          "active": {
            "type": "boolean",
            "description": "Whether the rule is currently active."
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of what the rule checks."
          },
          "severity": {
            "type": "string",
            "description": "Severity of the rule: ERROR, WARNING, or INFO.",
            "enum": [
              "ERROR",
              "WARNING",
              "INFO",
              "HINT"
            ]
          },
          "type": {
            "type": "string",
            "description": "Category of the rule: SECURITY or QUALITY.",
            "enum": [
              "SECURITY",
              "QUALITY"
            ]
          }
        },
        "required": [
          "active",
          "description",
          "name",
          "severity",
          "type"
        ]
      },
      "SimplePageOrganizationDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated OrganizationDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of OrganizationDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/OrganizationDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "RoleDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A user role defining access permissions.",
        "properties": {
          "id": {
            "type": "integer",
            "format": "int32",
            "description": "Unique identifier of the role."
          },
          "key": {
            "type": "string",
            "description": "Machine-readable role key, e.g. ADMIN, USER."
          },
          "name": {
            "type": "string",
            "description": "Human-readable role name."
          },
          "description": {
            "type": "string",
            "description": "Description of the permissions granted by this role."
          }
        },
        "required": [
          "description",
          "id",
          "key",
          "name"
        ]
      },
      "SimplePagePlatformTypeDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated PlatformTypeDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of PlatformTypeDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/PlatformTypeDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "OperationAllowed": {
        "type": "object",
        "additionalProperties": false,
        "description": "Indicates whether a specific operation is permitted for the current user and tenant.",
        "properties": {
          "operationAllowed": {
            "type": "boolean",
            "description": "True if the requested operation is allowed."
          }
        },
        "required": [
          "operationAllowed"
        ]
      },
      "SimplePagePlanDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated PlanDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of PlanDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/PlanDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "ApiPlanDeploymentDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Deployment status of a Plan on a gateway.",
        "properties": {
          "environment": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the environment.",
            "example": 1
          },
          "plan": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the plan.",
            "example": 1
          },
          "api": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the API.",
            "example": 1
          },
          "gatewayId": {
            "type": "string",
            "description": "ID of the plan on the gateway.",
            "example": "aa2867cf-a395-47e0-84b2-8fa157906677"
          },
          "lastSuccessfulTask": {
            "type": "string",
            "description": "Last deployment task that succeeded.",
            "enum": [
              "NONE",
              "DEPLOY",
              "UNDEPLOY",
              "DISCOVER"
            ],
            "example": "DEPLOY"
          },
          "lastFailedTask": {
            "type": "string",
            "description": "Last deployment task that failed.",
            "enum": [
              "NONE",
              "DEPLOY",
              "UNDEPLOY",
              "DISCOVER"
            ],
            "example": "DEPLOY"
          },
          "failureMessage": {
            "type": "string",
            "description": "Error message from the last failed task.",
            "example": "description of error"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only).",
            "example": 1
          }
        },
        "required": [
          "api",
          "environment",
          "failureMessage",
          "gatewayId",
          "id",
          "lastFailedTask",
          "lastSuccessfulTask",
          "plan"
        ]
      },
      "ApiProductPlanDeploymentDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Deployment status of an API Product's plan on a gateway.",
        "properties": {
          "deployedForApiProduct": {
            "type": "boolean",
            "description": "if true, this represents the actual deployment of API Product + Plan in the gateway. You can take its gatewayId and ignore apiPlanDeployments. If false, each API was actually deployed individually. This DTO has no gatewayId - instead, apiPlanDeployments contains a list of actual API + Plan deployments, each with their own gatewayId."
          },
          "environment": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the environment.",
            "example": 1
          },
          "plan": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the plan.",
            "example": 1
          },
          "apiProduct": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the API product.",
            "example": 1
          },
          "gatewayId": {
            "type": "string",
            "description": "ID of the plan on the gateway, if deployed at product level.",
            "example": "aa2867cf-a395-47e0-84b2-8fa157906677"
          },
          "lastSuccessfulTask": {
            "type": "string",
            "description": "Last deployment task that succeeded.",
            "enum": [
              "NONE",
              "DEPLOY",
              "UNDEPLOY",
              "DISCOVER"
            ],
            "example": "DEPLOY"
          },
          "lastFailedTask": {
            "type": "string",
            "description": "Last deployment task that failed.",
            "enum": [
              "NONE",
              "DEPLOY",
              "UNDEPLOY",
              "DISCOVER"
            ],
            "example": "DEPLOY"
          },
          "failureMessage": {
            "type": "string",
            "description": "Error message from the last failed task.",
            "example": "description of error"
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only).",
            "example": 1
          },
          "apiPlanDeployments": {
            "type": "array",
            "description": "Per-API plan deployment statuses, populated when deployedForApiProduct is false.",
            "items": {
              "$ref": "#/components/schemas/ApiPlanDeploymentDTO"
            }
          }
        },
        "required": [
          "apiProduct",
          "deployedForApiProduct",
          "environment",
          "failureMessage",
          "id",
          "lastFailedTask",
          "lastSuccessfulTask",
          "plan"
        ]
      },
      "SimplePageApiProductPlanDeploymentDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApiProductPlanDeploymentDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApiProductPlanDeploymentDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApiProductPlanDeploymentDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "SimplePageApiProductDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApiProductDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApiProductDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApiProductDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "SimplePageEnvironmentDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated EnvironmentDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of EnvironmentDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/EnvironmentDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "MigrationResultDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Result of a data migration script execution.",
        "properties": {
          "id": {
            "type": "string",
            "description": "Identifier of the migration script."
          },
          "success": {
            "type": "boolean",
            "description": "Whether the migration completed successfully."
          },
          "error": {
            "type": "string",
            "description": "Error message if the migration failed, empty otherwise."
          },
          "lastRunAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp of the last execution of this migration."
          }
        },
        "required": [
          "error",
          "id",
          "lastRunAt",
          "success"
        ]
      },
      "OrganizationNameOnlyDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Lightweight organization reference (name + ID).",
        "properties": {
          "displayName": {
            "type": "string",
            "description": "Display name of the organization."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the organization."
          }
        },
        "required": [
          "displayName",
          "id"
        ]
      },
      "McpApiSpecDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "An API spec exposed via the MCP bridge for AI agent tool discovery.",
        "properties": {
          "name": {
            "type": "string",
            "description": "Human-readable unique name",
            "example": "Petstore API V1 (Environment 123)"
          },
          "specDownloadUrl": {
            "type": "string",
            "description": "Download URL for the spec",
            "example": "/mcp/apiProducts/name/apis/201/versions/v1/spec"
          },
          "gatewayUrl": {
            "type": "string",
            "description": "Resolved gateway URL",
            "example": "https://gw.env1.com/petstore"
          },
          "apiAccessKey": {
            "type": "string",
            "description": "API access key",
            "example": "abc123"
          },
          "apiSpecType": {
            "type": "string",
            "description": "Type of spec (e.g., OPENAPI_V3)",
            "enum": [
              "current",
              "OPENAPI_V2",
              "OPENAPI_V3",
              "ASYNCAPI_V2",
              "GRAPHQL",
              "PROTOCOL_BUFFERS"
            ],
            "example": "OPENAPI_V3"
          },
          "apiAccessSecret": {
            "type": "string",
            "description": "API secret (optional)",
            "example": "xyz789"
          },
          "envStage": {
            "type": "string",
            "description": "Stage of the environment (DEVELOPMENT, PRODUCTION)",
            "example": "DEVELOPMENT"
          },
          "envPlatformType": {
            "type": "string",
            "description": "Platform type of the environment",
            "example": "GRAVITEE"
          }
        },
        "required": [
          "apiAccessKey",
          "apiSpecType",
          "envPlatformType",
          "envStage",
          "name",
          "specDownloadUrl"
        ]
      },
      "McpProductInfoDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "MCP-enabled API Product summary.",
        "properties": {
          "applicationId": {
            "type": "string",
            "format": "uuid",
            "description": "ID of the application",
            "example": 42
          },
          "apiProductId": {
            "type": "string",
            "format": "uuid",
            "description": "ID of the API product",
            "example": 1001
          },
          "apiProductName": {
            "type": "string",
            "description": "Name of the API product",
            "example": "petstore-product"
          },
          "apiSpecs": {
            "type": "array",
            "description": "API specs with access info.",
            "items": {
              "$ref": "#/components/schemas/McpApiSpecDTO"
            }
          },
          "tenantId": {
            "type": "string",
            "description": "ID of the Tenant who owns the API product",
            "example": "tenant123"
          }
        },
        "required": [
          "apiProductId",
          "apiProductName",
          "apiSpecs",
          "applicationId",
          "tenantId"
        ]
      },
      "LoginOptionsDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Available authentication methods.",
        "properties": {
          "passwordLoginEnabled": {
            "type": "boolean",
            "description": "Whether local username/password login is enabled."
          },
          "ldapEnabled": {
            "type": "boolean",
            "description": "Whether LDAP authentication is enabled."
          },
          "oidcEnabled": {
            "type": "boolean",
            "description": "Whether OpenID Connect authentication is enabled."
          },
          "samlEnabled": {
            "type": "boolean",
            "description": "Whether SAML 2.0 authentication is enabled."
          },
          "samlLoginPage": {
            "type": "string",
            "description": "Custom SAML login URL."
          },
          "anonymousLoginEnabled": {
            "type": "boolean",
            "description": "Whether anonymous (guest) login is enabled."
          },
          "boomiLoginEnabled": {
            "type": "boolean",
            "description": "Whether Boomi platform login is enabled."
          }
        },
        "required": [
          "anonymousLoginEnabled",
          "boomiLoginEnabled",
          "ldapEnabled",
          "oidcEnabled",
          "passwordLoginEnabled",
          "samlEnabled"
        ]
      },
      "JobDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A long-running async job with progress tracking.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the job."
          },
          "jobName": {
            "type": "string",
            "description": "Human-readable name of the job."
          },
          "jobStatus": {
            "type": "string",
            "description": "PENDING, RUNNING, COMPLETED, or FAILED.",
            "enum": [
              "SCHEDULED",
              "ENQUEUED",
              "PROCESSING",
              "FAILED",
              "SUCCEEDED",
              "DELETED"
            ]
          },
          "progressPercent": {
            "type": "integer",
            "format": "int32",
            "description": "0-100."
          },
          "progressMessage": {
            "type": "string",
            "description": "Current status message."
          },
          "errorHttpCode": {
            "type": "integer",
            "format": "int32",
            "description": "HTTP error code on failure."
          },
          "errorCustomCode": {
            "type": "string",
            "description": "Custom error code."
          },
          "errorMessages": {
            "type": "array",
            "description": "List of error messages produced by the job.",
            "items": {
              "type": "string"
            }
          },
          "infoMessages": {
            "type": "array",
            "description": "List of informational messages produced by the job.",
            "items": {
              "type": "string"
            }
          },
          "warnMessages": {
            "type": "array",
            "description": "List of warning messages produced by the job.",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "errorMessages",
          "id",
          "infoMessages",
          "jobName",
          "jobStatus",
          "progressMessage",
          "progressPercent",
          "warnMessages"
        ]
      },
      "ApiWithOwner": {
        "type": "object",
        "additionalProperties": false,
        "description": "An API with its owning organization details.",
        "properties": {
          "apiId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the API."
          },
          "apiDisplayName": {
            "type": "string",
            "description": "Display name of the API."
          },
          "apiDescription": {
            "type": "string",
            "description": "Description of the API."
          },
          "ownerId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the owning organization."
          },
          "ownerDisplayName": {
            "type": "string",
            "description": "Display name of the owning organization."
          },
          "ownerEmail": {
            "type": "string",
            "description": "Email of the owning organization."
          }
        },
        "required": [
          "apiDescription",
          "apiDisplayName",
          "apiId",
          "ownerDisplayName",
          "ownerEmail",
          "ownerId"
        ]
      },
      "SimplePageApiWithOwner": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApiWithOwner list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApiWithOwner results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApiWithOwner"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "ApiLatencyDetails": {
        "type": "object",
        "additionalProperties": false,
        "description": "Average latency of an API in a specific environment.",
        "properties": {
          "api": {
            "$ref": "#/components/schemas/ApiWithOwner",
            "description": "The API with its owner details."
          },
          "environment": {
            "$ref": "#/components/schemas/EnvironmentDetails",
            "description": "The environment where the latency was measured."
          },
          "latency": {
            "type": "number",
            "format": "double",
            "description": "Average response latency in milliseconds."
          }
        },
        "required": [
          "api",
          "environment",
          "latency"
        ]
      },
      "EnvironmentDetails": {
        "type": "object",
        "additionalProperties": false,
        "description": "Summary details of a gateway environment.",
        "properties": {
          "displayName": {
            "type": "string",
            "description": "Display name of the environment."
          },
          "color": {
            "type": "string",
            "description": "Badge color used in the UI."
          },
          "symbol": {
            "type": "string",
            "description": "Short badge label (max 4 chars)."
          },
          "type": {
            "$ref": "#/components/schemas/PlatformType",
            "description": "Platform type of the environment's gateway."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the environment."
          }
        },
        "required": [
          "color",
          "displayName",
          "id",
          "symbol",
          "type"
        ]
      },
      "SimplePageApiLatencyDetails": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApiLatencyDetails list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApiLatencyDetails results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApiLatencyDetails"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "RuleViolation": {
        "type": "object",
        "additionalProperties": false,
        "description": "A governance rule violation summary for an API spec.",
        "properties": {
          "ruleName": {
            "type": "string",
            "description": "Name of the violated rule."
          },
          "severity": {
            "type": "string",
            "description": "Severity of the rule: ERROR, WARNING, or INFO.",
            "enum": [
              "ERROR",
              "WARNING",
              "INFO",
              "HINT"
            ]
          },
          "category": {
            "type": "string",
            "description": "Category of the rule: SECURITY or QUALITY.",
            "enum": [
              "SECURITY",
              "QUALITY"
            ]
          },
          "ruleSetName": {
            "type": "string",
            "description": "Name of the ruleset the rule belongs to."
          },
          "numberOfViolations": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of violations found for this rule."
          },
          "ruleSetId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the ruleset."
          }
        },
        "required": [
          "category",
          "numberOfViolations",
          "ruleName",
          "ruleSetName",
          "severity"
        ]
      },
      "SimplePageRuleViolation": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated RuleViolation list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of RuleViolation results for the current page.",
            "items": {
              "$ref": "#/components/schemas/RuleViolation"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "ProductSubscriptions": {
        "type": "object",
        "additionalProperties": false,
        "description": "Subscription count for an API product.",
        "properties": {
          "productId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the API product."
          },
          "productDisplayName": {
            "type": "string",
            "description": "Display name of the API product."
          },
          "productVisibility": {
            "type": "string",
            "description": "Visibility of the product: PUBLIC or RESTRICTED.",
            "enum": [
              "RESTRICTED",
              "PUBLIC"
            ]
          },
          "productPublished": {
            "type": "boolean",
            "description": "Whether the product is published on the Developer Portal."
          },
          "ownerId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the owning organization."
          },
          "ownerDisplayName": {
            "type": "string",
            "description": "Display name of the owning organization."
          },
          "ownerEmail": {
            "type": "string",
            "description": "Email of the owning organization."
          },
          "numberOfSubscriptions": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of active subscriptions for this product."
          }
        },
        "required": [
          "numberOfSubscriptions",
          "ownerDisplayName",
          "ownerEmail",
          "ownerId",
          "productDisplayName",
          "productId",
          "productPublished",
          "productVisibility"
        ]
      },
      "SimplePageProductSubscriptions": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ProductSubscriptions list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ProductSubscriptions results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ProductSubscriptions"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "OrganizationScores": {
        "type": "object",
        "additionalProperties": false,
        "description": "Governance scores for an organization.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the organization."
          },
          "displayName": {
            "type": "string",
            "description": "Display name of the organization."
          },
          "email": {
            "type": "string",
            "description": "Email of the organization."
          },
          "securityScore": {
            "type": "integer",
            "format": "int64",
            "description": "Aggregated security governance score (0-100)."
          },
          "qualityScore": {
            "type": "integer",
            "format": "int64",
            "description": "Aggregated quality governance score (0-100)."
          }
        },
        "required": [
          "displayName",
          "email",
          "id",
          "qualityScore",
          "securityScore"
        ]
      },
      "SimplePageOrganizationScores": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated OrganizationScores list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of OrganizationScores results for the current page.",
            "items": {
              "$ref": "#/components/schemas/OrganizationScores"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "ApplicationSubscriptions": {
        "type": "object",
        "additionalProperties": false,
        "description": "Subscription count for an application.",
        "properties": {
          "applicationId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the application."
          },
          "applicationDisplayName": {
            "type": "string",
            "description": "Display name of the application."
          },
          "ownerId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the owning organization."
          },
          "ownerDisplayName": {
            "type": "string",
            "description": "Display name of the owning organization."
          },
          "ownerEmail": {
            "type": "string",
            "description": "Email of the owning organization."
          },
          "numberOfSubscriptions": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of active subscriptions for this application."
          }
        },
        "required": [
          "applicationDisplayName",
          "applicationId",
          "numberOfSubscriptions",
          "ownerDisplayName",
          "ownerEmail",
          "ownerId"
        ]
      },
      "SimplePageApplicationSubscriptions": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApplicationSubscriptions list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApplicationSubscriptions results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApplicationSubscriptions"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "ApiSubscriptions": {
        "type": "object",
        "additionalProperties": false,
        "description": "Subscription count for an API.",
        "properties": {
          "apiId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the API."
          },
          "apiDisplayName": {
            "type": "string",
            "description": "Display name of the API."
          },
          "ownerId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the owning organization."
          },
          "ownerDisplayName": {
            "type": "string",
            "description": "Display name of the owning organization."
          },
          "ownerEmail": {
            "type": "string",
            "description": "Email of the owning organization."
          },
          "numberOfSubscriptions": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of active subscriptions for this API."
          }
        },
        "required": [
          "apiDisplayName",
          "apiId",
          "numberOfSubscriptions",
          "ownerDisplayName",
          "ownerEmail",
          "ownerId"
        ]
      },
      "SimplePageApiSubscriptions": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApiSubscriptions list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApiSubscriptions results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApiSubscriptions"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "ApiScore": {
        "type": "object",
        "additionalProperties": false,
        "description": "Governance scores for an API version.",
        "properties": {
          "apiId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the API."
          },
          "apiDisplayName": {
            "type": "string",
            "description": "Display name of the API."
          },
          "versionName": {
            "type": "string",
            "description": "Version name."
          },
          "versionDisplayName": {
            "type": "string",
            "description": "Display name of the version."
          },
          "ownerId": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the owning organization."
          },
          "ownerDisplayName": {
            "type": "string",
            "description": "Display name of the owning organization."
          },
          "securityScore": {
            "type": "integer",
            "format": "int64",
            "description": "Security governance score (0-100)."
          },
          "qualityScore": {
            "type": "integer",
            "format": "int64",
            "description": "Quality governance score (0-100)."
          }
        },
        "required": [
          "apiDisplayName",
          "apiId",
          "ownerDisplayName",
          "ownerId",
          "qualityScore",
          "securityScore",
          "versionDisplayName",
          "versionName"
        ]
      },
      "SimplePageApiScore": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApiScore list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApiScore results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApiScore"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "GovernanceGraph": {
        "type": "object",
        "additionalProperties": false,
        "description": "Time-series governance score data over a date range.",
        "properties": {
          "from": {
            "type": "string",
            "format": "date",
            "description": "Start date of the graph range."
          },
          "until": {
            "type": "string",
            "format": "date",
            "description": "End date of the graph range."
          },
          "values": {
            "type": "array",
            "description": "Data points within the range.",
            "items": {
              "$ref": "#/components/schemas/Point"
            }
          }
        },
        "required": [
          "from",
          "until",
          "values"
        ]
      },
      "Point": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "date": {
            "type": "string",
            "format": "date",
            "description": "Date of the data point."
          },
          "value": {
            "type": "integer",
            "format": "int64",
            "description": "Governance score value on this date."
          }
        },
        "required": [
          "date",
          "value"
        ]
      },
      "SimplePageGitCredentialDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated GitCredentialDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of GitCredentialDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/GitCredentialDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "ApplicationDeploymentDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Deployment status of an application on a gateway.",
        "properties": {
          "apiGateway": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the API gateway.",
            "example": 1
          },
          "environment": {
            "type": "string",
            "format": "uuid",
            "deprecated": true,
            "description": "Deprecated — use apiGateway.",
            "example": 1
          },
          "application": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the deployed application.",
            "example": 1
          },
          "gatewayId": {
            "type": "string",
            "description": "ID of the application on the gateway.",
            "example": "aa2867cf-a395-47e0-84b2-8fa157906677"
          },
          "lastSuccessfulTask": {
            "type": "string",
            "description": "Last deployment task that succeeded.",
            "enum": [
              "NONE",
              "DEPLOY",
              "UNDEPLOY",
              "DISCOVER"
            ],
            "example": "DEPLOY"
          },
          "lastFailedTask": {
            "type": "string",
            "description": "Last deployment task that failed.",
            "enum": [
              "NONE",
              "DEPLOY",
              "UNDEPLOY",
              "DISCOVER"
            ],
            "example": "DEPLOY"
          },
          "failureMessage": {
            "type": "string",
            "description": "Error message from the last failed task.",
            "example": "what went wrong..."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only).",
            "example": 1
          }
        },
        "required": [
          "apiGateway",
          "application",
          "failureMessage",
          "gatewayId",
          "id",
          "lastFailedTask",
          "lastSuccessfulTask"
        ]
      },
      "SimplePageApplicationDeploymentDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApplicationDeploymentDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApplicationDeploymentDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApplicationDeploymentDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "ApiDeploymentDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Deployment status of an API on a gateway.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only).",
            "example": 1
          },
          "environment": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the environment this API is deployed to.",
            "example": 1
          },
          "api": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the deployed API.",
            "example": 1
          },
          "gatewayId": {
            "type": "string",
            "description": "ID of the API on the gateway.",
            "example": "aa2867cf-a395-47e0-84b2-8fa157906677"
          },
          "version": {
            "type": "string",
            "description": "Deployed version name.",
            "example": 1
          },
          "apiVersionId": {
            "type": "string",
            "format": "uuid",
            "example": "aa2867cf-a395-47e0-84b2-8fa157906677"
          },
          "url": {
            "type": "string",
            "description": "Base URL of the API on the gateway.",
            "example": "https://environment.url/petstore"
          },
          "endpoints": {
            "type": "array",
            "description": "List of individual endpoints exposed by this deployment.",
            "items": {
              "$ref": "#/components/schemas/ApiEndpointDTO"
            }
          },
          "authentication": {
            "$ref": "#/components/schemas/AuthenticationSettings",
            "description": "Details about how calls to this API are authenticated."
          },
          "apiDeploymentPolicies": {
            "type": "array",
            "description": "List of associations between API policy templates and paths of this API deployment.",
            "items": {
              "$ref": "#/components/schemas/ApiDeploymentPolicyDTO"
            }
          }
        },
        "required": [
          "api",
          "endpoints",
          "environment",
          "gatewayId",
          "id"
        ]
      },
      "SimplePageApiDeploymentDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApiDeploymentDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApiDeploymentDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApiDeploymentDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "SimplePageDevPortalDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated DevPortalDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of DevPortalDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/DevPortalDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "SimplePageCustomFieldDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated CustomFieldDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of CustomFieldDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/CustomFieldDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "BoomiJobDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A boomi-jobs background job.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the job."
          },
          "kind": {
            "type": "string",
            "description": "Job kind, e.g. application.deploy."
          },
          "state": {
            "type": "string",
            "description": "AVAILABLE, SCHEDULED, RUNNING, RETRYABLE, COMPLETED, DISCARDED, or CANCELLED.",
            "enum": [
              "AVAILABLE",
              "SCHEDULED",
              "RUNNING",
              "RETRYABLE",
              "COMPLETED",
              "DISCARDED",
              "CANCELLED"
            ]
          },
          "errors": {
            "type": "array",
            "description": "List of error messages produced by the job.",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "errors",
          "id",
          "kind",
          "state"
        ]
      },
      "AuditLogDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Audit log entry recording a user action.",
        "properties": {
          "user": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the user who performed the action."
          },
          "organization": {
            "type": "string",
            "format": "uuid",
            "description": "User's organization."
          },
          "method": {
            "type": "string",
            "description": "HTTP method."
          },
          "path": {
            "type": "string",
            "description": "Request URL path."
          },
          "query": {
            "type": "string",
            "description": "Query parameters."
          },
          "body": {
            "type": "string",
            "description": "Request body (may be truncated)."
          },
          "responseCode": {
            "type": "integer",
            "format": "int32",
            "description": "HTTP response code returned."
          },
          "timestamp": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the action occurred."
          },
          "category": {
            "type": "string",
            "description": "Event category.",
            "enum": [
              "UNKNOWN",
              "USER",
              "API",
              "APPLICATION",
              "PLAN",
              "SUBSCRIPTION",
              "ENVIRONMENT",
              "CONFIGURATION"
            ]
          }
        },
        "required": [
          "body",
          "category",
          "method",
          "organization",
          "path",
          "query",
          "responseCode",
          "timestamp",
          "user"
        ]
      },
      "SimplePageAuditLogDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated AuditLogDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of AuditLogDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/AuditLogDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "ApprovalRequestDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "A subscription approval request, created when approval workflows are enabled.",
        "properties": {
          "status": {
            "type": "string",
            "description": "PENDING, APPROVED, or DECLINED.",
            "enum": [
              "APPROVED",
              "PENDING",
              "DECLINED"
            ]
          },
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the approval request was created."
          },
          "resolvedAt": {
            "type": "string",
            "format": "date-time",
            "description": "When resolved (null if pending)."
          },
          "subscription": {
            "type": "string",
            "format": "uuid",
            "description": "Subscription UUID."
          },
          "createdByUser": {
            "type": "string",
            "format": "uuid",
            "description": "Requesting user UUID."
          },
          "createdByOrganization": {
            "type": "string",
            "format": "uuid",
            "description": "Requester's organization UUID."
          },
          "resolvingOrganization": {
            "type": "string",
            "format": "uuid",
            "description": "Approving organization UUID."
          },
          "resolvedByUser": {
            "type": "string",
            "format": "uuid",
            "description": "Resolving user UUID (null if pending)."
          },
          "comment": {
            "type": "string",
            "description": "Resolution comment."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned UUID of the approval request."
          }
        },
        "required": [
          "comment",
          "createdAt",
          "createdByOrganization",
          "createdByUser",
          "id",
          "resolvingOrganization",
          "status",
          "subscription"
        ]
      },
      "SimplePageApprovalRequestDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApprovalRequestDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApprovalRequestDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApprovalRequestDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "PendingApprovalRequestDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Pending approval request summary.",
        "properties": {
          "createdAt": {
            "type": "string",
            "format": "date-time",
            "description": "Timestamp when the approval request was created."
          },
          "userDisplayName": {
            "type": "string",
            "description": "Display name of the user who made the request."
          },
          "userEmail": {
            "type": "string",
            "description": "Email of the user who made the request."
          },
          "organizationDisplayName": {
            "type": "string",
            "description": "Display name of the user's organization."
          },
          "applicationDisplayName": {
            "type": "string",
            "description": "Display name of subscribing application."
          },
          "apiProduct": {
            "type": "string",
            "format": "uuid",
            "description": "UUID of the API product being subscribed to."
          },
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "System-assigned ID (read-only)."
          }
        },
        "required": [
          "apiProduct",
          "applicationDisplayName",
          "createdAt",
          "id",
          "organizationDisplayName",
          "userDisplayName",
          "userEmail"
        ]
      },
      "SimplePagePendingApprovalRequestDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated PendingApprovalRequestDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of PendingApprovalRequestDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/PendingApprovalRequestDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "SimplePageApplicationDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApplicationDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApplicationDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApplicationDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "SimplePageApiDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApiDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApiDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApiDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "OpenProxyDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "An Open Proxy spec — vendor-agnostic proxy config for cross-platform deployment.",
        "properties": {
          "source": {
            "type": "string",
            "description": "How the spec was created: UPLOAD or GIT.",
            "enum": [
              "UPLOAD",
              "GIT",
              "GENERATE"
            ]
          },
          "readOnly": {
            "type": "boolean",
            "description": "Whether the spec is read-only (e.g. managed via Git)."
          },
          "gitCommit": {
            "type": "string",
            "description": "Git commit hash of the spec, if sourced from a Git repository."
          }
        },
        "required": [
          "readOnly",
          "source"
        ]
      },
      "SimplePageApiVersionDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApiVersionDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApiVersionDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApiVersionDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "LintResultDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Full governance validation result for an API spec.",
        "properties": {
          "rules": {
            "type": "array",
            "description": "List of rules that produced violations.",
            "items": {
              "$ref": "#/components/schemas/LintResultRuleDTO"
            }
          }
        },
        "required": [
          "rules"
        ]
      },
      "LintResultIssueDTO": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "path": {
            "type": "string",
            "description": "JSON path in the spec where the violation was found."
          },
          "message": {
            "type": "string",
            "description": "Description of the violation."
          },
          "startLine": {
            "type": "integer",
            "format": "int64",
            "description": "Start line of the violation in the spec file."
          },
          "startCharacter": {
            "type": "integer",
            "format": "int64",
            "description": "Start character position of the violation."
          },
          "endLine": {
            "type": "integer",
            "format": "int64",
            "description": "End line of the violation in the spec file."
          },
          "endCharacter": {
            "type": "integer",
            "format": "int64",
            "description": "End character position of the violation."
          }
        },
        "required": [
          "endCharacter",
          "endLine",
          "message",
          "path",
          "startCharacter",
          "startLine"
        ]
      },
      "LintResultRuleDTO": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "code": {
            "type": "string",
            "description": "Rule identifier."
          },
          "description": {
            "type": "string",
            "description": "Human-readable description of the rule."
          },
          "ruleSetName": {
            "type": "string",
            "description": "Name of the ruleset this rule belongs to."
          },
          "category": {
            "type": "string",
            "description": "Rule category: SECURITY or QUALITY.",
            "enum": [
              "SECURITY",
              "QUALITY"
            ]
          },
          "severity": {
            "type": "string",
            "description": "Rule severity: ERROR, WARNING, or INFO.",
            "enum": [
              "ERROR",
              "WARNING",
              "INFO",
              "HINT"
            ]
          },
          "issues": {
            "type": "array",
            "description": "List of individual violations found for this rule.",
            "items": {
              "$ref": "#/components/schemas/LintResultIssueDTO"
            }
          }
        },
        "required": [
          "category",
          "code",
          "description",
          "issues",
          "ruleSetName",
          "severity"
        ]
      },
      "ApiPolicyTemplateDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "An API policy template that can be applied to APIs deployed on the gateway.",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid",
            "description": "Unique API policy template ID.",
            "example": "550e8400-e29b-41d4-a716-446655440000"
          },
          "name": {
            "type": "string",
            "description": "API policy template name.",
            "example": "Name"
          },
          "version": {
            "type": "string",
            "description": "API policy template version.",
            "example": "v1"
          },
          "platformType": {
            "type": "string",
            "description": "Platform type.",
            "example": "BOOMI"
          },
          "sourceGatewayName": {
            "type": "string",
            "description": "Source gateway name.",
            "example": "Production Gateway"
          },
          "description": {
            "type": "string",
            "description": "API policy template description.",
            "example": "API policy template that rate limits API calls."
          },
          "metadata": {
            "type": "string",
            "description": "Metadata used to provide an overview of the API policy template contents.",
            "example": {
              "rules": [
                {
                  "type": "RateLimitRule",
                  "methods": [
                    "GET",
                    "POST"
                  ]
                },
                {
                  "type": "AuthenticationRule",
                  "methods": [
                    "GET",
                    "POST",
                    "PUT",
                    "DELETE"
                  ]
                }
              ]
            }
          }
        },
        "required": [
          "id",
          "name",
          "platformType"
        ]
      },
      "SimplePageApiPolicyTemplateDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApiPolicyTemplateDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApiPolicyTemplateDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApiPolicyTemplateDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "ApiDeploymentUsingTemplateDTO": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "deploymentId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique UUID of the API deployment in the API Control Plane.",
            "example": "aa2867cf-a395-47e0-84b2-8fa157906677"
          },
          "apiDisplayName": {
            "type": "string",
            "description": "Display name of the deployed API using the template.",
            "example": "Petstore API"
          },
          "apiGatewayId": {
            "type": "string",
            "description": "ID of the API on the gateway.",
            "example": "petstore-api-id"
          },
          "apiId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique UUID of the API in the API Control Plane.",
            "example": "aa2867cf-a395-47e0-84b2-8fa157906677"
          },
          "environmentDisplayName": {
            "type": "string",
            "description": "Human-readable name of the environment.",
            "example": "Primary Gravitee Environment"
          },
          "environmentId": {
            "type": "string",
            "format": "uuid",
            "description": "Unique UUID of the Environment in the API Control Plane.",
            "example": "aa2867cf-a395-47e0-84b2-8fa157906677"
          },
          "url": {
            "type": "string",
            "description": "Base URL of the API on the gateway.",
            "example": "https://environment.url/petstore"
          }
        },
        "required": [
          "apiDisplayName",
          "apiGatewayId",
          "apiId",
          "deploymentId",
          "environmentDisplayName",
          "environmentId"
        ]
      },
      "SimplePageApiDeploymentUsingTemplateDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApiDeploymentUsingTemplateDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApiDeploymentUsingTemplateDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApiDeploymentUsingTemplateDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "SimplePageApiGatewayDTO": {
        "type": "object",
        "additionalProperties": false,
        "description": "Paginated ApiGatewayDTO list.",
        "properties": {
          "content": {
            "type": "array",
            "description": "List of ApiGatewayDTO results for the current page.",
            "items": {
              "$ref": "#/components/schemas/ApiGatewayDTO"
            }
          },
          "size": {
            "type": "integer",
            "format": "int32",
            "description": "Requested page size."
          },
          "number": {
            "type": "integer",
            "format": "int32",
            "description": "Current page number (1-based)."
          },
          "last": {
            "type": "boolean",
            "description": "Whether this is the last page."
          },
          "totalPages": {
            "type": "integer",
            "format": "int32",
            "description": "Total number of pages."
          },
          "totalElements": {
            "type": "integer",
            "format": "int64",
            "description": "Total number of matching results across all pages."
          }
        },
        "required": [
          "content",
          "last",
          "number",
          "size",
          "totalElements",
          "totalPages"
        ]
      },
      "Error": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "timestamp": {
            "type": "string"
          },
          "status": {
            "type": "integer",
            "format": "int32"
          },
          "error": {
            "type": "string"
          },
          "message": {
            "type": "string"
          },
          "path": {
            "type": "string"
          }
        }
      }
    },
    "responses": {
      "DefaultResponse": {
        "description": "unexpected error",
        "content": {
          "application/json": {
            "schema": {
              "type": "object",
              "$ref": "#/components/schemas/Error"
            }
          }
        }
      }
    },
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "token"
      }
    }
  }
}