# Swaggerhub

Accelerating API delivery and quality through standards and collaboration, built on OpenAPI

- **Category:** developer tools
- **Auth:** API_KEY
- **Composio Managed App Available?** N/A
- **Tools:** 44
- **Triggers:** 0
- **Slug:** `SWAGGERHUB`
- **Version:** 20260312_00

## Tools

### Add Access Control for Teams

**Slug:** `SWAGGERHUB_ADD_ACCESS_CONTROL_FOR_TEAMS`

Tool to assign access control roles to teams on a SwaggerHub resource. Use when you need to grant team permissions (OWNER, DESIGNER, CONSUMER) for APIs, domains, projects, or portal products.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner` | string | Yes | Organization identifier |
| `teams` | array | Yes | List of teams with their assigned roles to add access control |
| `resourceName` | string | Yes | Name of the resource to add team access for |
| `resourceType` | string ("API" | "DOMAIN" | "PROJECT" | "PORTAL_PRODUCT") | Yes | Type of the resource (API, DOMAIN, PROJECT, or PORTAL_PRODUCT) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Add Access Control for Users

**Slug:** `SWAGGERHUB_ADD_ACCESS_CONTROL_FOR_USERS`

Tool to assign access control roles to users on a SwaggerHub resource. Use when you need to grant user permissions (owner, designer, consumer) for APIs, domains, projects, organizations, teams, or portal products.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner` | string | Yes | Organization identifier (owner name) |
| `users` | array | Yes | List of users with their assigned roles to add access control. Each user must have an email and role specified. |
| `resourceName` | string | Yes | Name of the organizational resource to add user access for |
| `resourceType` | string ("API" | "DOMAIN" | "PROJECT" | "ORGANIZATION" | "TEAM" | "PORTAL_PRODUCT") | Yes | Type of the organizational resource (API, DOMAIN, PROJECT, ORGANIZATION, TEAM, or PORTAL_PRODUCT) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Delete Table of Contents Entry

**Slug:** `SWAGGERHUB_DELETE_TABLE_OF_CONTENTS_ENTRY`

Tool to delete a table of contents entry from SwaggerHub portal. Use when you need to remove a table of contents entry by its ID. Optionally supports recursive deletion of nested entries.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `recursive` | boolean | No | Flag to include all the nested tables of contents |
| `table_of_contents_id` | string | Yes | The table of contents UUID, or identifier in the format `portal-subdomain:product-slug:section-slug:table-of-contents-slug` |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Access Control Users

**Slug:** `SWAGGERHUB_GET_ACCESS_CONTROL_USERS`

Tool to retrieve the list of users assigned access control on a SwaggerHub resource. Use when you need to check who has access to an API, domain, project, organization, team, or portal product.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | 0-based index of the page to return for pagination. |
| `owner` | string | Yes | Organization identifier to query access control users for. |
| `pageSize` | integer | No | Number of results per page to return, must be between 1 and 100. |
| `resourceName` | string | Yes | Name of the resource to query access control users for. |
| `resourceType` | string ("API" | "DOMAIN" | "PROJECT" | "ORGANIZATION" | "TEAM" | "PORTAL_PRODUCT") | Yes | Type of the resource to query access control users for. |
| `statusFilter` | string ("all" | "active" | "invited") | No | Filter users by invitation status. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get API Default Version

**Slug:** `SWAGGERHUB_GET_API_DEFAULT_VERSION`

Tool to get the default version identifier of a SwaggerHub API. Use when you need to know which version is marked as default for an API. This returns only the version identifier; to get the full API definition, use the version with GET /apis/{owner}/{api}/{version}.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `api` | string | Yes | API name (case-sensitive). This is the unique identifier of the API within the owner's account. |
| `owner` | string | Yes | API owner (organization or user, case-sensitive). This is the account that owns the API in SwaggerHub. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get API Versions

**Slug:** `SWAGGERHUB_GET_API_VERSIONS`

