@@ -27365,6 +27365,270 @@
2736527365 }
2736627366 }
2736727367 },
27368+ "/api/admin/teams/{id}": {
27369+ "put": {
27370+ "summary": "Update team (Global Admin)",
27371+ "tags": [
27372+ "Admin - Teams"
27373+ ],
27374+ "description": "Allows global administrators to update any team's name, description, and non-HTTP MCP server limit.",
27375+ "requestBody": {
27376+ "content": {
27377+ "application/json": {
27378+ "schema": {
27379+ "type": "object",
27380+ "properties": {
27381+ "name": {
27382+ "type": "string",
27383+ "minLength": 1,
27384+ "maxLength": 100,
27385+ "description": "Team name (1-100 characters)"
27386+ },
27387+ "description": {
27388+ "type": "string",
27389+ "maxLength": 500,
27390+ "nullable": true,
27391+ "description": "Team description (max 500 characters, optional)"
27392+ },
27393+ "non_http_mcp_limit": {
27394+ "type": "integer",
27395+ "minimum": 0,
27396+ "description": "Maximum number of non-HTTP (stdio) MCP servers the team can install"
27397+ }
27398+ },
27399+ "additionalProperties": false
27400+ }
27401+ }
27402+ }
27403+ },
27404+ "parameters": [
27405+ {
27406+ "schema": {
27407+ "type": "string"
27408+ },
27409+ "in": "path",
27410+ "name": "id",
27411+ "required": true,
27412+ "description": "Team ID"
27413+ }
27414+ ],
27415+ "security": [
27416+ {
27417+ "cookieAuth": []
27418+ }
27419+ ],
27420+ "responses": {
27421+ "200": {
27422+ "description": "Team updated successfully",
27423+ "content": {
27424+ "application/json": {
27425+ "schema": {
27426+ "type": "object",
27427+ "properties": {
27428+ "success": {
27429+ "type": "boolean",
27430+ "description": "Indicates operation success"
27431+ },
27432+ "message": {
27433+ "type": "string",
27434+ "description": "Success message"
27435+ },
27436+ "data": {
27437+ "type": "object",
27438+ "properties": {
27439+ "id": {
27440+ "type": "string",
27441+ "description": "Team unique identifier"
27442+ },
27443+ "name": {
27444+ "type": "string",
27445+ "description": "Team name"
27446+ },
27447+ "slug": {
27448+ "type": "string",
27449+ "description": "Team URL slug"
27450+ },
27451+ "description": {
27452+ "type": "string",
27453+ "nullable": true,
27454+ "description": "Team description"
27455+ },
27456+ "owner_id": {
27457+ "type": "string",
27458+ "description": "Team owner user ID"
27459+ },
27460+ "is_default": {
27461+ "type": "boolean",
27462+ "description": "Whether this is the default team"
27463+ },
27464+ "non_http_mcp_limit": {
27465+ "type": "integer",
27466+ "description": "Non-HTTP MCP server limit"
27467+ },
27468+ "created_at": {
27469+ "type": "string",
27470+ "description": "ISO8601 timestamp"
27471+ },
27472+ "updated_at": {
27473+ "type": "string",
27474+ "description": "ISO8601 timestamp"
27475+ }
27476+ },
27477+ "required": [
27478+ "id",
27479+ "name",
27480+ "slug",
27481+ "owner_id",
27482+ "is_default",
27483+ "non_http_mcp_limit",
27484+ "created_at",
27485+ "updated_at"
27486+ ]
27487+ }
27488+ },
27489+ "required": [
27490+ "success",
27491+ "message",
27492+ "data"
27493+ ],
27494+ "description": "Team updated successfully"
27495+ }
27496+ }
27497+ }
27498+ },
27499+ "400": {
27500+ "description": "Bad Request - Invalid input",
27501+ "content": {
27502+ "application/json": {
27503+ "schema": {
27504+ "type": "object",
27505+ "properties": {
27506+ "success": {
27507+ "type": "boolean",
27508+ "default": false,
27509+ "description": "Indicates operation failure"
27510+ },
27511+ "error": {
27512+ "type": "string",
27513+ "description": "Error message"
27514+ }
27515+ },
27516+ "required": [
27517+ "success",
27518+ "error"
27519+ ],
27520+ "description": "Bad Request - Invalid input"
27521+ }
27522+ }
27523+ }
27524+ },
27525+ "401": {
27526+ "description": "Unauthorized",
27527+ "content": {
27528+ "application/json": {
27529+ "schema": {
27530+ "type": "object",
27531+ "properties": {
27532+ "success": {
27533+ "type": "boolean",
27534+ "default": false,
27535+ "description": "Indicates operation failure"
27536+ },
27537+ "error": {
27538+ "type": "string",
27539+ "description": "Error message"
27540+ }
27541+ },
27542+ "required": [
27543+ "success",
27544+ "error"
27545+ ],
27546+ "description": "Unauthorized"
27547+ }
27548+ }
27549+ }
27550+ },
27551+ "403": {
27552+ "description": "Forbidden - Global admin required",
27553+ "content": {
27554+ "application/json": {
27555+ "schema": {
27556+ "type": "object",
27557+ "properties": {
27558+ "success": {
27559+ "type": "boolean",
27560+ "default": false,
27561+ "description": "Indicates operation failure"
27562+ },
27563+ "error": {
27564+ "type": "string",
27565+ "description": "Error message"
27566+ }
27567+ },
27568+ "required": [
27569+ "success",
27570+ "error"
27571+ ],
27572+ "description": "Forbidden - Global admin required"
27573+ }
27574+ }
27575+ }
27576+ },
27577+ "404": {
27578+ "description": "Team not found",
27579+ "content": {
27580+ "application/json": {
27581+ "schema": {
27582+ "type": "object",
27583+ "properties": {
27584+ "success": {
27585+ "type": "boolean",
27586+ "default": false,
27587+ "description": "Indicates operation failure"
27588+ },
27589+ "error": {
27590+ "type": "string",
27591+ "description": "Error message"
27592+ }
27593+ },
27594+ "required": [
27595+ "success",
27596+ "error"
27597+ ],
27598+ "description": "Team not found"
27599+ }
27600+ }
27601+ }
27602+ },
27603+ "500": {
27604+ "description": "Internal Server Error",
27605+ "content": {
27606+ "application/json": {
27607+ "schema": {
27608+ "type": "object",
27609+ "properties": {
27610+ "success": {
27611+ "type": "boolean",
27612+ "default": false,
27613+ "description": "Indicates operation failure"
27614+ },
27615+ "error": {
27616+ "type": "string",
27617+ "description": "Error message"
27618+ }
27619+ },
27620+ "required": [
27621+ "success",
27622+ "error"
27623+ ],
27624+ "description": "Internal Server Error"
27625+ }
27626+ }
27627+ }
27628+ }
27629+ }
27630+ }
27631+ },
2736827632 "/api/gateway/me/mcp-configurations": {
2736927633 "get": {
2737027634 "summary": "Get merged MCP configurations for gateway",
0 commit comments