diff --git a/mailbox-core/src/main/java/org/briarproject/mailbox/core/server/Routing.kt b/mailbox-core/src/main/java/org/briarproject/mailbox/core/server/Routing.kt
index 1157de2d83417d1d2814c0fbec755814d43b854c..20ecdee08460628233187c39fc9244cb35b8f83d 100644
--- a/mailbox-core/src/main/java/org/briarproject/mailbox/core/server/Routing.kt
+++ b/mailbox-core/src/main/java/org/briarproject/mailbox/core/server/Routing.kt
@@ -4,9 +4,11 @@ import io.ktor.application.Application
 import io.ktor.application.ApplicationCall
 import io.ktor.application.call
 import io.ktor.auth.authenticate
+import io.ktor.auth.principal
 import io.ktor.features.BadRequestException
 import io.ktor.features.MissingRequestParameterException
 import io.ktor.http.ContentType
+import io.ktor.http.HttpStatusCode
 import io.ktor.http.HttpStatusCode.Companion.BadRequest
 import io.ktor.http.HttpStatusCode.Companion.Unauthorized
 import io.ktor.response.respond
@@ -32,9 +34,20 @@ internal fun Application.configureBasicApi(
 ) = routing {
     route(V) {
         get {
-            call.respondText("Hello world!", ContentType.Text.Plain)
+            call.respondText(
+                "Hello, I'm a Briar teapot",
+                ContentType.Text.Plain,
+                HttpStatusCode(418, "I'm a teapot")
+            )
         }
         authenticate {
+            get("/status") {
+                call.handle {
+                    if (call.principal<MailboxPrincipal>() !is MailboxPrincipal.OwnerPrincipal)
+                        throw AuthException()
+                    call.respond(HttpStatusCode.OK)
+                }
+            }
             delete {
                 call.handle {
                     wipeManager.onWipeRequest(call)
diff --git a/mailbox-core/src/test/java/org/briarproject/mailbox/core/server/StatusIntegrationTest.kt b/mailbox-core/src/test/java/org/briarproject/mailbox/core/server/StatusIntegrationTest.kt
new file mode 100644
index 0000000000000000000000000000000000000000..2439ef58a6690482d36b4ed24bd65a94e8a5b9a4
--- /dev/null
+++ b/mailbox-core/src/test/java/org/briarproject/mailbox/core/server/StatusIntegrationTest.kt
@@ -0,0 +1,54 @@
+package org.briarproject.mailbox.core.server
+
+import io.ktor.client.request.get
+import io.ktor.client.statement.HttpResponse
+import io.ktor.client.statement.readText
+import io.ktor.http.HttpStatusCode
+import kotlinx.coroutines.runBlocking
+import org.junit.jupiter.api.BeforeEach
+import org.junit.jupiter.api.Test
+import kotlin.test.assertEquals
+
+class StatusIntegrationTest : IntegrationTest() {
+
+    @BeforeEach
+    fun initDb() {
+        addOwnerToken()
+        addContact(contact1)
+        addContact(contact2)
+    }
+
+    @Test
+    fun `owner can access status`(): Unit = runBlocking {
+        val response: HttpResponse = httpClient.get("$baseUrl/status") {
+            authenticateWithToken(ownerToken)
+        }
+        assertEquals(HttpStatusCode.OK, response.status)
+        assertEquals("", response.readText())
+    }
+
+    @Test
+    fun `contact cannot access status`(): Unit = runBlocking {
+        val response: HttpResponse = httpClient.get("$baseUrl/status") {
+            authenticateWithToken(contact1.token)
+        }
+        assertEquals(HttpStatusCode.Unauthorized, response.status)
+    }
+
+    @Test
+    fun `wrong token cannot access status`(): Unit = runBlocking {
+        val response: HttpResponse = httpClient.get("$baseUrl/status") {
+            authenticateWithToken(token)
+        }
+        assertEquals(HttpStatusCode.Unauthorized, response.status)
+    }
+
+    @Test
+    fun `empty token cannot access status`(): Unit = runBlocking {
+        val response: HttpResponse = httpClient.get("$baseUrl/status") {
+            authenticateWithToken("")
+        }
+        assertEquals(HttpStatusCode.Unauthorized, response.status)
+    }
+
+}
diff --git a/mailbox-core/src/test/java/org/briarproject/mailbox/core/server/WebServerIntegrationTest.kt b/mailbox-core/src/test/java/org/briarproject/mailbox/core/server/WebServerIntegrationTest.kt
index 95dc851d1fea703529fdeb4ad69687a9a7dc936d..0d363e3a69042d8aa4879c8e719ade079da9b909 100644
--- a/mailbox-core/src/test/java/org/briarproject/mailbox/core/server/WebServerIntegrationTest.kt
+++ b/mailbox-core/src/test/java/org/briarproject/mailbox/core/server/WebServerIntegrationTest.kt
@@ -10,10 +10,10 @@ import kotlin.test.assertEquals
 class WebServerIntegrationTest : IntegrationTest() {
 
     @Test
-    fun routeRespondsWithHelloWorldString(): Unit = runBlocking {
+    fun routeRespondsWithTeapot(): Unit = runBlocking {
         val response: HttpResponse = httpClient.get("$baseUrl/")
-        assertEquals(200, response.status.value)
-        assertEquals("Hello world!", response.readText())
+        assertEquals(418, response.status.value)
+        assertEquals("Hello, I'm a Briar teapot", response.readText())
     }
 
     @Test