Health

SERVER

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.

Base URL
https://cloud.appwrite.io/v1

Get HTTP

Check the Appwrite HTTP server is up and responsive.

Endpoint
GET /health
Go
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://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 antivirus

Check the Appwrite Antivirus server is up and connection is successful.

Endpoint
GET /health/anti-virus
Go
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://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.

Endpoint
GET /health/cache
Go
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://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 the SSL certificate for a domain

Get the SSL certificate for a domain

Endpoint
GET /health/certificate
Go
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://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 DB

Check the Appwrite database servers are up and connection is successful.

Endpoint
GET /health/db
Go
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://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 pubsub

Check the Appwrite pub-sub servers are up and connection is successful.

Endpoint
GET /health/pubsub
Go
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://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 queue

Check the Appwrite queue messaging servers are up and connection is successful.

Endpoint
GET /health/queue
Go
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://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.GetQueue(
    )

    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
Endpoint
GET /health/queue/builds
Go
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://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
Endpoint
GET /health/queue/certificates
Go
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://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
Endpoint
GET /health/queue/databases
Go
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://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
Endpoint
GET /health/queue/deletes
Go
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://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 number of failed queue jobs

Returns the amount of failed jobs in a given queue.

  • Request
    • name string
      required

      The name of the queue

    • threshold integer

      Queue size threshold. When hit (equal or higher), endpoint returns server error. Default value is 5000.

  • Response
Endpoint
GET /health/queue/failed/{name}
Go
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://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 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
Endpoint
GET /health/queue/functions
Go
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://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
Endpoint
GET /health/queue/logs
Go
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://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
Endpoint
GET /health/queue/mails
Go
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://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
Endpoint
GET /health/queue/messaging
Go
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://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
Endpoint
GET /health/queue/migrations
Go
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://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 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
Endpoint
GET /health/queue/usage
Go
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://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 usage dump queue

Get the number of projects containing 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
Endpoint
GET /health/queue/usage-dump
Go
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://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.GetQueueUsageDump(
        health.WithGetQueueUsageDumpThreshold(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
Endpoint
GET /health/queue/webhooks
Go
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://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 storage

Check the Appwrite storage device is up and connection is successful.

Endpoint
GET /health/storage
Go
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://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)
}

Get local storage

Check the Appwrite local storage device is up and connection is successful.

Endpoint
GET /health/storage/local
Go
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://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 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.

Endpoint
GET /health/time
Go
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://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)
}