API definitions in SwaggerHub can be public and private. Public APIs are visible to anyone, even to those who do not have a SwaggerHub account. Private APIs are visible only to the API owner and designers and consumers (the users who were explicitly granted access to the API).
You can set the public or private status for each API version individually.
You make your API public or private when creating or importing it by selecting from the Visibility field:

You can also change the visibility status of an existing API at any time. To do this, you must be the API’s owner or a designer/consumer with access to the resource:
Open the API page in SwaggerHub.
If your API has several versions, select the version you want to make private or public:
Click
to make the version private or
to make it public.
Private APIs appear with the PRIVATE label on the SwaggerHub dashboard, in search results and on the API definition page. Note that different versions of the same API can have different visibility statuses.
![]() |
Click the image to enlarge it.
By default, a private API is visible only to the organization member who created it. To give other people and teams access to your private API, you need to add them to the API as designers or consumers. Designers have read-write access, and consumers have read-only access to an API. Note that members need a SwaggerHub account.
To add collaborators:
Open the API page in SwaggerHub.
In the top right corner, click
.
Type the user name, user email, or team name to add. Select a role for each member.
Click Save.
The specified users will get an email notification that they have been given access to an API.
Use SwaggerHub CLI to change the visibility of your APIs from the command line.
To change API visibility to Private:
swaggerhub api:update --visibility=private OWNER/API_NAME/VERSION
To change API visibility to Public:
swaggerhub api:update --visibility=public OWNER/API_NAME/VERSION