Delete services
Takes a name off the org's overlay: the two policies, the service and its two configs that publishing made, in that order, and the "<name>-host" role from…
DELETE /v1/network/services/{id}
| Address | https://api.hanzo.ai/v1/network/services/{id} |
| Method | DELETE |
| Operation | delete_network_services_by_id |
| Auth | Authorization: Bearer $HANZO_API_KEY |
Takes a name off the org's overlay: the two policies, the service and its two configs that publishing made, in that order, and the "<name>-host" role from each of the org's identities — that role exists only for the bind policy to select, and a role naming no service is one the identities endpoint refuses to write.
Only objects carrying this service's own names are deleted, so a policy that selects the service by attribute is left alone. An id belonging to another org — or to nothing — is 404 before any write, as for an identity.
Request
1 field.
| Field | In | Type | Required | Description |
|---|---|---|---|---|
id | path | string | yes | ID is the service id from the path. |
Response
| Status | Body | Meaning |
|---|---|---|
204 | — | no content |
default | problem-details | refused |
Failure carries the platform error shape — see Errors.
Examples
hanzo has no subcommand for this operation — the CLI serves only what cloud's live route table confirms. Use HTTP or an SDK.
import { Configuration, NetworkApi } from 'hanzoai';
const api = new NetworkApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.deleteNetworkServicesById({ id: 'id' });from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import NetworkApi
client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = NetworkApi(client).delete_network_services_by_id(id='id')cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)
resp, _, err := client.NetworkAPI.DeleteNetworkServicesById(context.Background()).Execute()
if err != nil {
return err
}use hanzo_client::apis::{configuration::Configuration, network_api};
let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();
let result = network_api::delete_network_services_by_id(&cfg, Default::default()).await?;import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.NetworkApi;
ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));
var result = new NetworkApi(client).deleteNetworkServicesById();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 DELETE https://api.hanzo.ai/v1/network/services/<id> \
-H "Authorization: Bearer $HANZO_API_KEY"MCP reaches network through the zt tool, which names its 4 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_mesh_services"
}
}
}'How is this guide?