diff --git a/components/camel-rest-openapi/pom.xml b/components/camel-rest-openapi/pom.xml
index caa0ccb..f14910a 100644
--- a/components/camel-rest-openapi/pom.xml
+++ b/components/camel-rest-openapi/pom.xml
@@ -34,7 +34,7 @@
     <description>Camel REST support using OpenApi</description>
 
     <properties>
-        <firstVersion>2.19.0</firstVersion>
+        <firstVersion>3.1.0</firstVersion>
         <label>rest,api,http</label>
     </properties>
 
diff --git a/components/camel-rest-openapi/src/main/docs/rest-openapi-component.adoc b/components/camel-rest-openapi/src/main/docs/rest-openapi-component.adoc
index 6a1fe8b..a013925 100644
--- a/components/camel-rest-openapi/src/main/docs/rest-openapi-component.adoc
+++ b/components/camel-rest-openapi/src/main/docs/rest-openapi-component.adoc
@@ -11,7 +11,7 @@
 // HEADER END
 
 The REST OpenApi* configures rest producers from
-http://swagger.io/[OpenApi] (Open API) specification document and
+https://www.openapis.org/[OpenApi] (Open API) specification document and
 delegates to a component implementing the _RestProducerFactory_
 interface. Currently known working components are:
 
@@ -26,7 +26,7 @@
 ------------------------------------------------------------
 <dependency>
     <groupId>org.apache.camel</groupId>
-    <artifactId>camel-rest-swagger</artifactId>
+    <artifactId>camel-rest-openapi</artifactId>
     <version>x.x.x</version>
     <!-- use the same version as your Camel core version -->
 </dependency>
@@ -36,18 +36,18 @@
 
 [source,java]
 -------------------------------------------------------