Tool to retrieve a list of API versions for a specific API in SwaggerHub. Use when you need to get all versions of an API owned by an organization or user. Returns 404 if the specified API is not found or if the authenticated user does not have access to a private API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `api` | string | Yes | API name (case-sensitive). This is the name of the API for which to retrieve versions. |
| `owner` | string | Yes | API owner (organization or user, case-sensitive). This is the SwaggerHub organization or user name that owns the API. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Consumer Products

**Slug:** `SWAGGERHUB_GET_CONSUMER_PRODUCTS`

Tool to get a list of products that are visible to the consumer in a SwaggerHub portal. Use when you need to retrieve products from a portal, including both accessible and inaccessible products. This endpoint does not require authentication.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The 1-based index of the page to return. If not specified, the first page is returned. |
| `size` | integer | No | The number of results to return per page. |
| `embed` | array | No | Embed related resources in the response. |
| `portalId` | string | Yes | Portal UUID or subdomain. |
| `canAccess` | boolean | No | Filter based on whether you are allowed to access this product or not. If not specified, the results include both accessible and inaccessible products. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get API Definition

**Slug:** `SWAGGERHUB_GET_DEFINITION`

Tool to get the OpenAPI definition of a specified API version from SwaggerHub. Use when you need to retrieve the complete API specification including endpoints, schemas, and documentation for a specific API version.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `api` | string | Yes | API name (case-sensitive). The name of the API as it appears in SwaggerHub. |
| `owner` | string | Yes | API owner (organization or user, case-sensitive). This is the SwaggerHub username or organization name that owns the API. |
| `flatten` | boolean | No | If set to true, it creates models from inline schemas in OpenAPI definition. AsyncAPI definitions cannot be flattened. Default is false. |
| `version` | string | Yes | Version identifier. The specific version of the API definition to retrieve. |
| `resolved` | boolean | No | Set to true to get the resolved version of the API definition. The content of all external $refs will be included in the resulting file. Default is false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain Default Version

**Slug:** `SWAGGERHUB_GET_DOMAIN_DEFAULT_VERSION`

Tool to retrieve the default version identifier of a SwaggerHub domain. Use when you need to know which version is set as default for a domain before fetching its definition.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner` | string | Yes | Domain owner (organization or user, case-sensitive). |
| `domain` | string | Yes | Domain name (case-sensitive). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get domain definition

**Slug:** `SWAGGERHUB_GET_DOMAIN_DEFINITION`

Tool to retrieve the OpenAPI definition of a specified domain version from SwaggerHub. Use when you need to access reusable domain components, schemas, or parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner` | string | Yes | Domain owner (organization or user, case-sensitive). |
| `domain` | string | Yes | Domain name (case-sensitive). |
| `version` | string | Yes | Version identifier of the domain. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain JSON Definition

**Slug:** `SWAGGERHUB_GET_DOMAIN_JSON_DEFINITION`

Tool to retrieve the OpenAPI definition for a specified domain version in JSON format. Use when you need to access the domain definition document from SwaggerHub.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner` | string | Yes | Domain owner (organization or user, case-sensitive) |
| `domain` | string | Yes | Domain name (case-sensitive) |
| `version` | string | Yes | Version identifier |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain Lifecycle Settings

**Slug:** `SWAGGERHUB_GET_DOMAIN_LIFECYCLE_SETTINGS`

Tool to get the published status for a specific domain and version in SwaggerHub. Use when you need to check if a domain version is published or unpublished.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner` | string | Yes | Domain owner (organization or user, case-sensitive) |
| `domain` | string | Yes | Domain name (case-sensitive) |
| `version` | string | Yes | Version identifier |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain Private Settings

**Slug:** `SWAGGERHUB_GET_DOMAIN_PRIVATE_SETTINGS`

