Replace providers

Changes a provider's settings or rotates the credentials it holds.

PUT /v1/iam/providers/{owner}/{name}

Addresshttps://api.hanzo.ai/v1/iam/providers/{owner}/{name}
MethodPUT
OperationupdateProvider
AuthAuthorization: Bearer $HANZO_API_KEY

Changes a provider's settings or rotates the credentials it holds. The change takes effect on the next sign-in through it — sessions already issued are unaffected.

A provider that is not there answers "nothing changed" rather than an error, so the call is safe to repeat.

Request

52 fields, body application/json (required).

FieldInTypeRequiredDescription
ownerpathstringyes
namepathstringyes
appIdbodystring—
bucketbodystring—
categorybodystring—
certbodystring—
clientIdbodystring—
clientId2bodystring—
clientSecretbodystring—
clientSecret2bodystring—
contentbodystring—
createdAtbodystring (date-time)—
createdTimebodystring—
customAuthUrlbodystring—
customLogobodystring—
customTokenUrlbodystring—
customUserInfoUrlbodystring—
deletedbodyboolean—
disableSslbodyboolean—
displayNamebodystring—
domainbodystring—
emailRegexbodystring—
enablePkcebodyboolean—
enableProxybodyboolean—
enableSignAuthnRequestbodyboolean—
endpointbodystring—
hostbodystring—
httpHeadersbodyobject—
httpHeaders.*bodystring—
idbodystring—
idPbodystring—
intranetEndpointbodystring—
issuerUrlbodystring—
metadatabodystring—
methodbodystring—
namebodystring—
ownerbodystring—
pathPrefixbodystring—
portbodyinteger (int64)—
providerUrlbodystring—
receiverbodystring—
regionIdbodystring—
scopesbodystring—
signNamebodystring—
sslModebodystring—
subTypebodystring—
templateCodebodystring—
titlebodystring—
typebodystring—
updatedAtbodystring (date-time)—
userMappingbodyobject—
userMapping.*bodystring—

Response

StatusBodyMeaning
200iam.mutationResultok
202Approvalheld for approval
defaultproblem-detailsrefused

200 body — 52 fields.

FieldInTypeAlwaysDescription
affectedbodyboolean—
providerbodyiam.Provider—
provider.appIdbodystring—
provider.bucketbodystring—
provider.categorybodystring—
provider.certbodystring—
provider.clientIdbodystring—
provider.clientId2bodystring—
provider.clientSecretbodystring—
provider.clientSecret2bodystring—
provider.contentbodystring—
provider.createdAtbodystring (date-time)—
provider.createdTimebodystring—
provider.customAuthUrlbodystring—
provider.customLogobodystring—
provider.customTokenUrlbodystring—
provider.customUserInfoUrlbodystring—
provider.deletedbodyboolean—
provider.disableSslbodyboolean—
provider.displayNamebodystring—
provider.domainbodystring—
provider.emailRegexbodystring—
provider.enablePkcebodyboolean—
provider.enableProxybodyboolean—
provider.enableSignAuthnRequestbodyboolean—
provider.endpointbodystring—
provider.hostbodystring—
provider.httpHeadersbodyobject—
provider.httpHeaders.*bodystring—
provider.idbodystring—
provider.idPbodystring—
provider.intranetEndpointbodystring—
provider.issuerUrlbodystring—
provider.metadatabodystring—
provider.methodbodystring—
provider.namebodystring—
provider.ownerbodystring—
provider.pathPrefixbodystring—
provider.portbodyinteger (int64)—
provider.providerUrlbodystring—
provider.receiverbodystring—
provider.regionIdbodystring—
provider.scopesbodystring—
provider.signNamebodystring—
provider.sslModebodystring—
provider.subTypebodystring—
provider.templateCodebodystring—
provider.titlebodystring—
provider.typebodystring—
provider.updatedAtbodystring (date-time)—
provider.userMappingbodyobject—
provider.userMapping.*bodystring—

Failure carries the platform error shape — see Errors.

Examples

hanzo iam providers owner set <owner> <name>
import { Configuration, IamApi } from 'hanzoai';

const api = new IamApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.updateProvider({ owner: 'owner', name: 'name', appId: "<appId>", bucket: "<bucket>" });
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import IamApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = IamApi(client).update_provider(owner='owner', name='name', app_id="<appId>", bucket="<bucket>")
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

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

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

let result = iam_api::update_provider(&cfg, Default::default()).await?;
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.IamApi;

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

var result = new IamApi(client).updateProvider();
curl -X PUT https://api.hanzo.ai/v1/iam/providers/<owner>/<name> \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "appId": "<appId>",
       "bucket": "<bucket>"
     }'

Tool iam, op updateProvider — 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": "iam",
         "arguments": {
           "op": "updateProvider",
           "input": {
             "owner": "<owner>",
             "name": "<name>",
             "appId": "<appId>",
             "bucket": "<bucket>"
           }
         }
       }
     }'

IAM API · All Hanzo APIs · Interactive reference

Was this page useful?