diff --git a/incubator/api/src/main/java/org/onosproject/incubator/net/domain/IntentDomainAdminService.java b/incubator/api/src/main/java/org/onosproject/incubator/net/domain/IntentDomainAdminService.java
new file mode 100644
index 0000000..6833d38
--- /dev/null
+++ b/incubator/api/src/main/java/org/onosproject/incubator/net/domain/IntentDomainAdminService.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright 2015 Open Networking Laboratory
+ *
+ * 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.incubator.net.domain;
+
+import com.google.common.annotations.Beta;
+import org.onosproject.core.ApplicationId;
+
+/**
+ * Administrative interface for the intent domain service.
+ */
+@Beta
+public interface IntentDomainAdminService {
+
+    /**
+     * Register an application that provides intent domain service.
+     *
+     * @param applicationId application id
+     * @param provider intent domain provider
+     */
+    void registerApplication(ApplicationId applicationId, IntentDomainProvider provider);
+
+    /**
+     * Unregisters an application that provides intent domain service.
+     *
+     * @param applicationId application id
+     */
+    void unregisterApplication(ApplicationId applicationId);
+
+    /* TODO we may be able to accomplish the following through network config:
+    void createDomain(String domainId);
+    void removeDomain(String domainId);
+
+    void addInternalDeviceToDomain(IntentDomain domain, DeviceId deviceId);
+    void addPortToDomain(IntentDomain domain, ConnectPoint port);
+
+    void bindApplicationToDomain(String domain, IntentDomain implementation);
+    void unbindApplicationToDomain(String domain, IntentDomain implementation);
+    */
+}
+