Tool to retrieve the visibility (public or private) of a domain version in SwaggerHub. Use when you need to check whether a specific domain version is accessible publicly or restricted to private access.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner` | string | Yes | Domain owner (organization or user, case-sensitive). |
| `domain` | string | Yes | Domain name (case-sensitive). |
| `version` | string | Yes | Version identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain Versions

**Slug:** `SWAGGERHUB_GET_DOMAIN_VERSIONS`

Tool to get a list of domain versions from SwaggerHub. Use when you need to retrieve all versions of a domain definition and see which APIs reference it. The domain must exist and be accessible with the provided authentication. Returns domain information in APIs.json format including referencing APIs.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner` | string | Yes | Domain owner (organization or user, case-sensitive). This is the account name that owns the domain in SwaggerHub. |
| `domain` | string | Yes | Domain name (case-sensitive). This is the name of the domain definition in SwaggerHub. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Domain YAML Definition

**Slug:** `SWAGGERHUB_GET_DOMAIN_YAML_DEFINITION`

Tool to retrieve the OpenAPI definition for a specified domain version in YAML format from SwaggerHub. Use when you need to fetch domain schemas or API specifications in YAML format.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner` | string | Yes | Domain owner (organization or user, case-sensitive) |
| `domain` | string | Yes | Domain name (case-sensitive) |
| `version` | string | Yes | Version identifier |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get lifecycle settings

**Slug:** `SWAGGERHUB_GET_LIFECYCLE_SETTINGS`

Tool to get the published status for the specified API and version. Use when you need to check if an API version is published or unpublished.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `api` | string | Yes | API name (case-sensitive) |
| `owner` | string | Yes | API owner (organization or user, case-sensitive) |
| `version` | string | Yes | Version identifier |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Organization Members

**Slug:** `SWAGGERHUB_GET_ORGANIZATION_MEMBERS`

Tool to retrieve a list of organization members and their roles from SwaggerHub. Use when you need to view member details including email addresses, roles, and last activity. The authenticating user must be the organization owner.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search query to filter members by first name, last name, or email address. Use this to narrow down the member list. |
| `page` | integer | No | 0-based index of the page to return. Use with pageSize to navigate through results. |
| `order` | string ("ASC" | "DESC") | No | Sort order for results. |
| `owner` | string | Yes | Organization identifier (owner name). This is the organization name in SwaggerHub. |
| `sortBy` | string ("NAME" | "EMAIL" | "START_TIME") | No | Sort criteria for organization members. |
| `pageSize` | integer | No | Number of results per page to return. Default is 50. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Organizations

**Slug:** `SWAGGERHUB_GET_ORGANIZATIONS`

Tool to get organizations for a user. Use when you need to retrieve all organizations that the authenticating user is a member of. Results can be filtered by name using the q parameter, sorted by name or email, and paginated using page and pageSize parameters.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search organizations by partial or full name (case-insensitive). Use to filter results by organization name. |
| `page` | integer | No | Page number to return (zero-indexed). Use for pagination through results. |
| `order` | string ("ASC" | "DESC") | No | Enum for sort order. |
| `sortBy` | string ("NAME" | "EMAIL") | No | Enum for organization sorting criteria. |
| `pageSize` | integer | No | Number of results per page. Must be between 0 and 100. Use for pagination through results. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Organization Projects V2

**Slug:** `SWAGGERHUB_GET_ORG_PROJECTS_V2`

Tool to get all projects of an organization in SwaggerHub. Use when you need to retrieve projects belonging to a specific organization. Projects organize APIs and domains into logical groups. Returns 403 if projects are not available in the organization's plan, or 404 if the organization is not found.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page to return (zero-indexed). Use for pagination through results. |
| `limit` | integer | No | Number of results per page. Must be between 1 and 100. |
| `order` | string ("ASC" | "DESC") | No | Sort order for the result set. |
| `owner` | string | Yes | Organization name (case-sensitive). This is the organization identifier in SwaggerHub. |
| `nameOnly` | boolean | No | Return the project information excluding APIs and domains. Set to true to get only project names and descriptions. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Owner APIs

**Slug:** `SWAGGERHUB_GET_OWNER_APIS`

Tool to get a list of APIs for a specified owner in SwaggerHub. Use when you need to retrieve all APIs belonging to a specific user or organization. Results are returned in APIs.json format and can be paginated and sorted by various criteria.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return (zero-indexed). Use for pagination through results. |
| `sort` | string ("NAME" | "UPDATED" | "CREATED" | "OWNER" | "BEST_MATCH" | "TITLE") | No | Sort criteria for the result set. |
| `limit` | integer | No | Number of results per page. Must be between 1 and 100. |
| `order` | string ("ASC" | "DESC") | No | Sort order for the result set. |
| `owner` | string | Yes | API owner (organization or user, case-sensitive). This is the username or organization name in SwaggerHub. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get owner domains

**Slug:** `SWAGGERHUB_GET_OWNER_DOMAINS`

Tool to retrieve domains owned by a specific SwaggerHub user or organization. Use when you need to list all domains associated with an owner.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return (0-indexed). Use this for pagination when the result set is large. |
| `sort` | string ("NAME" | "UPDATED" | "CREATED" | "OWNER" | "BEST_MATCH" | "TITLE") | No | Sort criteria for domain listing. |
| `limit` | integer | No | Number of results per page. Must be between 1 and 100. Controls how many domain entries are returned in a single response. |
| `order` | string ("ASC" | "DESC") | No | Sort order for domain listing. |
| `owner` | string | Yes | Domain owner (organization or user, case-sensitive). This is the username or organization name that owns the domains you want to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Portal

**Slug:** `SWAGGERHUB_GET_PORTAL`

Tool to retrieve information about a portal. Use when you need to fetch details about a specific SwaggerHub portal by its UUID or subdomain.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `embed` | array | No | Embed related resources in the response. |
| `portalId` | string | Yes | Portal UUID or subdomain |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Portal Access Requests

**Slug:** `SWAGGERHUB_GET_PORTAL_ACCESS_REQUESTS`

Tool to retrieve access requests for a portal in SwaggerHub. Use when you need to list all users who have requested access to a portal's products, with optional filtering by status or search query. Returns paginated results with details about each request including user information, product, status, and timestamps.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | No | Search query to filter access requests by user name, email, or other text fields. |
| `page` | integer | No | The 1-based index of the page to return. If not specified, the first page is returned. |
| `size` | integer | No | The number of results to return per page. Maximum value depends on API limits. |
| `status` | array | No | Filter results by status. Returns only access requests matching one of the specified statuses. |
| `portalId` | string | Yes | Portal UUID or subdomain. The unique identifier of the portal for which to retrieve access requests. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Portal Attachment

**Slug:** `SWAGGERHUB_GET_PORTAL_ATTACHMENT`

Tool to get informational attachment metadata from SwaggerHub Portal. Use when you need to retrieve details about a specific attachment by its UUID. This endpoint supports both authenticated and unauthenticated access for branding attachments or public product attachments.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `attachment_id` | string | Yes | Attachment UUID identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Portal Product

**Slug:** `SWAGGERHUB_GET_PORTAL_PRODUCT`

Tool to retrieve detailed information about a specific product resource. Use when you need to fetch complete details about a product using its UUID or portal-subdomain:product-slug identifier.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `embed` | array | No | Embed related resources in the response. |
| `productId` | string | Yes | Product UUID, or identifier in the format `portal-subdomain:product-slug` |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Portal Products

**Slug:** `SWAGGERHUB_GET_PORTAL_PRODUCTS`

Tool to get products for a specific portal that match your criteria. Use when you need to retrieve a list of products from a portal, with optional filtering by name or slug and pagination support.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filter by the product's name using case-insensitive exact matching. |
| `page` | integer | No | The 1-based index of the page to return. Defaults to 1 if not specified. |
| `size` | integer | No | The number of results to return per page. Defaults to 1000 if not specified. |
| `slug` | string | No | Filter by the product's slug using case-insensitive exact matching. |
| `embed` | array | No | Embed related resources in the response. |
| `portalId` | string | Yes | Portal UUID or subdomain to identify the portal. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Portals

**Slug:** `SWAGGERHUB_GET_PORTALS`

Tool to search for available portals. Returns portals where you have a designer role, either at the product level or organization level.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | The 1-based index of the page to return. If not specified, the first page is returned. |
| `size` | integer | No | The number of results to return per page. |
| `embed` | array | No | Embed related resources in the response. Specify which resources to include. |
| `subdomain` | string | No | Filter results by a portal's subdomain. The filter applies case-insensitive exact matching. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Portal Templates

**Slug:** `SWAGGERHUB_GET_PORTAL_TEMPLATES`

Tool to get templates for a specific portal that match your criteria. Use when you need to list or search for templates within a portal by name or other filters. Supports pagination for large result sets.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | Filter by the template's name. The filter applied uses case-insensitive exact matching. |
| `page` | integer | No | The 1-based index of the page to return. If not specified, the first page is returned. |
| `size` | integer | No | The number of results to return per page. |
| `embed` | array | No | Embed related resources in the response. |
| `portalId` | string | Yes | Portal UUID or subdomain identifier. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get API Version Private Settings

**Slug:** `SWAGGERHUB_GET_PRIVATE_SETTINGS`

Tool to get the visibility (public or private) of an API version. Use when you need to check whether a specific API version is publicly accessible or private.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `api` | string | Yes | API name (case-sensitive) |
| `owner` | string | Yes | API owner (organization or user, case-sensitive) |
| `version` | string | Yes | Version identifier |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Resource Types and Roles

**Slug:** `SWAGGERHUB_GET_RESOURCE_TYPES`

Tool to list available resource types and assignable roles for each in a SwaggerHub organization. Use when you need to understand what roles can be assigned to different resource types like APIs, domains, projects, teams, and organizations.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner_id` | string | Yes | The organization identifier (UUID format). This is the unique identifier for the organization whose resource types you want to retrieve. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get Templates

