diff --git a/notification-core/pom.xml b/notification-core/pom.xml
index cfd2725b551ff023cc439fbbd2a0685a1de80617..d135c3adefd3d460801b7e8659ae3a2f80c56b00 100644
--- a/notification-core/pom.xml
+++ b/notification-core/pom.xml
@@ -35,7 +35,6 @@
         <java.version>8</java.version>
         <maven.compiler.target>${java.version}</maven.compiler.target>
         <maven.compiler.source>${java.version}</maven.compiler.source>
-        <springfox-version>2.7.0</springfox-version>
         <netty.version>4.1.65.Final</netty.version>
         <undertow.version>2.1.7.Final</undertow.version>
     </properties>
@@ -165,25 +164,7 @@
             <version>2.8.5</version>
         </dependency>
 
-        <!-- swagger dependencies -->
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger2</artifactId>
-            <version>${springfox-version}</version>
-            <exclusions>
-                <exclusion>
-                    <groupId>com.google.guava</groupId>
-                    <artifactId>guava</artifactId>
-                </exclusion>
-            </exclusions>
-        </dependency>
-        <dependency>
-            <groupId>io.springfox</groupId>
-            <artifactId>springfox-swagger-ui</artifactId>
-            <version>${springfox-version}</version>
-        </dependency>
-
-        <dependency>
+         <dependency>
             <groupId>org.powermock</groupId>
             <artifactId>powermock-api-mockito2</artifactId>
             <version>2.0.2</version>
diff --git a/notification-core/src/main/java/org/opengroup/osdu/notification/swagger/SpringfoxSwaggerHostResolver.java b/notification-core/src/main/java/org/opengroup/osdu/notification/swagger/SpringfoxSwaggerHostResolver.java
new file mode 100644
index 0000000000000000000000000000000000000000..28a63a922ce37928977d02b8c26e8324a0fe08e7
--- /dev/null
+++ b/notification-core/src/main/java/org/opengroup/osdu/notification/swagger/SpringfoxSwaggerHostResolver.java
@@ -0,0 +1,35 @@
+package org.opengroup.osdu.notification.swagger;
+
+import io.swagger.v3.oas.models.OpenAPI;
+import io.swagger.v3.oas.models.servers.Server;
+import org.springframework.core.Ordered;
+import org.springframework.core.annotation.Order;
+import org.springframework.stereotype.Component;
+import springfox.documentation.oas.web.OpenApiTransformationContext;
+import springfox.documentation.oas.web.WebMvcOpenApiTransformationFilter;
+import springfox.documentation.spi.DocumentationType;
+
+import javax.servlet.http.HttpServletRequest;
+
+@Component
+@Order(Ordered.LOWEST_PRECEDENCE)
+public class SpringfoxSwaggerHostResolver implements WebMvcOpenApiTransformationFilter {
+
+    @Override
+    public boolean supports(DocumentationType delimiter) {
+        return delimiter == DocumentationType.OAS_30;
+    }
+
+    @Override
+    public OpenAPI transform(OpenApiTransformationContext<HttpServletRequest> context) {
+        OpenAPI swagger = context.getSpecification();
+
+        Server server = swagger.getServers().get(0);
+        if (server.getUrl().contains(":443")) {
+            // via the gateway
+            server.setUrl(server.getUrl().replace(":443",""));
+        }
+
+        return swagger;
+    }
+}
\ No newline at end of file
diff --git a/notification-core/src/main/java/org/opengroup/osdu/notification/swagger/SwaggerDocumentationConfig.java b/notification-core/src/main/java/org/opengroup/osdu/notification/swagger/SwaggerDocumentationConfig.java
index 2aea7a909d3786007ab3c033d460b81f407a63db..ef0645c9663802605c4d0203c9f30233b46a8f56 100644
--- a/notification-core/src/main/java/org/opengroup/osdu/notification/swagger/SwaggerDocumentationConfig.java
+++ b/notification-core/src/main/java/org/opengroup/osdu/notification/swagger/SwaggerDocumentationConfig.java
@@ -3,43 +3,47 @@ package org.opengroup.osdu.notification.swagger;
 import org.opengroup.osdu.core.common.model.http.DpsHeaders;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
-import springfox.documentation.builders.ParameterBuilder;
+
 import springfox.documentation.builders.PathSelectors;
 import springfox.documentation.builders.RequestHandlerSelectors;
-import springfox.documentation.schema.ModelRef;
+import springfox.documentation.builders.RequestParameterBuilder;
+import springfox.documentation.oas.annotations.EnableOpenApi;
+
 import springfox.documentation.service.ApiKey;
 import springfox.documentation.service.AuthorizationScope;
