diff --git a/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/OpenstackTelemetryService.java b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/OpenstackTelemetryService.java
new file mode 100644
index 0000000..8092f1e
--- /dev/null
+++ b/apps/openstacktelemetry/api/src/main/java/org/onosproject/openstacktelemetry/api/OpenstackTelemetryService.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2018-present Open Networking Foundation
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onosproject.openstacktelemetry.api;
+
+/**
+ * Openstack telemetry service interface.
+ */
+public interface OpenstackTelemetryService {
+
+    /**
+     * Registers a new northbound telemetry service.
+     *
+     * @param telemetryService telemetry service
+     */
+    void addTelemetryService(TelemetryService telemetryService);
+
+    /**
+     * Unregisters an existing northbound telemetry service.
+     *
+     * @param telemetryService telemetry service
+     */
+    void removeTelemetryService(TelemetryService telemetryService);
+
+    /**
+     * Publishes new flow information to off-platform application through
+     * various northbound interfaces.
+     *
+     * @param flowInfo virtual flow information
+     */
+    void publish(FlowInfo flowInfo);
+}