**Slug:** `SWAGGERHUB_GET_TEMPLATES`

Tool to retrieve a list of templates for an owner in SwaggerHub. Use when you need to get available templates for creating new API definitions or domain models.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner` | string | No | Owner name to filter templates by (case-sensitive). If not specified, returns all available templates. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get User Roles

**Slug:** `SWAGGERHUB_GET_USER_ROLES`

Tool to retrieve all roles assigned to a user across organization resources in SwaggerHub. Use when you need to check what permissions a user has across APIs, teams, domains, and other resources in an organization.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number for pagination (zero-indexed). |
| `user` | string | Yes | The user's email address to retrieve roles for. |
| `owner_id` | string | Yes | The organization owner ID (UUID format). |
| `pageSize` | integer | No | Number of results per page. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Get YAML Definition

**Slug:** `SWAGGERHUB_GET_YAML_DEFINITION`

Tool to get the OpenAPI definition in YAML format for the specified API version from SwaggerHub. Use when you need to retrieve the API specification as YAML text for parsing, storage, or processing.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `api` | string | Yes | API name (case-sensitive). The name of the API as it appears in SwaggerHub. |
| `owner` | string | Yes | API owner (organization or user, case-sensitive). This is the SwaggerHub username or organization name that owns the API. |
| `flatten` | boolean | No | If set to true, it creates models from inline schemas in OpenAPI definition. AsyncAPI definitions cannot be flattened. Default is false. |
| `version` | string | Yes | Version identifier. The specific version of the API definition to retrieve. |
| `resolved` | boolean | No | Set to true to get the resolved version of the API definition. The content of all external $refs will be included in the resulting file. Default is false. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### List Attachments

**Slug:** `SWAGGERHUB_LIST_ATTACHMENTS`

Tool to retrieve all attachments for a portal or product. Use when you need to list attachments associated with either a specific portal or product. Provide either productId or portalId, not both.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `portalId` | string | No | Portal identifier (mutually exclusive with productId). Retrieve attachments for this specific portal. |
| `productId` | string | No | Product identifier (mutually exclusive with portalId). Retrieve attachments for this specific product. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Access Control for Teams

**Slug:** `SWAGGERHUB_REMOVE_ACCESS_CONTROL_FOR_TEAMS`

Tool to remove access control for teams from a SwaggerHub resource. Use when you need to revoke team permissions from an API, domain, project, or portal product.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner` | string | Yes | Organization identifier |
| `teams` | array | Yes | Team names to remove access control for |
| `resourceName` | string | Yes | Name of organizational resource |
| `resourceType` | string ("API" | "DOMAIN" | "PROJECT" | "PORTAL_PRODUCT") | Yes | Organizational resource type (API, DOMAIN, PROJECT, or PORTAL_PRODUCT) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Access Control For Users