-import springfox.documentation.service.Parameter;
+
+import springfox.documentation.service.ParameterType;
+import springfox.documentation.service.RequestParameter;
 import springfox.documentation.service.SecurityReference;
 import springfox.documentation.spi.DocumentationType;
 import springfox.documentation.spi.service.contexts.SecurityContext;
 import springfox.documentation.spring.web.plugins.Docket;
-import springfox.documentation.swagger2.annotations.EnableSwagger2;
+
 
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
 @Configuration
-@EnableSwagger2
+@EnableOpenApi
 public class SwaggerDocumentationConfig {
     public static final String AUTHORIZATION_HEADER = "Authorization";
     public static final String DEFAULT_INCLUDE_PATTERN = "/.*";
 
     @Bean
     public Docket api() {
-        ParameterBuilder builder = new ParameterBuilder();
-        List<Parameter> parameters = new ArrayList<>();
+    	RequestParameterBuilder builder = new RequestParameterBuilder();
+    	List<RequestParameter> parameters = new ArrayList<>();
+
         builder.name(DpsHeaders.DATA_PARTITION_ID)
                 .description("tenant")
-                .defaultValue("common")
-                .modelRef(new ModelRef("string"))
-                .parameterType("header")
+                .in(ParameterType.HEADER)
                 .required(true)
                 .build();
         parameters.add(builder.build());
-        return new Docket(DocumentationType.SWAGGER_2)
-                .globalOperationParameters(parameters)
+        return new Docket(DocumentationType.OAS_30)
+            	.globalRequestParameters(parameters)
+
                 .select()
                 .apis(RequestHandlerSelectors.basePackage("org.opengroup.osdu.notification.api"))
                 .build()
@@ -48,13 +52,13 @@ public class SwaggerDocumentationConfig {
     }
 
     private ApiKey apiKey() {
-        return new ApiKey("JWT", AUTHORIZATION_HEADER, "header");
+   	 return new ApiKey(AUTHORIZATION_HEADER, AUTHORIZATION_HEADER, "header");
     }
 
     private SecurityContext securityContext() {
         return SecurityContext.builder()
                 .securityReferences(defaultAuth())
-                .forPaths(PathSelectors.regex(DEFAULT_INCLUDE_PATTERN))
+                .operationSelector(o -> PathSelectors.regex(DEFAULT_INCLUDE_PATTERN).test(o.requestMappingPattern()))
                 .build();
     }
 
@@ -64,6 +68,6 @@ public class SwaggerDocumentationConfig {
         AuthorizationScope[] authorizationScopes =
                 new AuthorizationScope[]{authorizationScope};
         return Collections.singletonList(
-                new SecurityReference("JWT", authorizationScopes));
+        		 new SecurityReference(AUTHORIZATION_HEADER, authorizationScopes));
     }
 }
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 195d6e8a179a27e37a07369eaace5e871e6bfb89..5fc068cd1f0e1cf46ff4994046e0090cd59df210 100644
--- a/pom.xml
+++ b/pom.xml
@@ -27,6 +27,7 @@
 		<maven.compiler.source>${java.version}</maven.compiler.source>
 		<os-core-common.version>0.13.0-rc4</os-core-common.version>
 		<log4j2.version>2.17.0</log4j2.version>
+		<springfox.version>3.0.0</springfox.version>		
 	</properties>
 
 	<licenses>
@@ -93,6 +94,39 @@
 			<version>1.18.8</version>
 			<scope>provided</scope>
 		</dependency>
+	<!-- swagger dependency -->
+	<dependency>
+		<groupId>io.springfox</groupId>
+		<artifactId>springfox-boot-starter</artifactId>
+		<version>${springfox.version}</version>
+		<exclusions>
+			<exclusion>
+				<groupId>org.springframework.plugin</groupId>
+				<artifactId>spring-plugin-core</artifactId>
+			</exclusion>
+			<exclusion>
+				<groupId>org.springframework.plugin</groupId>
+				<artifactId>spring-plugin-metadata</artifactId>
+			</exclusion>
+		</exclusions>
+	</dependency>
+	<dependency>
+		<groupId>org.springframework.plugin</groupId>
+		<artifactId>spring-plugin-core</artifactId>
+		<version>2.0.0.RELEASE</version>
+	</dependency>
+	<dependency>
+		<groupId>org.springframework.plugin</groupId>
+		<artifactId>spring-plugin-metadata</artifactId>
+		<version>2.0.0.RELEASE</version>
+		<exclusions>
+			<exclusion>
+				<groupId>org.springframework.plugin</groupId>
+				<artifactId>spring-plugin-core</artifactId>
+			</exclusion>
+		</exclusions>
+	</dependency>
+    	
 	</dependencies>
 
 	<modules>