diff --git a/.travis.yml b/.travis.yml
new file mode 100644
index 0000000..a902a1c
--- /dev/null
+++ b/.travis.yml
@@ -0,0 +1,15 @@
+language: go
+
+go:
+  - 1.7.x
+
+before_install:
+  - sudo add-apt-repository ppa:masterminds/glide -y
+  - sudo apt-get update -q
+  - sudo apt-get install glide -y
+
+install:
+  - glide install
+
+script:
+  - go test $(glide novendor)
diff --git a/api.go b/api.go
index e31d841..3d47d52 100644
--- a/api.go
+++ b/api.go
@@ -6,7 +6,6 @@
 	"fmt"
 	"net/http"
 	"net/url"
-	"github.com/30x/apid"
 )
 
 type sucResponseDetail struct {
@@ -89,32 +88,23 @@
 		return errorResponse(reason, errorCode)
 	}
 
-	var env, tenantId string
-	{
-		db, err := apid.Data().DB();
-		switch {
-		case err != nil:
-			reason := err.Error()
-			errorCode := "SEARCH_INTERNAL_ERROR"
-			return errorResponse(reason, errorCode)
-		}
-
-		error := db.QueryRow("SELECT env, scope FROM DATA_SCOPE WHERE id = ?;", scopeuuid).Scan(&env, &tenantId)
-
-		switch {
-		case error == sql.ErrNoRows:
-			reason := "ENV Validation Failed"
-			errorCode := "ENV_VALIDATION_FAILED"
-			return errorResponse(reason, errorCode)
-		case error != nil:
-			reason := error.Error()
-			errorCode := "SEARCH_INTERNAL_ERROR"
-			return errorResponse(reason, errorCode)
-		}
-	}
-
 	db := getDB()
 
+	// DANGER: This relies on an external TABLE - DATA_SCOPE is maintained by apidApigeeSync
+	var env, tenantId string
+	error := db.QueryRow("SELECT env, scope FROM DATA_SCOPE WHERE id = ?;", scopeuuid).Scan(&env, &tenantId)
+
+	switch {
+	case error == sql.ErrNoRows:
+		reason := "ENV Validation Failed"
+		errorCode := "ENV_VALIDATION_FAILED"
+		return errorResponse(reason, errorCode)
+	case error != nil:
+		reason := error.Error()
+		errorCode := "SEARCH_INTERNAL_ERROR"
+		return errorResponse(reason, errorCode)
+	}
+
 	log.Debug("Found tenant_id='", tenantId, "' with env='", env, "' for scopeuuid='", scopeuuid,"'")
 
 	sSql := "SELECT ap.api_resources, ap.environments, c.issued_at, c.status, a.callback_url, d.username, d.id " +