**Slug:** `SWAGGERHUB_REMOVE_ACCESS_CONTROL_FOR_USERS`

Tool to remove access control for users from a SwaggerHub organizational resource. Use when you need to revoke user access to APIs, domains, projects, organizations, teams, or portal products.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner` | string | Yes | Organization identifier |
| `users` | array | Yes | List of members' email addresses to remove access control for |
| `resourceName` | string | Yes | Name of organizational resource |
| `resourceType` | string ("API" | "DOMAIN" | "PROJECT" | "ORGANIZATION" | "TEAM" | "PORTAL_PRODUCT") | Yes | Organizational resource type (API, DOMAIN, PROJECT, ORGANIZATION, TEAM, or PORTAL_PRODUCT) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Remove Organization Members

**Slug:** `SWAGGERHUB_REMOVE_MEMBERS`

Tool to remove members from a SwaggerHub organization. Use when you need to revoke membership for one or more users by their email addresses.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `user` | array | Yes | Email addresses of the users to remove from the organization. Multiple emails can be provided. |
| `owner` | string | Yes | Organization identifier (owner name). |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search APIs

**Slug:** `SWAGGERHUB_SEARCH_APIS`

Tool to search SwaggerHub APIs. Use when you need to find API definitions in SwaggerHub by name, owner, or other criteria. This is a convenience alias for GET /specs?specType=API.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return (0-indexed). Default is 0. |
| `sort` | string ("NAME" | "UPDATED" | "CREATED" | "OWNER" | "BEST_MATCH" | "TITLE") | No | Enum for sort criteria. |
| `limit` | integer | No | Number of results per page (1-100). Default is 10. |
| `order` | string ("ASC" | "DESC") | No | Enum for sort order. |
| `query` | string | No | Free text query to match against API names and descriptions. |
| `state` | string ("ALL" | "PUBLISHED" | "UNPUBLISHED") | No | Enum for API published state filter. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search APIs and Domains

**Slug:** `SWAGGERHUB_SEARCH_APIS_AND_DOMAINS`

Tool to search SwaggerHub APIs, domains, and templates. Use when you need to retrieve a list of currently defined APIs, domains, and/or templates in APIs.json format. Supports filtering by spec type, visibility, state, owner, and free text search with pagination and sorting.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return (0-indexed). Default is 0. |
| `sort` | string ("NAME" | "UPDATED" | "CREATED" | "OWNER" | "BEST_MATCH" | "TITLE") | No | Enum for sort criteria. |
| `limit` | integer | No | Number of results per page (1-100). Default is 10. |
| `order` | string ("ASC" | "DESC") | No | Enum for sort order. |
| `owner` | string | No | API or domain owner. Can be username or organization name. Case-sensitive. |
| `query` | string | No | Free text query to match against names and descriptions. |
| `state` | string ("ALL" | "PUBLISHED" | "UNPUBLISHED") | No | Enum for published state filter. |
| `specType` | string ("API" | "DOMAIN" | "TEMPLATE" | "ANY") | No | Enum for spec type filter. |
| `visibility` | string ("PUBLIC" | "PRIVATE" | "ANY") | No | Enum for visibility filter. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Domains

**Slug:** `SWAGGERHUB_SEARCH_DOMAINS`

Tool to search SwaggerHub domains. Use when you need to find domain definitions in SwaggerHub by name, owner, or other criteria. This is a convenience alias for GET /specs?specType=DOMAIN.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `page` | integer | No | Page number to return (0-indexed). Default is 0. |
| `sort` | string ("NAME" | "UPDATED" | "CREATED" | "OWNER" | "BEST_MATCH" | "TITLE") | No | Enum for sort criteria. |
| `limit` | integer | No | Number of results per page (1-100). Default is 10. |
| `order` | string ("ASC" | "DESC") | No | Enum for sort order. |
| `query` | string | No | Free text query to match against domain names and descriptions. |
| `state` | string ("ALL" | "PUBLISHED" | "UNPUBLISHED") | No | Enum for domain published state filter. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Search Published Portal

**Slug:** `SWAGGERHUB_SEARCH_PUBLISHED_PORTAL`

Tool to search published portal content. Use when you need to search for APIs, operations, schemas, or documents within a specific SwaggerHub portal. This endpoint does not require authentication for public content, but authentication provides access to private products within the API key's access boundary.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `q` | string | Yes | Search query string to match against portal content. |
| `page` | integer | No | The 1-based index of the page to return. If not specified, the first page is returned. |
| `size` | integer | No | The number of results to return per page. Default is 50 if not specified. |
| `portalId` | string | Yes | Portal UUID or subdomain to search within. A 404 indicates the portal does not exist or is configured to be offline. |
| `resultType` | array | No | Filter results by one or more result types. If not specified, all types are returned. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Access Control for Teams

**Slug:** `SWAGGERHUB_UPDATE_ACCESS_CONTROL_FOR_TEAMS`

Tool to update access control roles for teams on a SwaggerHub resource. Use when you need to assign or change team permissions (designer or consumer) for APIs, domains, projects, or portal products.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `orgId` | string | Yes | Organization identifier |
| `teams` | array | Yes | List of teams with their assigned roles to update access control |
| `resourceName` | string | Yes | Name of the resource to update team access for |
| `resourceType` | string ("API" | "DOMAIN" | "PROJECT" | "PORTAL_PRODUCT") | Yes | Type of the resource (API, DOMAIN, PROJECT, or PORTAL_PRODUCT) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Access Control for Users

**Slug:** `SWAGGERHUB_UPDATE_ACCESS_CONTROL_FOR_USERS`

Tool to update access control roles for users on a SwaggerHub resource. Use when you need to assign or change user permissions (owner, designer, consumer) for APIs, domains, projects, organizations, teams, or portal products.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `owner` | string | Yes | Organization identifier |
| `users` | array | Yes | List of users with their assigned roles to update access control |
| `resourceName` | string | Yes | Name of the organizational resource to update user access for |
| `resourceType` | string ("API" | "DOMAIN" | "PROJECT" | "ORGANIZATION" | "TEAM" | "PORTAL_PRODUCT") | Yes | Type of the organizational resource (API, DOMAIN, PROJECT, ORGANIZATION, TEAM, or PORTAL_PRODUCT) |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |

### Update Portal

**Slug:** `SWAGGERHUB_UPDATE_PORTAL`

Tool to update specific portal information in SwaggerHub. Use when you need to modify portal settings such as name, branding, subdomain, or other configuration options.

#### Input Parameters

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `name` | string | No | The name for this portal |
| `footer` | object | No | Footer configuration for the portal. |
| `gtmKey` | string | No | The Google Tag Manager key for this portal. Set to null to remove. |
| `offline` | boolean | No | If set to true, the portal is not visible to customers. |
| `routing` | string ("browser" | "proxy") | No | Routing strategy options. |
| `branding` | object | No | Branding configuration for the portal. |
| `portalId` | string | Yes | Portal UUID or subdomain |
| `subdomain` | string | No | Subdomain for this portal. Must be unique. |
| `landingPage` | object | No | Landing page configuration for the portal. |
| `customDomain` | string | No | Custom domain for this portal. Must be unique. If the value is explicitly set to null, the custom domain will be removed. |
| `openapiRenderer` | string ("SWAGGER_UI" | "ELEMENTS" | "TOGGLE") | No | OpenAPI renderer options. |
| `pageContentFormat` | string ("BOTH" | "HTML" | "MARKDOWN") | No | Page content format options. |
| `credentialsEnabled` | boolean | No | Indicates if credentials are enabled for the portal. |

#### Output

| Parameter | Type | Required | Description |
|-----------|------|----------|-------------|
| `data` | string | Yes | Data from the action execution |
| `error` | string | No | Error if any occurred during the execution of the action |
| `successful` | boolean | Yes | Whether or not the action execution was successful or not |
