diff --git a/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/di/EntitlementsClientFactory.java b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/di/EntitlementsClientFactory.java
new file mode 100644
index 0000000000000000000000000000000000000000..4a1938530b61f5a0530be55a47b30f7d453379bb
--- /dev/null
+++ b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/di/EntitlementsClientFactory.java
@@ -0,0 +1,44 @@
+
+package org.opengroup.osdu.indexer.ibm.di;
+
+import org.opengroup.osdu.core.common.entitlements.EntitlementsAPIConfig;
+import org.opengroup.osdu.core.common.entitlements.EntitlementsFactory;
+import org.opengroup.osdu.core.common.entitlements.IEntitlementsFactory;
+import org.opengroup.osdu.core.common.http.json.HttpResponseBodyMapper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.beans.factory.config.AbstractFactoryBean;
+import org.springframework.context.annotation.Lazy;
+import org.springframework.stereotype.Component;
+import org.springframework.web.context.annotation.RequestScope;
+
+@Component
+@RequestScope
+@Lazy
+public class EntitlementsClientFactory extends AbstractFactoryBean<IEntitlementsFactory> {
+
+	@Value("${AUTHORIZE_API}")
+	private String AUTHORIZE_API;
+
+	@Value("${AUTHORIZE_API_KEY:}")
+	private String AUTHORIZE_API_KEY;
+
+	@Autowired
+	private HttpResponseBodyMapper mapper;
+
+	@Override
+	protected IEntitlementsFactory createInstance() throws Exception {
+
+		return new EntitlementsFactory(EntitlementsAPIConfig
+				.builder()
+				.rootUrl(AUTHORIZE_API)
+				.apiKey(AUTHORIZE_API_KEY)
+				.build(),
+				mapper);
+	}
+
+	@Override
+	public Class<?> getObjectType() {
+		return IEntitlementsFactory.class;
+	}
+}
\ No newline at end of file
diff --git a/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/IndexerQueueTaskBuilderIbm.java b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/IndexerQueueTaskBuilderIbm.java
index 48490a966c76462f23bf88b55e07a8c51b3c2dc9..2b4e88c68de8b4786c4d80b491ef418dfaf0acbc 100644
--- a/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/IndexerQueueTaskBuilderIbm.java
+++ b/provider/indexer-ibm/src/main/java/org/opengroup/osdu/indexer/ibm/util/IndexerQueueTaskBuilderIbm.java
@@ -3,6 +3,8 @@
  
 package org.opengroup.osdu.indexer.ibm.util;
 
+import static org.opengroup.osdu.core.common.Constants.WORKER_RELATIVE_URL;
+
 import java.util.Map;
 
 import javax.inject.Inject;
@@ -46,6 +48,12 @@ public class IndexerQueueTaskBuilderIbm extends IndexerQueueTaskBuilder {
 	public void createReIndexTask(String payload, DpsHeaders headers) {
 		createTask(payload, headers);
 	}
+	
+	//used by reindexer api
+	@Override
+	public void createWorkerTask(String payload, Long countdownMillis, DpsHeaders headers) {
+		createTask(payload, headers);
+    }
 
 	private void createTask(String payload, DpsHeaders headers) {