-rest-swagger:[specificationPath#]operationId
+rest-openapi:[specificationPath#]operationId
 -------------------------------------------------------
 
 Where `operationId` is the ID of the operation in the OpenApi
 specification, and `specificationPath` is the path to the
 specification.
 If the `specificationPath` is not specified it defaults to
-`swagger.json`. The lookup mechanism uses Camels `ResourceHelper` to
+`openapi.json`. The lookup mechanism uses Camels `ResourceHelper` to
 load the resource, which means that you can use CLASSPATH resources 
 (`classpath:my-specification.json`), files 
 (`file:/some/path.json`), the web 
-(`\http://api.example.com/swagger.json`) or reference a bean 
+(`\http://api.example.com/openapi.json`) or reference a bean 
 (`ref:nameOfBean`) or use a method of a bean 
 (`bean:nameOfBean.methodName`) to get the specification resource,
 failing that OpenApi's own resource loading support.
@@ -169,15 +169,15 @@
 |===
 | Name | Description | Default | Type
 | *camel.component.rest-openapi.base-path* | API basePath, for example /v2. Default is unset, if set overrides the value present in OpenApi specification. |  | String
-| *camel.component.rest-swagger.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
-| *camel.component.rest-swagger.component-name* | Name of the Camel component that will perform the requests. The component must be present in Camel registry and it must implement RestProducerFactory service provider interface. If not set CLASSPATH is searched for single component that implements RestProducerFactory SPI. Can be overridden in endpoint configuration. |  | String
-| *camel.component.rest-swagger.consumes* | What payload type this component capable of consuming. Could be one type, like application/json or multiple types as application/json, application/xml; q=0.5 according to the RFC7231. This equates to the value of Accept HTTP header. If set overrides any value found in the OpenApi specification. Can be overridden in endpoint configuration |  | String
-| *camel.component.rest-swagger.enabled* | Enable rest-swagger component | true | Boolean
-| *camel.component.rest-swagger.host* | Scheme hostname and port to direct the HTTP requests to in the form of \https://hostname:port. Can be configured at the endpoint, component or in the corresponding REST configuration in the Camel Context. If you give this component a name (e.g. petstore) that REST configuration is consulted first, rest-swagger next, and global configuration last. If set overrides any value found in the OpenApi specification, RestConfiguration. Can be overridden in endpoint configuration. |  | String
-| *camel.component.rest-swagger.produces* | What payload type this component is producing. For example application/json according to the RFC7231. This equates to the value of Content-Type HTTP header. If set overrides any value present in the OpenApi specification. Can be overridden in endpoint configuration. |  | String
-| *camel.component.rest-swagger.specification-uri* | Path to the OpenApi specification file. The scheme, host base path are taken from this specification, but these can be overridden with properties on the component or endpoint level. If not given the component tries to load swagger.json resource. Note that the host defined on the component and endpoint of this Component should contain the scheme, hostname and optionally the port in the URI syntax (i.e. \https://api.example.com:8080). Can be overridden in endpoint configuration. |  | URI
-| *camel.component.rest-swagger.ssl-context-parameters* | Customize TLS parameters used by the component. If not set defaults to the TLS parameters set in the Camel context. The option is a org.apache.camel.support.jsse.SSLContextParameters type. |  | String
-| *camel.component.rest-swagger.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
+| *camel.component.rest-openapi.basic-property-binding* | Whether the component should use basic property binding (Camel 2.x) or the newer property binding with additional capabilities | false | Boolean
+| *camel.component.rest-openapi.component-name* | Name of the Camel component that will perform the requests. The component must be present in Camel registry and it must implement RestProducerFactory service provider interface. If not set CLASSPATH is searched for single component that implements RestProducerFactory SPI. Can be overridden in endpoint configuration. |  | String
+| *camel.component.rest-openapi.consumes* | What payload type this component capable of consuming. Could be one type, like application/json or multiple types as application/json, application/xml; q=0.5 according to the RFC7231. This equates to the value of Accept HTTP header. If set overrides any value found in the OpenApi specification. Can be overridden in endpoint configuration |  | String
+| *camel.component.rest-openapi.enabled* | Enable rest-openapi component | true | Boolean
+| *camel.component.rest-openapi.host* | Scheme hostname and port to direct the HTTP requests to in the form of \https://hostname:port. Can be configured at the endpoint, component or in the corresponding REST configuration in the Camel Context. If you give this component a name (e.g. petstore) that REST configuration is consulted first, rest-openapi next, and global configuration last. If set overrides any value found in the OpenApi specification, RestConfiguration. Can be overridden in endpoint configuration. |  | String
+| *camel.component.rest-openapi.produces* | What payload type this component is producing. For example application/json according to the RFC7231. This equates to the value of Content-Type HTTP header. If set overrides any value present in the OpenApi specification. Can be overridden in endpoint configuration. |  | String
+| *camel.component.rest-openapi.specification-uri* | Path to the OpenApi specification file. The scheme, host base path are taken from this specification, but these can be overridden with properties on the component or endpoint level. If not given the component tries to load openapi.json resource. Note that the host defined on the component and endpoint of this Component should contain the scheme, hostname and optionally the port in the URI syntax (i.e. \https://api.example.com:8080). Can be overridden in endpoint configuration. |  | URI
+| *camel.component.rest-openapi.ssl-context-parameters* | Customize TLS parameters used by the component. If not set defaults to the TLS parameters set in the Camel context. The option is a org.apache.camel.support.jsse.SSLContextParameters type. |  | String
+| *camel.component.rest-openapi.use-global-ssl-context-parameters* | Enable usage of global SSL context parameters. | false | Boolean
 |===
 // spring-boot-auto-configure options: END
 
@@ -188,10 +188,10 @@
 the `examples` directory.
 
 For example if you wanted to use the 
-http://petstore.swagger.io/[_PetStore_] provided REST API simply
+https://petstore3.swagger.io/api/v3/[_PetStore_] provided REST API simply
 reference the specification URI and desired operation id from the
 OpenApi specification or download the specification and store it as
-`swagger.json` (in the root) of CLASSPATH that way it will be 
+`openapi.json` (in the root) of CLASSPATH that way it will be 
 automaticaly used. Let's use the xref:undertow-component.adoc[Undertow]
 component to perform all the requests and Camels excelent support for 
 Spring Boot.
@@ -219,7 +219,7 @@
 @Bean
 public Component petstore(CamelContext camelContext, UndertowComponent undertow) {
     RestOpenApiComponent petstore = new RestOpenApiComponent(camelContext);
-    petstore.setSpecificationUri("http://petstore.swagger.io/v2/swagger.json");
+    petstore.setSpecificationUri("https://petstore3.swagger.io/api/v3/openapi.json");
     petstore.setDelegate(undertow);
 
     return petstore;
@@ -232,7 +232,7 @@
 `camel.component.undertow.`. We are defining the `petstore`
 component here in order to have a named component in the Camel context
 that we can use to interact with the PetStore REST API, if this is the
-only `rest-swagger` component used we might configure it in the same
+only `rest-openapi` component used we might configure it in the same
 manner (using `application.properties`).
 
 Now in our application we can simply use the `ProducerTemplate` to
diff --git a/components/camel-rest-openapi/src/test/resources/log4j2.properties b/components/camel-rest-openapi/src/test/resources/log4j2.properties
index f399ae7..5dd6ea5 100644
--- a/components/camel-rest-openapi/src/test/resources/log4j2.properties
+++ b/components/camel-rest-openapi/src/test/resources/log4j2.properties
@@ -17,7 +17,7 @@
 
 appender.file.type = File
 appender.file.name = file
-appender.file.fileName = target/camel-rest-swagger-test.log
+appender.file.fileName = target/camel-rest-openapi-test.log
 appender.file.layout.type = PatternLayout
 appender.file.layout.pattern = %d %-5p %c{1} - %m %n
 rootLogger.level = INFO
