SwaggerHub APIs API

Manage SwaggerHub API definitions and versions

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/swaggerhub-apis-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

swaggerhub-apis-api-openapi.yml Raw ↑
openapi: 3.0.1
info:
  title: SwaggerHub Registry APIs API
  description: 'The SwaggerHub Registry API provides programmatic access to all SwaggerHub resources: APIs, domains, integrations, projects, templates, and standardization rulesets. Use it to manage API versions, publish APIs, run CI/CD integrations, manage projects, and retrieve OpenAPI definitions.'
  version: 1.3.0
  contact:
    name: SmartBear SwaggerHub Support
    url: https://support.smartbear.com/swaggerhub/
  license:
    name: SmartBear License
    url: https://swagger.io/license/
  x-logo:
    url: https://kinlane-images.s3.amazonaws.com/shared/apis-json/apis-json-logo.jpg
servers:
- url: https://api.swaggerhub.com
  description: SwaggerHub Registry API
security:
- ApiKeyAuth: []
tags:
- name: APIs
  description: Manage SwaggerHub API definitions and versions
paths:
  /apis/{owner}:
    get:
      operationId: getOwnerApis
      summary: Get Owner APIs
      description: Returns a list of all API definitions owned by the specified user or organization.
      tags:
      - APIs
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
        description: Owner username or organization name
      - name: page
        in: query
        schema:
          type: integer
      - name: limit
        in: query
        schema:
          type: integer
      responses:
        '200':
          description: Owner's API list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApisJson'
  /apis/{owner}/{api}:
    get:
      operationId: getApiVersions
      summary: Get API Versions
      description: Returns all versions of the specified API.
      tags:
      - APIs
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: API version list
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ApiEntry'
    post:
      operationId: createOrUpdateApi
      summary: Create or Update API
      description: Create a new API or update an existing API definition in SwaggerHub. Pass the OpenAPI or AsyncAPI specification in the request body.
      tags:
      - APIs
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: query
        schema:
          type: string
        description: Version string (defaults to 0.0.1)
      - name: isPrivate
        in: query
        schema:
          type: boolean
      - name: force
        in: query
        schema:
          type: boolean
        description: Force update even if version is published
      requestBody:
        required: true
        content:
          application/yaml:
            schema:
              type: string
          application/json:
            schema:
              type: object
      responses:
        '200':
          description: API updated
        '201':
          description: API created
        '400':
          description: Invalid specification
        '403':
          description: Insufficient permissions
    delete:
      operationId: deleteApi
      summary: Delete API
      description: Delete all versions of the specified API.
      tags:
      - APIs
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: API deleted
        '403':
          description: Insufficient permissions
        '404':
          description: API not found
  /apis/{owner}/{api}/rename:
    post:
      operationId: renameApi
      summary: Rename API
      description: Rename an API definition within the same owner namespace.
      tags:
      - APIs
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        required: true
        schema:
          type: string
      - name: newName
        in: query
        required: true
        schema:
          type: string
      responses:
        '200':
          description: API renamed
        '400':
          description: Invalid name or name already taken
  /apis/{owner}/{api}/{version}:
    get:
      operationId: getApiDefinition
      summary: Get API Definition
      description: Returns the OpenAPI or AsyncAPI definition for a specific API version.
      tags:
      - APIs
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: API definition
          content:
            application/json:
              schema:
                type: object
            application/yaml:
              schema:
                type: string
        '404':
          description: API or version not found
    delete:
      operationId: deleteApiVersion
      summary: Delete API Version
      description: Delete a specific version of an API.
      tags:
      - APIs
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Version deleted
        '404':
          description: API version not found
  /apis/{owner}/{api}/{version}/swagger.json:
    get:
      operationId: getApiDefinitionJson
      summary: Get API Definition JSON
      description: Returns the API definition in JSON format for a specific version.
      tags:
      - APIs
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: API definition as JSON
          content:
            application/json:
              schema:
                type: object
  /apis/{owner}/{api}/{version}/swagger.yaml:
    get:
      operationId: getApiDefinitionYaml
      summary: Get API Definition YAML
      description: Returns the API definition in YAML format for a specific version.
      tags:
      - APIs
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: API definition as YAML
          content:
            application/yaml:
              schema:
                type: string
  /apis/{owner}/{api}/{version}/fork:
    post:
      operationId: forkApiVersion
      summary: Fork API Version
      description: Create a fork of a specific API version in a new owner namespace.
      tags:
      - APIs
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: path
        required: true
        schema:
          type: string
      - name: newOwner
        in: query
        schema:
          type: string
      - name: newApi
        in: query
        schema:
          type: string
      responses:
        '200':
          description: API forked
        '400':
          description: Invalid fork request
  /apis/{owner}/{api}/{version}/clone:
    post:
      operationId: cloneApiVersion
      summary: Clone API Version
      description: Create a new version by cloning an existing version.
      tags:
      - APIs
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: path
        required: true
        schema:
          type: string
      - name: newVersion
        in: query
        schema:
          type: string
      responses:
        '200':
          description: Version cloned
  /apis/{owner}/{api}/{version}/comments:
    get:
      operationId: getApiComments
      summary: Get API Comments
      description: Retrieve all comments on a specific API version.
      tags:
      - APIs
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: List of comments
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/Comment'
    post:
      operationId: addApiComment
      summary: Add API Comment
      description: Add a new review comment to a specific API version.
      tags:
      - APIs
      parameters:
      - name: owner
        in: path
        required: true
        schema:
          type: string
      - name: api
        in: path
        required: true
        schema:
          type: string
      - name: version
        in: path
        required: true
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NewComment'
      responses:
        '201':
          description: Comment created
components:
  schemas:
    ApiEntry:
      type: object
      description: Metadata for an API, domain, or template entry in the SwaggerHub registry
      properties:
        name:
          type: string
        description:
          type: string
        owner:
          type: string
        url:
          type: string
          format: uri
        specType:
          type: string
          enum:
          - API
          - DOMAIN
          - TEMPLATE
        visibility:
          type: string
          enum:
          - PUBLIC
          - PRIVATE
        tags:
          type: array
          items:
            type: string
        versions:
          type: array
          items:
            $ref: '#/components/schemas/ApiVersion'
    NewComment:
      type: object
      description: Request body for creating a new API comment
      required:
      - text
      properties:
        text:
          type: string
        position:
          type: string
    ApiVersion:
      type: object
      description: A single version of an API in the SwaggerHub registry
      properties:
        version:
          type: string
        created:
          type: string
          format: date-time
        modified:
          type: string
          format: date-time
        published:
          type: boolean
        url:
          type: string
          format: uri
    Comment:
      type: object
      description: A review comment on an API definition
      properties:
        id:
          type: string
        text:
          type: string
        author:
          type: string
        created:
          type: string
          format: date-time
        status:
          type: string
          enum:
          - OPEN
          - RESOLVED
        position:
          type: string
          description: JSON Pointer to the path element being commented on
    ApisJson:
      type: object
      description: Paginated list of API entries from a SwaggerHub search
      properties:
        offset:
          type: integer
        totalCount:
          type: integer
        apis:
          type: array
          items:
            $ref: '#/components/schemas/ApiEntry'
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: SwaggerHub API key. Obtain from My Account > API Key in SwaggerHub. Pass the key as the Authorization header value without any prefix.