Create choose
The form the chooser page posts: state (the token the page was given), and either account (one of the accounts it offered) or install (go on to the provider's install page).
POST /v1/provider/{provider}/choose
| Address | https://api.hanzo.ai/v1/provider/{provider}/choose |
| Method | POST |
| Operation | post_provider_by_provider_choose |
| Auth | Authorization: Bearer $HANZO_API_KEY |
The form the chooser page posts: state (the token the page was given), and either account (one of the accounts it offered) or install (go on to the provider's install page). It binds the chosen account to the organization that started the connect and redirects back to the page that asked, as the callback does.
It is public and carries no principal. Its authority is the token alone: signed like the callback's state, carrying the offered accounts under its signature, and single-use, so a page answers once and only with an account it offered.
Request
1 field.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
provider | path | string | yes |
Response
The document declares no response body for this operation. It answers 200 on success and the platform error shape on failure — see Errors.
Examples
hanzo provider choose <provider>import { Configuration, ProviderApi } from 'hanzoai';
const api = new ProviderApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.postProviderByProviderChoose({ provider: 'provider' });from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import ProviderApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = ProviderApi(client).post_provider_by_provider_choose(provider='provider')cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)
resp, _, err := client.ProviderAPI.PostProviderByProviderChoose(context.Background()).Execute()
if err != nil {
return err
}use hanzo_client::apis::{configuration::Configuration, provider_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = provider_api::post_provider_by_provider_choose(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.ProviderApi;
ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));
var result = new ProviderApi(client).postProviderByProviderChoose();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/provider/<provider>/choose \
-H "Authorization: Bearer $HANZO_API_KEY"MCP reaches provider through the provider tool, which names its 41 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_connections"
}
}
}'