The Health service is designed to allow you to both validate and monitor that your Appwrite instance and all of its internal components are up and responsive.
https://<REGION>.cloud.appwrite.io/v1
Get antivirus
Check the Appwrite Antivirus server is up and connection is successful.
Response
200 application/json
GET /health/anti-virus
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetAntivirus(
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get cache
Check the Appwrite in-memory cache servers are up and connection is successful.
Response
200 application/json
GET /health/cache
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetCache(
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get DB
Check the Appwrite database servers are up and connection is successful.
Response
200 application/json
GET /health/db
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetDB(
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
GET /health
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.Get(
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get pubsub
Check the Appwrite pub-sub servers are up and connection is successful.
Response
200 application/json
GET /health/pubsub
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetPubSub(
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get the SSL certificate for a domain
Get the SSL certificate for a domain
Request
domain string string
Response
200 application/json
GET /health/certificate
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetCertificate(
health.WithGetCertificateDomain(""),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get time
Check the Appwrite server time is synced with Google remote NTP server. We use this technology to smoothly handle leap seconds with no disruptive events. The Network Time Protocol (NTP) is used by hundreds of millions of computers and devices to synchronize their clocks over the Internet. If your computer sets its own clock, it likely uses NTP.
Response
200 application/json
GET /health/time
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetTime(
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get builds queue
Get the number of builds that are waiting to be processed in the Appwrite internal queue server.
Request
threshold integer Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
Response
200 application/json
GET /health/queue/builds
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetQueueBuilds(
health.WithGetQueueBuildsThreshold(0),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get certificates queue
Get the number of certificates that are waiting to be issued against Letsencrypt in the Appwrite internal queue server.
Request
threshold integer Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
Response
200 application/json
GET /health/queue/certificates
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetQueueCertificates(
health.WithGetQueueCertificatesThreshold(0),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get databases queue
Get the number of database changes that are waiting to be processed in the Appwrite internal queue server.
Request
name string Queue name for which to check the queue size
threshold integer Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
Response
200 application/json
GET /health/queue/databases
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetQueueDatabases(
health.WithGetQueueDatabasesName("<NAME>"),
health.WithGetQueueDatabasesThreshold(0),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get deletes queue
Get the number of background destructive changes that are waiting to be processed in the Appwrite internal queue server.
Request
threshold integer Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
Response
200 application/json
GET /health/queue/deletes
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetQueueDeletes(
health.WithGetQueueDeletesThreshold(0),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get functions queue
Get the number of function executions that are waiting to be processed in the Appwrite internal queue server.
Request
threshold integer Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
Response
200 application/json
GET /health/queue/functions
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetQueueFunctions(
health.WithGetQueueFunctionsThreshold(0),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get logs queue
Get the number of logs that are waiting to be processed in the Appwrite internal queue server.
Request
threshold integer Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
Response
200 application/json
GET /health/queue/logs
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetQueueLogs(
health.WithGetQueueLogsThreshold(0),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get mails queue
Get the number of mails that are waiting to be processed in the Appwrite internal queue server.
Request
threshold integer Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
Response
200 application/json
GET /health/queue/mails
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetQueueMails(
health.WithGetQueueMailsThreshold(0),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get messaging queue
Get the number of messages that are waiting to be processed in the Appwrite internal queue server.
Request
threshold integer Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
Response
200 application/json
GET /health/queue/messaging
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetQueueMessaging(
health.WithGetQueueMessagingThreshold(0),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get migrations queue
Get the number of migrations that are waiting to be processed in the Appwrite internal queue server.
Request
threshold integer Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
Response
200 application/json
GET /health/queue/migrations
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetQueueMigrations(
health.WithGetQueueMigrationsThreshold(0),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get number of failed queue jobs
Returns the amount of failed jobs in a given queue.
Request
name string requiredThe name of the queue
threshold integer Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
Response
200 application/json
GET /health/queue/failed/{name}
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetFailedJobs(
"v1-database",
health.WithGetFailedJobsThreshold(0),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get stats resources queue
Get the number of metrics that are waiting to be processed in the Appwrite stats resources queue.
Request
threshold integer Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
Response
200 application/json
GET /health/queue/stats-resources
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetQueueStatsResources(
health.WithGetQueueStatsResourcesThreshold(0),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get stats usage queue
Get the number of metrics that are waiting to be processed in the Appwrite internal queue server.
Request
threshold integer Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
Response
200 application/json
GET /health/queue/stats-usage
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetQueueUsage(
health.WithGetQueueUsageThreshold(0),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get webhooks queue
Get the number of webhooks that are waiting to be processed in the Appwrite internal queue server.
Request
threshold integer Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.
Response
200 application/json
GET /health/queue/webhooks
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetQueueWebhooks(
health.WithGetQueueWebhooksThreshold(0),
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get local storage
Check the Appwrite local storage device is up and connection is successful.
Response
200 application/json
GET /health/storage/local
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetStorageLocal(
)
if error != nil {
panic(error)
}
fmt.Println(response)
}
Get storage
Check the Appwrite storage device is up and connection is successful.
Response
200 application/json
GET /health/storage
package main
import (
"fmt"
"github.com/appwrite/sdk-for-go/client"
"github.com/appwrite/sdk-for-go/health"
)
func main() {
client := client.NewClient()
client.SetEndpoint("https://<REGION>.cloud.appwrite.io/v1") // Your API Endpoint
client.SetProject("<YOUR_PROJECT_ID>") // Your project ID
client.SetKey("<YOUR_API_KEY>") // Your secret API key
service := health.NewHealth(client)
response, error := service.GetStorage(
)
if error != nil {
panic(error)
}
fmt.Println(response)
}