Module org.eclipse.microprofile.openapi
Package org.eclipse.microprofile.openapi.models

## Interface OpenAPI

All Superinterfaces:
  `Constructible`, `Extensible<OpenAPI>`

    public interface OpenAPI
    extends Constructible, Extensible<OpenAPI>

OpenAPI

This is the root document object of the OpenAPI document. It contains required and optional fields.

See Also:
  OpenAPI Specification OpenAPI Object

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`OpenAPI` `addSecurityRequirement​(SecurityRequirement securityRequirement)` Adds the given security requirement to this OpenAPI instance's list of security requirements.
`OpenAPI` `addServer​(Server server)` Adds the given server to this OpenAPI instance's list of servers.
`OpenAPI` `addTag​(Tag tag)` Adds the given tag to this OpenAPI instance's list of tags.
`OpenAPI` `addWebhook​(String name, PathItem webhook)` Adds a webhook definition.
`default OpenAPI` `components​(Components components)` Sets this OpenAPI instance's components property to the given components.
`default OpenAPI` `externalDocs​(ExternalDocumentation externalDocs)` Sets this OpenAPI instance's externalDocs property to the given object.
`Components` `getComponents()` Returns the components property from an OpenAPI instance.
`ExternalDocumentation` `getExternalDocs()` Returns the externalDocs property from an OpenAPI instance.
`Info` `getInfo()` Returns the info property from an OpenAPI instance.
`String` `getOpenapi()` Returns the openapi property from an OpenAPI instance.
`Paths` `getPaths()` Returns the paths property from an OpenAPI instance.
`List<SecurityRequirement>` `getSecurity()` Returns the security property from an OpenAPI instance.
`List<Server>` `getServers()` Returns the Servers defined in the API
`List<Tag>` `getTags()` Returns the tags property from an OpenAPI instance.
`Map<String,​PathItem>` `getWebhooks()` Returns the webhooks property of this OpenAPI instance.
`default OpenAPI` `info​(Info info)` Sets this OpenAPI instance's info property to the given object.
`default OpenAPI` `openapi​(String openapi)` Sets this OpenAPI instance's openapi property to the given string.
`default OpenAPI` `paths​(Paths paths)` Sets this OpenAPI instance's paths property to the given paths.
`void` `removeSecurityRequirement​(SecurityRequirement securityRequirement)` Removes the given security requirement to this OpenAPI instance's list of security requirements.
`void` `removeServer​(Server server)` Removes the given server to this OpenAPI instance's list of servers.
`void` `removeTag​(Tag tag)` Removes the given tag to this OpenAPI instance's list of tags.
`void` `removeWebhook​(String name)` Removes a webhook definition.
`default OpenAPI` `security​(List<SecurityRequirement> security)` Sets this OpenAPI instance's security property to the given list.
`default OpenAPI` `servers​(List<Server> servers)` Sets this OpenAPI instance's servers property to the given servers.
`void` `setComponents​(Components components)` Sets this OpenAPI instance's components property to the given components.
`void` `setExternalDocs​(ExternalDocumentation externalDocs)` Sets this OpenAPI instance's externalDocs property to the given object.
`void` `setInfo​(Info info)` Sets this OpenAPI instance's info property to the given object.
`void` `setOpenapi​(String openapi)` Sets this OpenAPI instance's openapi property to the given string.
`void` `setPaths​(Paths paths)` Sets this OpenAPI instance's paths property to the given paths.
`void` `setSecurity​(List<SecurityRequirement> security)` Sets this OpenAPI instance's security property to the given list.
`void` `setServers​(List<Server> servers)` Sets this OpenAPI instance's servers property to the given servers.
`void` `setTags​(List<Tag> tags)` Sets this OpenAPI instance's tags property to the given Tags.
`void` `setWebhooks​(Map<String,​PathItem> webhooks)` Sets the webhooks property of this OpenAPI instance.
`default OpenAPI` `tags​(List<Tag> tags)` Sets this OpenAPI instance's tags property to the given tags.
`default OpenAPI` `webhooks​(Map<String,​PathItem> webhooks)` Sets the webhooks property of this OpenAPI instance.

### Methods inherited from interface org.eclipse.microprofile.openapi.models.Extensible

`addExtension, extensions, getExtensions, removeExtension, setExtensions`

### Method Detail

#### getOpenapi

    String getOpenapi()

Returns the openapi property from an OpenAPI instance.

Returns:
  the semantic version number of the OpenAPI Specification version that the OpenAPI document uses

#### setOpenapi

    void setOpenapi​(String openapi)

Sets this OpenAPI instance's openapi property to the given string.

Parameters:
  `openapi` - the semantic version number of the OpenAPI Specification version that the OpenAPI document uses

#### openapi

    default OpenAPI openapi​(String openapi)

Sets this OpenAPI instance's openapi property to the given string.

Parameters:
  `openapi` - the semantic version number of the OpenAPI Specification version that the OpenAPI document uses
Returns:
  the current OpenAPI object

#### getInfo

    Info getInfo()

Returns the info property from an OpenAPI instance.

Returns:
  metadata about the API

#### setInfo

    void setInfo​(Info info)

Sets this OpenAPI instance's info property to the given object.

Parameters:
  `info` - metadata about the API

#### info

    default OpenAPI info​(Info info)

Sets this OpenAPI instance's info property to the given object.

Parameters:
  `info` - metadata about the API
Returns:
  the current OpenAPI object

#### getExternalDocs

    ExternalDocumentation getExternalDocs()

Returns the externalDocs property from an OpenAPI instance.

Returns:
  additional external documentation

#### setExternalDocs

    void setExternalDocs​(ExternalDocumentation externalDocs)

