Skip to main content
Glama
SmartBear MCP server

SmartBear MCP server

Official
by SmartBear

Swagger: Update Portal Product

swagger_update_portal_product
DestructiveIdempotent

Modify product settings in a portal to change its display name, URL slug, description, and visibility. Control how the product appears and who can access it.

Instructions

Update a product's settings within a specific portal.

Toolset: Products

Parameters:

  • productId (string) required: Product UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product

  • name (string): Update product display name - changes how it appears to users in navigation and listings (3-40 characters)

  • slug (string): Update URL-friendly identifier - must remain unique within the portal, affects product URLs (3-22 characters, lowercase, alphanumeric with hyphens/underscores/dots)

  • description (string): Update product description - explains the API/product functionality, shown in listings (max 110 characters)

  • public (boolean): Change product visibility - true makes it publicly accessible to all visitors, false restricts to authenticated users with roles

  • visibility (enum): Change whether the product is shown on the portal landing page - 'visible' shows it to everyone, 'hidden' hides it from everyone, 'conditional' shows it only to users who have access to the product. Not allowed when the product is public; making a 'conditional' product public without also changing visibility fails with 409

Input Schema

NameRequiredDescriptionDefault
nameNoUpdate product display name - changes how it appears to users in navigation and listings (3-40 characters)
slugNoUpdate URL-friendly identifier - must remain unique within the portal, affects product URLs (3-22 characters, lowercase, alphanumeric with hyphens/underscores/dots)
publicNoChange product visibility - true makes it publicly accessible to all visitors, false restricts to authenticated users with roles
productIdYesProduct UUID or identifier in the format 'portal-subdomain:product-slug' - unique identifier for the product
visibilityNoChange whether the product is shown on the portal landing page - 'visible' shows it to everyone, 'hidden' hides it from everyone, 'conditional' shows it only to users who have access to the product. Not allowed when the product is public; making a 'conditional' product public without also changing visibility fails with 409
descriptionNoUpdate product description - explains the API/product functionality, shown in listings (max 110 characters)

Output Schema

NameRequiredDescriptionDefault
idNo
urlNo
nameNo
slugNo
publicNo
portalIdNo
visibilityNo
descriptionNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changedv0.43.0
    • removedInput schema / properties / hidden
      Removed value: -{
      -  "description": "Change navigation visibility - true hides from portal landing page menus while keeping the product accessible via direct links",
      -  "type": "boolean"
      -}
    • addedInput schema / properties / visibility
      Added value: +{
      +  "description": "Change whether the product is shown on the portal landing page - 'visible' shows it to everyone, 'hidden' hides it from everyone, 'conditional' shows it only to users who have access to the product. Not allowed when the product is public; making a 'conditional' product public without also changing visibility fails with 409",
      +  "enum": [
      +    "visible",
      +    "hidden",
      +    "conditional"
      +  ],
      +  "type": "string"
      +}
    • removedOutput schema / properties / hidden
      Removed value: -{
      -  "type": "boolean"
      -}
    • addedOutput schema / properties / visibility
      Added value: +{
      +  "enum": [
      +    "visible",
      +    "hidden",
      +    "conditional"
      +  ],
      +  "type": "string"
      +}
  2. Addedv0.40.0
  3. Removedv0.34.0
  4. Changed1 schema field changedv0.30.0
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": {},
      +  "properties": {
      +    "description": {
      +      "type": "string"
      +    },
      +    "hidden": {
      +      "type": "boolean"
      +    },
      +    "id": {
      +      "type": "string"
      +    },
      +    "name": {
      +      "type": "string"
      +    },
      +    "portalId": {
      +      "type": "string"
      +    },
      +    "public": {
      +      "type": "boolean"
      +    },
      +    "slug": {
      +      "type": "string"
      +    }
      +  },
      +  "type": "object"
      +}
  5. First observedv0.27.1

TDQS

A3.8/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=true, idempotentHint=true and openWorldHint=false, so the safety profile is covered. The description adds genuine behavioral value on top: the 409 conflict rule for public/visibility interactions, the note that changing slug alters product URLs, and the length/uniqueness constraints. It stops short of explaining what destructiveHint means here (e.g. whether a slug change breaks existing links) or what the response contains.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Even though the Parameters section is a structural weakness, it is organized clearly: the toolset tag is minimized and the purpose sentence is front-loaded before the parameter list. No sentence is redundant with another, and the length is proportionate to the parameter count.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations covering safety and idempotency, the description covers what an agent needs to construct a correct call, including the one non-obvious failure mode (409). The one gap is a missing statement about partial-update semantics, which matters for a six-parameter mutation tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents every parameter. The description's Parameters block largely restates those same strings verbatim rather than adding interpretation; the only incremental content is the cross-parameter 409 rule, which is folded into the visibility entry. Baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (update) and resource (a product's settings) plus the scoping constraint of a specific portal. It does not distinguish itself from the sibling set (swagger_create_portal_product, swagger_get_portal_product, swagger_delete_portal_product, swagger_publish_portal_product), so an agent must infer the routing from the names alone.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied by name and the portal-scoped framing, and one real precondition is stated (visibility cannot be set on a public product; conditional+public without visibility change returns 409). However there is no explicit when-to-use vs. create/get/publish siblings, and no statement about whether this is a partial update where omitted fields are left untouched.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools