Create optin

Opts the caller's OWN org into a beta item.

POST /v1/pricing/enablement/optin

Addresshttps://api.hanzo.ai/v1/pricing/enablement/optin
MethodPOST
Operationpost_pricing_enablement_optin
AuthAuthorization: Bearer $HANZO_API_KEY

Opts the caller's OWN org into a beta item. The org is the caller's validated one, so this can never target another org, and the registry refuses anything not in beta — so it can neither re-open an item an operator turned off nor touch one that is already generally available. Requires a signed-in caller with an org.

Request

2 fields, body application/json (required).

FieldInTypeRequiredDescription
idbodystring—ID is the item within that namespace.
kindbodystring—Kind is the item's namespace: "model", "provider" or "feature".

Response

StatusBodyMeaning
200pricing.userEnablementItemok
defaultproblem-detailsrefused

200 body — 6 fields.

FieldInTypeAlwaysDescription
canOptInbodyboolean—CanOptIn is whether POST /v1/pricing/enablement/optin would do anything here: the item is in beta and this org is not on its list yet.
effectivebodyboolean—Effective is whether the caller's org may use the item right now, which is the field to branch on: true for any ga item, for a beta this org holds, and never for an off one.
idbodystring—ID is the item within that namespace — a model id, a provider name, or a feature key.
kindbodystring—Kind is the namespace the id lives in: "model", "provider" or "feature".
optedInbodyboolean—OptedIn is whether the caller's org is on this item's beta grant list.
statebodystring—State is the item's GLOBAL availability — "off", "beta" or "ga" — which is the operator's setting and not this caller's answer.

Failure carries the platform error shape — see Errors.

Examples

hanzo pricing enablement optin
import { Configuration, PricingApi } from 'hanzoai';

const api = new PricingApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.postPricingEnablementOptin({ id: "<id>", kind: "<kind>" });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import PricingApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = PricingApi(client).post_pricing_enablement_optin(id="<id>", kind="<kind>")
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

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

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

let result = pricing_api::post_pricing_enablement_optin(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.PricingApi;

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

var result = new PricingApi(client).postPricingEnablementOptin();

The method above is the one at the current release of the document. [email protected] (npm) and [email protected] (PyPI) were generated from an earlier release, where this operation carried a different id, so it spells the method differently — regenerating the clients is what makes the two agree. SDKs →

curl -X POST https://api.hanzo.ai/v1/pricing/enablement/optin \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "id": "<id>",
       "kind": "<kind>"
     }'

MCP reaches pricing through the pricing tool, which names its 28 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": "list_pricings"
         }
       }
     }'

Pricing API · All Hanzo APIs · Interactive reference

Was this page useful?