Sets this OpenAPI instance's externalDocs property to the given object.

Parameters:
  `externalDocs` - additional external documentation.

#### externalDocs

    default OpenAPI externalDocs​(ExternalDocumentation externalDocs)

Sets this OpenAPI instance's externalDocs property to the given object.

Parameters:
  `externalDocs` - additional external documentation
Returns:
  the current OpenAPI object

#### getServers

    List<Server> getServers()

Returns the Servers defined in the API

Returns:
  a copy List (potentially immutable) of Server objects which provide connectivity information to target servers

#### setServers

    void setServers​(List<Server> servers)

Sets this OpenAPI instance's servers property to the given servers.

Parameters:
  `servers` - Server objects which provide connectivity information to target servers

#### servers

    default OpenAPI servers​(List<Server> servers)

Sets this OpenAPI instance's servers property to the given servers.

Parameters:
  `servers` - Server objects which provide connectivity information to target servers
Returns:
  the current OpenAPI object

#### addServer

    OpenAPI addServer​(Server server)

Adds the given server to this OpenAPI instance's list of servers.

Parameters:
  `server` - Server object which provides connectivity information to a target server
Returns:
  the current OpenAPI object

#### removeServer

    void removeServer​(Server server)

Removes the given server to this OpenAPI instance's list of servers.

Parameters:
  `server` - Server object which provides connectivity information to a target server

#### getSecurity

    List<SecurityRequirement> getSecurity()

Returns the security property from an OpenAPI instance.

Returns:
  a copy List (potentially immutable) containing the security mechanisms that can be used across the API

#### setSecurity

    void setSecurity​(List<SecurityRequirement> security)

Sets this OpenAPI instance's security property to the given list.

Parameters:
  `security` - which security mechanisms can be used across the API

#### security

    default OpenAPI security​(List<SecurityRequirement> security)

Sets this OpenAPI instance's security property to the given list.

Parameters:
  `security` - which security mechanisms can be used across the API
Returns:
  the current OpenAPI object

#### addSecurityRequirement

    OpenAPI addSecurityRequirement​(SecurityRequirement securityRequirement)

Adds the given security requirement to this OpenAPI instance's list of security requirements.

Parameters:
  `securityRequirement` - security mechanism which can be used across the API
Returns:
  the current OpenAPI object

#### removeSecurityRequirement

    void removeSecurityRequirement​(SecurityRequirement securityRequirement)

Removes the given security requirement to this OpenAPI instance's list of security requirements.

Parameters:
  `securityRequirement` - security mechanism which can be used across the API

#### getTags

    List<Tag> getTags()

Returns the tags property from an OpenAPI instance.

Returns:
  a copy List (potentially immutable) of tags defined in this the specification

#### setTags

    void setTags​(List<Tag> tags)

Sets this OpenAPI instance's tags property to the given Tags.

Parameters:
  `tags` - tags used by the specification with additional metadata

#### tags

    default OpenAPI tags​(List<Tag> tags)

Sets this OpenAPI instance's tags property to the given tags.

Parameters:
  `tags` - tags used by the specification with additional metadata
Returns:
  the current OpenAPI object

#### addTag

    OpenAPI addTag​(Tag tag)

Adds the given tag to this OpenAPI instance's list of tags.

Parameters:
  `tag` - a tag used by the specification with additional metadata
Returns:
  the current OpenAPI object

#### removeTag

    void removeTag​(Tag tag)

Removes the given tag to this OpenAPI instance's list of tags.

Parameters:
  `tag` - a tag used by the specification with additional metadata

#### getPaths

    Paths getPaths()

Returns the paths property from an OpenAPI instance.

Returns:
  the available paths and operations for the API

#### setPaths

    void setPaths​(Paths paths)

Sets this OpenAPI instance's paths property to the given paths.

Parameters:
  `paths` - the available paths and operations for the API

#### paths

    default OpenAPI paths​(Paths paths)

Sets this OpenAPI instance's paths property to the given paths.

Parameters:
  `paths` - the available paths and operations for the API
Returns:
  the current OpenAPI object

#### getWebhooks

    Map<String,​PathItem> getWebhooks()

Returns the webhooks property of this OpenAPI instance.

Returns:
  a copy Map (potentially immutable) of named webhook definitions
Since:
  4.0

#### setWebhooks

    void setWebhooks​(Map<String,​PathItem> webhooks)

Sets the webhooks property of this OpenAPI instance.

Parameters:
  `webhooks` - a map of named webhook definitions
Since:
  4.0

#### webhooks

    default OpenAPI webhooks​(Map<String,​PathItem> webhooks)

Sets the webhooks property of this OpenAPI instance.

Parameters:
  `webhooks` - a map of named webhook definitions
Returns:
  the current Schema instance
Since:
  4.0

#### addWebhook

    OpenAPI addWebhook​(String name,
                       PathItem webhook)

Adds a webhook definition.

Parameters:
  `name` - unique name of the webhook to add
  `webhook` - webhook definition to add
Returns:
  the current Schema instance
Since:
  4.0

#### removeWebhook

    void removeWebhook​(String name)

Removes a webhook definition.

Parameters:
  `name` - unique name of the webhook to remove
Since:
  4.0

#### getComponents

    Components getComponents()

Returns the components property from an OpenAPI instance.

Returns:
  schemas used in the specification

#### setComponents

    void setComponents​(Components components)

Sets this OpenAPI instance's components property to the given components.

Parameters:
  `components` - a set of reusable objects used in the API specification

#### components

    default OpenAPI components​(Components components)

Sets this OpenAPI instance's components property to the given components.

Parameters:
  `components` - a set of reusable objects used in the API specification
Returns:
  the current OpenAPI object