Skip to main content

Update API Key (V2)

Updates a customized ACL API key. Role assignments use full replacement semantics.

PUT/v2/api-keys/{apiKeyId}
Connection Endpoint

The base URL for this API is in the following format:

https://api.cloud.zilliz.com

📘Notes

The endpoints on the control plane currently supports up to 20 requests per second per user per endpoint.

shell
export BASE_URL="https://api.cloud.zilliz.com"
Parameters
Authorizationstringheaderrequired

The authentication token should be an API key with appropriate privileges.

Example Value: Bearer {{TOKEN}}
apiKeyIdstringpathrequired

The public API key ID.

Example Value: key-xxxxxxxxxxxxxx
Request Body
namestringrequired

The API key display name. It must not be blank.

descriptionstring

The API key description.

orgRolestringrequired

The organization role assigned to the API key: Owner, Member, or Billing-Admin.

projectsarray

The project-level access list. Required when orgRole is Member.

[]projectsobject
projectIdstringrequired

The project ID.

rolestringrequired

The project role: Admin, Read-Write, or Read-Only.

allClusterboolean

Whether access covers all clusters in the project.

clusterIdsarray

The clusters the API key can access when allCluster is false.

[]clusterIdsstring
(To be added soon)
allVolumeboolean

Whether access covers all volumes in the project.

volumeIdsarray

The volumes the API key can access when allVolume is false.

[]volumeIdsstring
(To be added soon)
Replace The Complete Role Setbash
export TOKEN="YOUR_API_KEY"
export apiKeyId="key-xxxxxxxxxxxxxx"

curl --request PUT \
--url "${BASE_URL}/v2/api-keys/${apiKeyId}" \
--header "Authorization: Bearer ${TOKEN}" \
--header "Request-Timeout: 5" \
--header "Content-Type: application/json" \
-d '{
"name": "Data Pipeline Production",
"description": "Production ingestion pipeline",
"orgRole": "Member",
"projects": [
{
"projectId": "proj-xxxxxxxx",
"role": "Data Reader",
"allCluster": true,
"allVolume": true
}
]
}'
Responses

Returns a successful result or an error message.

A successful response.

codeintegerrequired

The response code.

Example Value: 0
dataobjectrequired
apiKeyIdstringrequired

The public API key ID.

namestringrequired

The API key display name.

descriptionstring

The API key description.

creatorNamestringrequired

The resolved display name of the creator.

createdBystringrequired

The creator email address or creator API key ID.

orgRolestringrequired

The organization role assigned to the API key: Owner, Member, or Billing-Admin.

projectsarrayrequired

The project-level access granted to the API key.

[]projectsobjectrequired
projectIdstringrequired

The project ID.

projectNamestring

The project display name.

rolestringrequired

The project role: Admin, Read-Write, or Read-Only.

allClusterboolean

Whether access covers all clusters in the project.

clustersarray

The clusters the API key can access.

[]clustersobject
clusterIdstringrequired

The cluster ID.

clusterNamestringrequired

The cluster display name.

allVolumeboolean

Whether access covers all volumes in the project.

volumesarray

The volumes the API key can access.

[]volumesobject
volumeIdstringrequired

The volume ID.

volumeNamestringrequired

The volume display name.

createTimestring<date-time>required

The creation time in UTC ISO 8601 format.

A failure response.

codeintegerrequired

The response code.

messagestringrequired

The error message.

Successjson
{
"code": 0,
"data": {
"apiKeyId": "key-xxxxxxxxxxxxxx",
"name": "Data Pipeline Production",
"description": "Production ingestion pipeline",
"creatorName": "Alice",
"createdBy": "alice@example.com",
"createTime": "2026-07-22T02:30:00Z",
"orgRole": "Member",
"projects": [
{
"projectId": "proj-xxxxxxxx",
"projectName": "Project xxxx",
"role": "Data Reader",
"allCluster": true,
"clusters": [],
"allVolume": true,
"volumes": []
}
]
}
}
Ctrl I