GRANSKA

Health check

GEThttps://api.granska.cloud/v1/health

Reports that the gateway is reachable. Takes no credentials.

No credentialsSpends no quota

What it tells you, and what it does not

This is the one endpoint registered before the authentication middleware, so it answers without a token and without a tenant. Point a monitor at it.

It reads nothing — no database, no configuration, no quota. A 200 therefore means the gateway process is up and routing, and says nothing about whether an analysis would succeed. If you want to know that your credentials work, call POST /v1/oauth/token; if you want to know that your tenant is licensed for something, call GET /v1/config.

Because it takes no credentials, a 401 from this path is a fault worth reporting rather than a problem with your key.

Request
curl https://api.granska.cloud/v1/health
Response
{
  "status": "OK",
  "gateway": "B2B"
}

Testing your own error handling

Add ?error= with any value and the endpoint answers 400 HEALTH_CHECK_FAILED instead of 200.

This exists so an integrator can exercise the failure path of their own client against a real response from the real gateway — the same envelope, the same headers, the same TLS — without sending a malformed request to an endpoint that would cost something. It takes no token and spends no quota, so it is safe to call from a test suite as often as you like.

It is a probe hook, not a feature: nothing else in the API behaves differently because a query parameter asked it to.

curl "https://api.granska.cloud/v1/health?error=true"
{
  "error": {
    "code": "HEALTH_CHECK_FAILED",
    "message": "Simulated health check error"
  }
}

Errors

ErrorWhen
400
HEALTH_CHECK_FAILED
The request carried ?error=, which asks the endpoint to fail.

Send it without writing a client

If your organisation already has an account, an administrator can send this call from the API tester at /admin/api-tester — the real gateway, with your own credentials.