Get settings

Reads the caller org's configuration for one product, with every secret field MASKED — only the names of the set secrets come back, never their values, which live in KMS.

GET /v1/settings/{product}

Addresshttps://api.hanzo.ai/v1/settings/{product}
MethodGET
Operationget_settings_by_product
AuthAuthorization: Bearer $HANZO_API_KEY

Reads the caller org's configuration for one product, with every secret field MASKED — only the names of the set secrets come back, never their values, which live in KMS. A product the org has never configured is not a 404: it answers 200 with an empty config object, so the console's Settings tab always renders and merges its own display defaults on top.

Request

1 field.

FieldInTypeRequiredDescription
productpathstringyesProduct is the catalog slug, from the path.

Response

StatusBodyMeaning
200settings.Viewok
defaultproblem-detailsrefused

200 body — 5 fields.

FieldInTypeAlwaysDescription
configbodyany—Config is the product's non-secret configuration, an opaque JSON object the server stores and returns verbatim.
createdAtbodystring—CreatedAt is when this configuration was first written, RFC 3339 UTC.
productbodystring—Product is the catalog slug this configuration belongs to.
secretKeysbodystring[]—SecretKeys names the secret fields that ARE set.
updatedAtbodystring—UpdatedAt is when this configuration was last written, RFC 3339 UTC.

Failure carries the platform error shape — see Errors.

Examples

hanzo settings get <product>
import { Configuration, SettingsApi } from 'hanzoai';

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

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

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

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

let result = settings_api::get_settings_by_product(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.SettingsApi;

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

var result = new SettingsApi(client).getSettingsByProduct();
curl https://api.hanzo.ai/v1/settings/<product> \
  -H "Authorization: Bearer $HANZO_API_KEY"

MCP reaches settings through the settings tool, which names its 2 operations with its own verbs — this one among them, under a name only MCP declares. describe explains any of them:

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

Settings API · All Hanzo APIs · Interactive reference

Was this page useful?