Searching SwaggerHub
Use SwaggerHub Search to find APIs and domains by name, content, status, or other attributes. Anonymous users can search among all public definitions. Logged in users can also search among the private definitions they have access to.
MY hub, organization pages and project pages also have a search bar with the search scope limited accordingly.
Important
The search is performed only among the default versions of APIs and domains.
Text search in SwaggerHub SaaS
Important
For text searching in SwaggerHub On-Premise see here.
Search terms are case-insensitive and are matched against:
YAML contents of API definitions and domains,
info.title
andinfo.description
in definitions,API and domain names,
owner names.
SwaggerHub uses full text search. Search queries work as follows:
Queries containing multiple terms such as
pet store
find definitions containing all of these terms anywhere in the definition. This is equivalent to using the boolean AND operator:pet AND store
.Each term is matched as a substring. For example,
book
will find book, eBook, bookstore, booking, and so on.Stop words and words less than 3 characters long are ignored. For example, the search string
get a report
is converted toreport
: the word "get" is ignored as a stop word, and "a" is ignored due to its length.The characters
+ - |
are stripped – both during indexing and at search time. All other characters are searchable. For example:111222
,111-222
,11+12+22
,11122|2
are considered to be the same string. Any of these search strings will find all of them.The search string
/users/{id}
will find this literal string.
Phrase search using quotation marks (such as "hotel booking") is not supported. Quotation marks do not have special meaning and are treated as regular word characters.
Parentheses ( ) do not affect the precedence in boolean expressions. Parentheses are treated as regular word characters.
Boolean operators
You can combine the search terms using boolean operators to expand or narrow down your search. These operators must be uppercase.
AND (default)
Find definitions that contain both terms anywhere.
OR
Find definitions that contain either term.
NOT
Exclude definitions that contain the term after NOT.
Examples:
order AND checkout matches definitions that contain both words.
order checkout is the same as above.
order OR checkout matches definitions that contain either word.
order NOT checkout matches definitions that contain order but not checkout.
Text Search in SwaggerHub On-Premise
Starting with On-Premise version 1.27, Enhanced search was provided.
For version 2.x however, installation allows the admin to choose whether Basic or Enhanced search should be enabled. Basic search is enabled by default and Enhanced search is only enabled on request. Text search options vary, depending on what search type is enabled. For the additional requirements for Enhanced search, click here.
Basic Search | Enhanced Search | |
Versions up to 1.26 | Yes (does not search the YAML contents of APIs and domains) | No |
Version 1.27 - 1.29 | No | Yes |
Version 2.x | Default setting | Yes (if enabled) |
Basic and Enhanced search are described below:
Filter keywords
Search queries can include the following keywords to filter the search results.
type:api
Find APIs only.
type:domain
Find domains only.
spec:openapi3.0
Find OpenAPI 3.0 definitions.
spec:swagger2.0
Find OpenAPI 2.0 definitions.
owner:name
Find APIs and domains owned by the specified user or organization. Owner names are case-sensitive.
visibility:public
Find public APIs and domains.
visibility:private
Find private definitions owned by you or shared with you. You must be logged in to use this option.
state:published
Find published definitions only.
state:unpublished
Find unpublished definitions only.
standardization:failed
Find APIs with standardization errors or warnings.
standardization:critical
Find APIs with standardization errors.
standardization:warning
Find APIs with standardization warnings.
Note for SwaggerHub On-Premise users: standardization:critical
and standardization:warning
are supported since v. 1.23.
Examples
petstore type:api owner:fehguy finds petstore APIs owned by fehguy.
owner:fehguy state:published finds fehguy’s published definitions.
type:api spec:openapi3.0 finds all OpenAPI 3.0 API definitions.
type:domain visibility:public finds all public domains.
Notes:
There must be no spaces after the prefixes:
owner:fehguy
is valid,owner: fehguy
is not.Multiple keywords with the same prefix, such as
owner:fehguy owner:kesh92
, are not supported. The last one will be used.
Sorting
Search results can be sorted to display them in a specific order. The sort options are:
best match (relevance),
update date,
creation date,
API or domain name,
API or domain title (
info.title
),owner name.
In SwaggerHub SaaS and SwaggerHub On-Premise 1.27, the default sort order is Best Match which ranks the results based on where the search terms appear in the definition. The priority is as follows:
The term appears in the definition name.
The term appears in the
info.title
.The term appears in the
info.description
.The term appears elsewhere in the YAML content.
Limitation
Search results are limited to 10 000 records.
Stop words
This information applies to SwaggerHub SaaS and SwaggerHub On-Premise 1.27.
Stop words are common words that frequently appear in the text and, therefore, would return many non-relevant results. For example, all OpenAPI definitions contain info
, title
, version
and other standard keywords, so these words themselves are not useful for search. When searching, stop words are ignored to improve search performance.
The following OpenAPI keywords are considered stop words and are not searchable:
$method, $ref, $request, $response, $statusCode, $url, additionalProperties, allOf, allowEmptyValue, allowReserved, anyOf, apiKey, array, attribute, authorizationCode, authorizationUrl, basePath, basic, bearer, bearerFormat, binary, body, boolean, byte, callbacks, clientCredentials, collectionFormat, components, consumes, contact, content, contentType, cookie, csv, date, date-time, deepObject, default, definitions, delete, deprecated, description, discriminator, double, email, encoding, enum, example, examples, exclusiveMaximum, exclusiveMinimum, explode, externalDocs, externalValue, false, float, flow, flows, form, format, formData, get, head, header, headers, host, http, https, implicit, in, info, int32, int64, integer, items, label, license, links, mapping, matrix, maximum, maxItems, maxLength, maxProperties, minimum, minItems, minLength, minProperties, multi, multipleOf, name, namespace, not, null, nullable, number, oauth2, object, oneOf, openIdConnect, openIdConnectUrl, openapi, operationId, operationRef, options, parameters, password, patch, path, pathitems, paths, pattern, pipeDelimited, pipes, post, prefix, produces, properties, propertyName, put, query, readOnly, refreshUrl, requestBodies, requestBody, required, responses, schema, scheme, schemes, scopes, security, securityDefinitions, securitySchemes, server, servers, simple, spaceDelimited, ssv, string, style, summary, swagger, tags, termsOfService, title, tokenUrl, trace, true, tsv, type, uniqueItems, url, value, variables, version, wrapped, writeOnly, xml