List health

Reports whether this deployment can serve object storage.

GET /v1/s3/health

Addresshttps://api.hanzo.ai/v1/s3/health
MethodGET
Operationget_s3_health
AuthAuthorization: Bearer $HANZO_API_KEY

Reports whether this deployment can serve object storage.

It is a REAL probe rather than a constant: 200 when admin credentials are present, so the store is reachable in principle, and 503 with the reason when they are not. It is deliberately NOT gated — liveness has to be probe-able without a token — so it is the one operation here that names no bucket and bills nothing.

Request

GET /v1/s3/health takes no parameters and no body — the credential is the whole request.

Response

StatusBodyMeaning
200s3.s3Healthok
503s3.s3Healthservice unavailable
defaultproblem-detailsrefused

200 body — 5 fields.

FieldInTypeAlwaysDescription
errorbodystring—Error is why the probe is degraded, in plain words.
presignbodyboolean—Presign is whether presigned upload and download URLs can be minted, which needs a PUBLIC endpoint on top of the credentials.
readybodyboolean—Ready is whether this deployment can serve object operations at all: true only when admin credentials are configured.
servicebodystring—Service names the subsystem this probe is for.
statusbodystring—Status is "ok" when the store is reachable in principle, "degraded" when it is not.

Failure carries the platform error shape — see Errors.

Examples

hanzo s3 health
import { Configuration, S3Api } from 'hanzoai';

const api = new S3Api(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getS3Health();
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import S3Api

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = S3Api(client).get_s3_health()
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.S3API.GetS3Health(context.Background()).Execute()
if err != nil {
	return err
}
use hanzo_client::apis::{configuration::Configuration, s3_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = s3_api::get_s3_health(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.S3Api;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new S3Api(client).getS3Health();
curl https://api.hanzo.ai/v1/s3/health \
  -H "Authorization: Bearer $HANZO_API_KEY"

Tool s3, op get_s3_health — POST the JSON-RPC envelope to https://api.hanzo.ai/v1/mcp.

curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "s3",
         "arguments": {
           "op": "get_s3_health",
           "input": {}
         }
       }
     }'

S3 API · All Hanzo APIs · Interactive reference

Was this page useful?