Overview
This API is used to query the information of a specified tenant in a specified cluster and obtain the list of all read-only replicas or read-only columnstore replicas under the tenant, including replica status, specifications, and other details.
API details
Constraints
The caller must have an AccessKey for accessing the multi-cloud API. For information about how to obtain the AccessKey ID and AccessKey Secret, see Manage AccessKeys.
Request path
GET /api/v2/instances/{instanceId}/tenants/{tenantId}
Request parameters
Path
Name |
Type |
Required |
Description |
Example value |
|---|---|---|---|---|
| instanceId | String | Yes | OceanBase Cloud instance ID. | ob317v4uif**** |
| tenantId | String | Yes | Tenant ID. | ob2mr3oae0**** |
Query
Name |
Type |
Required |
Description |
Example value |
|---|---|---|---|---|
| requestId | String | Yes | Request ID used for tracking. | dc302d76-66b5-48d8-ab53-a035******* |
Response parameters
Name |
Type |
Description |
Example value |
|---|---|---|---|
| success | Boolean | Success | true |
| errorCode | String | Error Code | INVALID_PARAMETER |
| errorMessage | String | Error Message | Invalid parameter |
| data | Object | Business Data (object) | None |
| cost | Number | Time Consumed | 1.0 |
| server | String | Server address, typically the IP address of an OBServer node. | 10.0.0.10 |
| requestId | String | Request ID | d04eabba**** |
| totalCount | Number | Total Records. | 100.0 |
| extra | Object | Extended information. | {} |
data object fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| tenantId | String | Tenant ID | t4louaeei**** |
| ocpTenantId | Integer | Internal tenant identifier of OCP. | xxxxxx |
| tenantName | String | Tenant Name | xxxxxx |
| managementMode | String | Management mode: DBaaS or MAAS | DBAAS |
| gmtCreate | String | Created At | 2026-02-25 15:40:43+00:00 |
| createTime | String | Creation Time (UTC) | 2026-02-25 15:40:43+00:00 |
| tenantMode | String | Tenant mode, such as MySQL or Oracle. | xxxxxx |
| primaryRegion | String | Primary Region | cn-hangzhou |
| primaryZone | String | Primary Zone | cn-hangzhou-i |
| status | String | Current Status of the Task or Resource | ONLINE |
| cpu | Integer | Number of processor cores or specifications. | 4 |
| mem | Integer | Total Memory GB | 16 |
| diskSize | Integer | Disk Size | 200 |
| unitCpu | Integer | Processor specification of the unit. | 2 |
| unitMem | Integer | Memory specification of the unit. | 8 |
| unitNum | Integer | Number of units. | 1 |
| unitDiskSize | Integer | Unit Disk Size | 200 |
| vpcId | String | VPC identifier. | vpc-xxxx**** |
| deployType | String | Deployment Type | multiple |
| description | String | Description | Tenant for Business Transactions |
| tenantConnections | Array | Tenant Connection Information | [{'addre**** |
| tenantZones | Array | zone information | [{'repli**** |
| tenantResource | Object | Tenant Resource Specification Information | None |
| tenantResource.cpu | Object | None | None |
| tenantResource.memory | Object | None | None |
| tenantResource.disk | Object | None | None |
| tenantResource.unitNum | Integer | Number of units. | 1 |
| enableBinlogService | Boolean | Whether to enable the Binlog service | true |
| readonlyConnectionAddable | String | Whether a read-only address can be created. Valid values: ADDABLE: can be created; DISABLED: cannot be created; INVISIBLE: not displayed. | ADDABLE |
| readwriteConnectionAddable | String | Whether a read/write splitting address can be created. Valid values: ADDABLE: can be created; DISABLED: cannot be created; INVISIBLE: not displayed. | ADDABLE |
| timeZone | String | Tenant-set timezone | +08:00 |
| charset | String | Character set of the tenant | utf8mb4 |
| collation | String | The collation of the tenant. | utf8mb4_general_ci |
| lowerCaseTableNamesParam | Integer | Table names are case-sensitive in the tenant. | 1 |
| parameterTemplate | String | Parameter Template | oltp |
| tagList | Array | Tenant Tag | [{'tagKey': 'env', 'tagValue': 'prod'}] |
| tenantCompatibilityMode | String | Tenant compatibility mode: TP cluster, return MySQL/Oracle KV cluster, return HBase/Table | xxxxxx |
| dataMergeTime | String | Tenant major compaction time (available only in OceanBase Database V4.x clusters) | 02:00 |
| enableProxyPublicLink | Boolean | Whether to enable public access | false |
| enableProxyPeeringLink | Boolean | Whether to enable peering address | false |
| odpDefaultVersion | String | Set the tenant creation address to the default odpVersion. | 4.2.1 |
| enableProxyService | Boolean | Whether to enable the proxy service | true |
| globalAddressAddable | String | Whether a global address can be created. Valid values: ADDABLE: can be created; DISABLED: cannot be created; INVISIBLE: not displayed. | ADDABLE |
| enableStandbyReadWriteSplit | String | Read/Write Splitting Switch Status of Primary and Standby Databases | ENABLED |
| instanceZoneReplicas | Array | List of Zone Replicas | [{'copyI**** |
| zones | Array | List of zones, separated by commas | None |
| tenantMaxConnections | Integer | Maximum Number of Tenant Connections | xxxxxx |
| ragCluster | Object | RAG cluster information. | None |
| ragCluster.gmtCreate | String | Created At | 2026-02-25 15:40:43+00:00 |
| ragCluster.gmtModified | String | Modified At | 2026-02-26 10:40:43+00:00 |
| ragCluster.ragClusterId | String | RAG Cluster ID | obcluster-***** |
| ragCluster.ragClusterArn | String | RAG Cluster ARN | acs:oceanbase:cn-hangzhou:200006001999:rag/rag-123456 |
| ragCluster.instanceId | String | OceanBase cluster ID | obcluster-***** |
| ragCluster.tenantId | String | Tenant ID | t4louaeei**** |
| ragCluster.region | String | This parameter is required for some object storage vendors, such as S3. | ap-guangzhou |
| ragCluster.zone | String | Availability zone. | cn-hangzhou-i |
| ragCluster.version | String | OceanBase version. | 2.2.52 |
| ragCluster.cloudProvider | String | Cloud vendor of the resource or data source | xxxxxx |
| ragCluster.status | String | Current Status of the Task or Resource | ONLINE |
| ragCluster.resourceAccount | String | Resource Account | 3 |
| ragCluster.uid | String | User ID. | 20000600**** |
| enableRag | Boolean | Whether to enable RAG | false |
| iops | Integer | IOPS. | 1000 |
| aiFunctionStatus | String | AI Feature Status | ENABLED |
| privateLinkExisted | Boolean | Whether a private link exists | true |
| tenantCompatibilityControl | String | Tenant compatibility control configuration. | xxxxxx |
| unitLogDisk | Integer | The unit log disk specification. | 100 |
| directConnectionAddable | String | Whether a direct connection address can be created. Valid values: ADDABLE: can be created; DISABLED: cannot be created; INVISIBLE: not displayed. | ADDABLE |
| directConnectionAddableReasonType | String | Reasons why a direct connection address cannot be created. INSTANCE_LEVEL: instance-level reason; TENANT_LEVEL: tenant-level reason. null: empty when available. | INSTANCE_LEVEL |
| instanceType | String | Instance Type | DEDICATE**** |
| tenantType | String | Tenant type: TP, KV, and AP editions are categorized by tenant; non-ultimate editions are categorized by instance type. | xxxxxx |
| odpAddressStatus | String | ODP connection readiness status of the tenant (tenant-level only). Valid values: ONLINE and PENDING_CREATE. Semantics: Indicates whether the tenant currently has at least one available primary address. This is used by the frontend to determine whether the primary address, private network connection, peering connection, or public network connection card is still in the "Preparing" state, preventing users from repeatedly clicking Create when the tenant is already online but the first batch of primary addresses is still being created. Determination rules:
Unlike the scope for allowinglist issuance (cluster-level |
ONLINE |
data.instanceZoneReplicas[] Element Fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| logicalZone | String | Logical Zone | ap-beijing-3-ro-z0 |
| replicaType | String | Replica type, for example, FULL, READONLY, or LOGONLY. | FULL |
| zoneRegionName | String | The name of the region where the replica is located. | test-name |
| zoneLogicalId | Integer | Logical zone ID where the replica is located. | xxxxxx |
| zoneId | String | Availability zone ID. | cn-hangz**** |
| status | String | Current Status of the Task or Resource | ONLINE |
| nodeNum | Integer | Number of Nodes | 3 |
| readonlyInstanceId | String | Read-only Instance ID | obcluster-*****-ro |
| replicaResource | Object | Replica Resource Specification Information | None |
| replicaResource.cpu | Object | Number of processor cores or specifications. | None |
| replicaResource.cpu.totalCpu | Number | Total number of CPU cores. | 4.0 |
| replicaResource.cpu.usedCpu | Number | Number of CPU cores used. | 4.0 |
| replicaResource.cpu.originalTotalCpu | Number | Total number of CPU cores before the change. | 4.0 |
| replicaResource.cpu.unitCpu | Number | Processor specification of the unit. | 2.0 |
| replicaResource.memory | Object | Memory Information in Resource Specifications | None |
| replicaResource.memory.totalMemory | Number | Total memory. | 16.0 |
| replicaResource.memory.usedMemory | Number | Used memory. | 16.0 |
| replicaResource.memory.originalTotalMemory | Number | Total memory before the change. | 16.0 |
| replicaResource.memory.unitMemory | Number | Unit Memory Size (GB) | 8.0 |
| replicaResource.memory.hostActualMemory | Number | The actual memory size of the host, in GiB. | 16.0 |
| replicaResource.memory.systemMemory | Number | The memory occupied by the host system of the Ultimate Edition, in GiB. = hostActualMemory - totalMemory | 16.0 |
| replicaResource.memory.originalHostActualMemory | Number | The actual memory size of the host corresponding to the original specification, in GiB. | 16.0 |
| replicaResource.diskSize | Object | Disk Size | None |
| replicaResource.diskSize.totalDiskSize | Number | Total disk capacity. | 200.0 |
| replicaResource.diskSize.usedDiskSize | Number | Used disk capacity. | 200.0 |
| replicaResource.diskSize.originalTotalDiskSize | Number | Total disk capacity before the change. | 200.0 |
| replicaResource.diskSize.totalDataSize | Number | Total data volume. | 200.0 |
| replicaResource.diskSize.unitDiskSize | Number | Unit Disk Size | 200.0 |
| replicaResource.diskSize.availableDiskSize | Number | The actual available storage size of the user (unit: GB). Formula: getAvailableDiskSize(unitDiskSize, nodeCount, obVersion, shareStorageCluster) | 200.0 |
| readOnlyReplicaType | Object | None | None |
data.tagList[] Element Fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| tagKey | String | Tag Key | env |
| tagValue | String | Tag Value | prod |
data.tenantConnections[] Element Fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| tenantId | String | Tenant ID | t4louaeei**** |
| vpcId | String | VPC identifier. | vpc-xxxx**** |
| userVpcOwnerId | String | The account identifier of the user's VPC. | 20000600**** |
| vSwitchId | String | Switch ID. | vsw-xxxx**** |
| connectionZones | Array | Zone of the Connection | ['cn-hangzhou-i'] |
| connectionLogicalZones | Array | List of logical zones associated with the connection address. | ['cn-hangzhou-i'] |
| connectionReplicaType | String | The replica type accessed via the connection address. | FULL |
| tenantEndpointId | String | Multi-tenant v5 Supplemental TenantEndpoint Id | te-xxxxx**** |
| addressId | String | Multi-cloud VIP Service Group Name | rs-private-internet-***** |
| addressStatus | String | Connection Status | ONLINE |
| serviceType | String | Address type | PRIVATE |
| addressType | String | Address type: MASTER, READONLY | MASTER |
| networkType | String | Network Type | INTRANET |
| role | String | Connection type: READWRITE or READONLY. In some cases, the primary address also needs to be distinguished by read/write type. The primary address of the standby database is read-only. | READWRITE |
| userNameFormat | String | Username format when using this address: one-part, two-part, three-part | TWO_PART |
| useSSL | Boolean | Whether to enable SSL | false |
| proxyClusterInfo | Object | ODP Proxy Cluster Information Associated with Tenant Connection | None |
| proxyClusterInfo.proxyClusterId | String | The ID of the ODP proxy cluster. | proxy-12**** |
| proxyClusterInfo.proxyMode | String | ODP proxy mode. | DEDICATED |
| proxyClusterInfo.zone | String | Availability zone. | cn-hangzhou-i |
| proxyClusterInfo.unitSpec | String | Unit specifications. | 2C4G |
| proxyClusterInfo.unitNum | Number | Number of units. | 1.0 |
| proxyClusterInfo.sharedUnitNumLimit | Integer | Maximum Number of Units for the Proxy Service in K8S Shared Mode | 3 |
| proxyClusterInfo.exclusiveUnitNumLimit | Integer | Maximum Number of Units for the K8S Exclusive Mode Proxy Service | 3 |
| proxyClusterInfo.status | String | Current Status of the Task or Resource | ONLINE |
| proxyClusterInfo.proxyServiceVersion | String | Architecture Version | 4.2.1.0 |
| proxyClusterInfo.proxyVersion | String | Proxy Version | 4.2.1.0 |
| proxyClusterInfo.createTime | String | Creation Time (UTC) | 2026-02-25 15:40:43+00:00 |
| proxyClusterInfo.expireTime | String | Expiration time. | 2020-12-23 04:14:48+00:00 |
| proxyClusterInfo.deployMode | String | Data Replica Mode (n/n-n/n-n-n) | 1-1-1 |
| proxyClusterInfo.maxUnitNum | Number | Maximum Number of Serverless ODP Units (from K8s ODPClusterSpec.maxUnitNum) | 3.0 |
| proxyClusterInfo.slaveZone | String | Standby Zone (Added in ODP Commercial Edition, returned only in primary-standby deployments across two or three zones) | cn-hangzhou-i |
| proxyClusterInfo.nodeDistribution | String | Node Distribution (New in ODP commercial edition, replacing deployMode) | cn-hangzhou-i:1,cn-hangzhou-j:1 |
| proxyClusterInfo.nodeCpu | Number | Node Specification (New in ODP Commercial Edition, replaces unitSpec * unitNum) | 4.0 |
| proxyClusterInfo.nodeNum | Integer | Number of Nodes (Added for ODP Commercial Edition) | 3 |
| proxyClusterInfo.deploymentArchitecture | String | Deployment scheme (added for commercial ODP). For details, see {@link com.oceanbase.cloud.infra.common.enums.ProxyDeploymentArchitecture}. Non-commercial ODP clusters are displayed as SINGLE_AZ_DEPLOYMENT/DUAL_AZ_DEPLOYMENT/MULTI_AZ_DEPLOYMENT. | SINGLE_ZONE |
| proxyClusterInfo.proxyServerIds | Array | List of ODP proxy node IDs. | ['resour**** |
| odpVersion | String | ODP version. | 4.2.1 |
| readStrategyConfigResponse | Object | Read Traffic Policy Configuration for Tenant Connection Addresses | None |
| readStrategyConfigResponse.odpVersion | String | ODP version. | 4.2.1 |
| readStrategyConfigResponse.trafficStrategy | String | Traffic Policy | ZONE_FIRST |
| readStrategyConfigResponse.replicaParams | Array | Select Replica | None |
| readStrategyConfigResponse.disasterRecoveryReplicaParams | Array | Disaster Recovery Replica | None |
| readStrategyConfigResponse.balancedStrategy | String | Balancing Strategy | BALANCED |
| readStrategyConfigResponse.disasterRecoveryStrategy | String | Disaster recovery strategy. Specifies to automatically query the primary replica when the secondary replica is unavailable. | PRIMARY_FIRST |
| addressMasterZoneId | String | Primary Zone of Address | cn-hangz**** |
| loadBalanceType | String | Load balancing type, which is required only for Alibaba Cloud and distinguishes between NLB and CLB. | NLB |
| internetAddress | String | Public IP Address | 8.8.8.8 |
| internetPort | Integer | Public Port | 2881 |
| internetDomain | String | Public IP Address | pay-core-public.oceanbase.example.com |
| internetAddressStatus | String | Public IP Status | ONLINE |
| internetMaxConnectionNum | Integer | Maximum Number of Public Network Connections | 10000 |
| internetMaxConnectionNumLimit | Integer | Maximum Number of Public Network Connections Limit | 20000 |
| internetRpcPort | Integer | Public RPC Port | 2882 |
| internetProxyClusterId | String | Public Proxy Cluster ID | proxy-12**** |
| internetLoadBalanceType | String | Public IP Load Balancing Type | NLB |
| intranetAddress | String | Private IP Address | 10.0.0.10 |
| intranetPort | Integer | Private Network Port | 2881 |
| intranetDomain | String | Private IP Address | pay-core-private.oceanbase.example.com |
| intranetAddressStatus | String | Private Network Address Status | ONLINE |
| maxConnectionNum | Integer | Maximum Private Network Connections | 10000 |
| maxConnectionNumLimit | Integer | Maximum Private Network Connections Modified | 20000 |
| intranetRpcPort | Integer | Private RPC Port | 2882 |
| enableRPc | Boolean | Whether to enable RPC for direct load | true |
| disableRpcReason | String | Reasons for Disabling RPC | ODP proxy is not ready |
| intranetAddressMasterZoneId | String | Primary Zone ID | cn-hangz**** |
| intranetAddressSlaveZoneId | String | Standby Zone ID | cn-hangz**** |
| deleteSingleTunnelAddress | Boolean | Can the Alibaba Cloud VPC Primary Address Be Deleted? | true |
| intranetProxyClusterId | String | Private network proxy cluster ID | proxy-12**** |
| forceMigratedObproxyIntranetDeleteInternet | Boolean | If the primary address's private network exists on the public network, delete the public network when deleting the private network. | true |
| intranetLoadBalanceType | String | Private IP Address Load Balancing Type | NLB |
| privateLinkList | Array | Private Link List Information | [{'endpointId': 'ep-xxxxxx', 'status': 'CONNECTED'}] |
| intranetPeeringAddress | String | Peering Address | 10.1.0.10 |
| intranetPeeringPort | Integer | Peering Address Port | 2881 |
| intranetPeeringDomain | String | Peering Address Domain Name | pay-core-peering.oceanbase.example.com |
| intranetPeeringAddressStatus | String | Peering Address Status | ONLINE |
| intranetPeeringMaxConnectionNum | Integer | Maximum Number of Peering Connections | 10000 |
| peeringDstVpcId | String | Peer VPC ID | vpc-peer**** |
| peeringDstCidrList | String | Peer Address CIDR Block | 10.1.0.0**** |
| peeringId | String | The ID of the peer connection. | pcx-xxxx**** |
| intranetPeeringProxyClusterId | String | Peering Private IP Address Proxy Cluster ID | proxy-12**** |
| intranetRagPort | Integer | Private Rag Port | 8080 |
| internetRagPort | Integer | Public Rag Port | 8080 |
| internetRagAddress | String | Public Rag Address | pay-core-rag-public.oceanbase.example.com |
| enableRagHttp | Boolean | Whether to enable the RAG HTTP port | false |
| isVirtualServerGroup | Boolean | Virtual Server Group/Primary-Replica Server Group (One Party Migrates In) | false |
| isMigrated | Integer | Whether the cluster addresses are migrated by one party | 0 |
| userFormatConnStatus | String | Status of Single-Link Connection | ONLINE |
| userFormatConnUnsupportedReason | String | Reasons why single-segment access cannot be enabled | 2881 |
data.tenantConnections[].connectionLogicalZones[] Element Fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| data.tenantConnections[].connectionLogicalZones[] | String | The list of logical zones associated with the connection address. | "cn-hangzhou-i" |
data.tenantConnections[].connectionZones[] Element Fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| data.tenantConnections[].connectionZones[] | String | The zone of the connection. | "cn-hangzhou-i" |
data.tenantConnections[].privateLinkList[] Element Fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| privateLinkStatus | String | Private Link Status | ONLINE |
| privateLinkServiceId | String | Private Link Service Endpoint ID | resource**** |
| privateLinkEndpointId | String | Private Link Endpoint ID | resource**** |
| privateLinkEndpointVpcId | String | VPC ID of the PrivateLink endpoint. | vpc-xxxx**** |
| privateLinkEndpointSubnetId | String | Subnet ID of Private Link Endpoint | resource**** |
| privateLinkServiceAccount | String | Private Link Service Root Account | 3 |
| privateLinkUserAccount | String | Private Link Allowlist User Account | 3 |
| privateLinkDomain | String | Private Domain Name | pay-core.oceanbase.example.com |
| intranetAddress | String | Private IP Address | 10.0.0.10 |
| intranetDomain | String | Private IP Address | pay-core-private.oceanbase.example.com |
| deletePrivateLink | Boolean | Whether to delete the primary private IP address (cannot be deleted if associated with a global address). | true |
data.tenantZones[] Element Fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| name | String | Zone name, zoneId | Data Source Name |
| replicaType | String | Replica type, for example, FULL, READONLY, or LOGONLY. | FULL |
| region | String | Region. | ap-guangzhou |
| role | String | Role, Read/Write/Read Only | READWRITE |
| tenantZoneReplicas | Array | Zone Replica Information | None |
data.tenantZones[].tenantZoneReplicas[] Element Fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| zoneReplicaType | String | The replica type of the tenant in the availability zone, such as FULL, READONLY, or COLUMNSTORE. | FULL |
| zoneNodes | Integer | The number of nodes covered by this replica. | 1 |
| logicZoneName | String | The name of the logical zone where the tenant replica is located. | cn-hangzhou-i |
| copyId | Integer | The ordinal number of a replica in the tenant topology, used to distinguish between different replicas within the same tenant. | xxxxxx |
| fullCopyId | Integer | Displays the numbers of full-featured replicas, corresponding to Full-featured Replica 1 and Full-featured Replica 2 on the page. | xxxxxx |
| readOnlyCopyId | Integer | The read-only replicas are displayed as numbers, corresponding to Read-only Replica 1 and Read-only Replica 2 on the page. | xxxxxx |
| tenantZoneRole | String | The role of the tenant replica, such as read/write replica, standby replica, or read-only replica. | cn-hangz**** |
| readOnlyReplicaType | Object | None | None |
| unitInfoList | Array | Unit resource details associated with this replica. | [{'id': 'resource-123456'}] |
data.tenantZones[].tenantZoneReplicas[].unitInfoList[] Element Fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| unitId | String | Unit id parameter | resource**** |
| serverIp | String | Server ip parameter | 10.0.0.10 |
| serverPort | Integer | The server port. | 2881 |
| replicaType | String | Replica type, for example, FULL, READONLY, or LOGONLY. | FULL |
| sn | String | Sn | example-value |
| isPrimary | Boolean | Whether it is a primary zone or a leader replica. | true |
| cpu | Number | Number of processor cores or specifications. | 4.0 |
| memory | Number | Memory Information in Resource Specifications | 16.0 |
| dataSize | Number | Data size | 200.0 |
| logDiskSize | Number | Log Disk Size | 200.0 |
| zone | String | Availability zone. | cn-hangzhou-i |
| logicalZone | String | Logical Zone | ap-beijing-3-ro-z0 |
| tenantObId | Integer | The tenant ID of OceanBase. | xxxxxx |
| tenantId | String | Tenant ID | t4louaeei**** |
| resourcePoolId | Integer | Resource pool identifier. | xxxxxx |
| migrateFromServerIp | String | IP address of the source server for unit migration. | 10.0.0.11 |
| migrateFromServerPort | Integer | Port of the source server for unit migration. | 2881 |
| migrateFromServerSn | String | The serial number of the source server for unit migration. | server-sn-001 |
| manualMigrate | Integer | Whether it is a manual unit migration. | 0 |
| enableMigrateUnit | Boolean | Whether to allow initiating unit migration. | true |
| enableCancelMigrateUnit | Boolean | Whether to allow canceling unit migration. | true |
| status | String | Current Status of the Task or Resource | ONLINE |
data.zones[] Element Fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| zoneId | String | Availability zone ID. | cn-hangz**** |
| region | String | This parameter is required for some object storage vendors, such as S3. | ap-guangzhou |
| zoneDisk | String | The displayed data disk capacity of this zone. | 200 |
| logicZoneId | String | Logical zone ID. | resource**** |
| replicaType | String | Replica type, for example, FULL, READONLY, or LOGONLY. | FULL |
| nodes | Array | List of nodes in the logical zone. | [{'id': 'resource-123456'}] |
data.zones[].nodes[] Element Fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| nodeId | String | Node ID. | xxxxxx |
| serverIp | String | Server ip parameter | 10.0.0.10 |
| nodeCopyId | Integer | The ordinal number of the node replica in the topology. | xxxxxx |
| nodeStatus | String | The current running status of the node. | ONLINE |
| replicaType | String | The replica type hosted by the node, for example, FULL, READONLY, or LOGONLY. | FULL |
| fullCopyId | Integer | Displays the number of a full-featured replica. | xxxxxx |
| readOnlyCopyId | Integer | The display number of the read-only replica. | xxxxxx |
| logicalZone | String | Logical Zone | ap-beijing-3-ro-z0 |
| readOnlyReplicaType | Object | None | None |
| nodeResource | Object | Node Resource Specification Information | None |
| nodeResource.cpu | Object | None | None |
| nodeResource.memory | Object | None | None |
| nodeResource.diskSize | Object | None | None |
Examples
Request example
curl --digest -u '<Your AK:SK>' \
--request GET \
--url https://api-cloud.oceanbase.com/api/v2/instances/{instanceId}/tenants/{tenantId}?requestId={requestId} \
-H 'X-Ob-Project-Id: <Project ID>'
Note
- A project ID uniquely identifies a project. For information about how to obtain the project ID of a cluster, see Manage projects.
- Ensure that the project containing the instance identified by
instanceIdmatches the specified project ID.
Response example
JSON format
{
"success": true,
"errorCode": "INVALID_PARAMETER",
"errorMessage": "Invalid parameter",
"data": {
"tenantId": "t4louaeei****",
"ocpTenantId": 1,
"tenantName": "xxxxxx",
"managementMode": "DBAAS",
"gmtCreate": "2026-02-25 15:40:43+00:00",
"createTime": "2026-02-25 15:40:43+00:00",
"tenantMode": "xxxxxx",
"primaryRegion": "cn-hangzhou",
"primaryZone": "cn-hangzhou-i",
"status": "ONLINE",
"cpu": 4,
"mem": 16,
"diskSize": 200,
"unitCpu": 2,
"unitMem": 8,
"unitNum": 1,
"unitDiskSize": 200,
"vpcId": "vpc-xxxx****",
"deployType": "multiple",
"description": "A tenant used for business transactions.",
"tenantConnections": [
{
"tenantId": "t4louaeei****",
"vpcId": "vpc-xxxx****",
"userVpcOwnerId": "20000600****",
"vSwitchId": "vsw-xxxx****",
"connectionZones": "---\n- \"cn-hangzhou-i\"",
"connectionLogicalZones": "---\n- \"cn-hangzhou-i\"",
"connectionReplicaType": "FULL",
"tenantEndpointId": "te-xxxxx****",
"addressId": "rs-private-internet-*****",
"addressStatus": "ONLINE",
"serviceType": "PRIVATE",
"addressType": "MASTER",
"networkType": "INTRANET",
"role": "READWRITE",
"userNameFormat": "TWO_PART",
"useSSL": false,
"proxyClusterInfo": {
"proxyClusterId": "proxy-12****",
"proxyMode": "DEDICATED",
"zone": "cn-hangzhou-i",
"unitSpec": "2C4G",
"unitNum": 1.0,
"sharedUnitNumLimit": 3,
"exclusiveUnitNumLimit": 3,
"status": "ONLINE",
"proxyServiceVersion": "4.2.1.0",
"proxyVersion": "4.2.1.0",
"createTime": "2026-02-25 15:40:43+00:00",
"expireTime": "2020-12-23 04:14:48+00:00",
"deployMode": "1-1-1",
"maxUnitNum": 3.0,
"slaveZone": "cn-hangzhou-i",
"nodeDistribution": "cn-hangzhou-i:1,cn-hangzhou-j:1",
"nodeCpu": 4.0,
"nodeNum": 3,
"deploymentArchitecture": "SINGLE_ZONE",
"proxyServerIds": "---\n- \"r****"
},
"odpVersion": "4.2.1",
"readStrategyConfigResponse": {
"odpVersion": "4.2.1",
"trafficStrategy": "ZONE_FIRST",
"replicaParams": [
{
"value": "prod",
"weight": 1,
"readOnlyReplicaType": "FULL"
}
],
"disasterRecoveryReplicaParams": [
{
"value": "prod",
"weight": 1,
"readOnlyReplicaType": "FULL"
}
],
"balancedStrategy": "BALANCED",
"disasterRecoveryStrategy": "PRIMARY_FIRST"
},
"addressMasterZoneId": "cn-hangz****",
"loadBalanceType": "NLB",
"internetAddress": "xxx.xxx.x.xxx:xxx",
"internetPort": 2881,
"internetDomain": "pay-core-public.oceanbase.example.com",
"internetAddressStatus": "ONLINE",
"internetMaxConnectionNum": 10000,
"internetMaxConnectionNumLimit": 20000,
"internetRpcPort": 2882,
"internetProxyClusterId": "proxy-12****",
"internetLoadBalanceType": "NLB",
"intranetAddress": "xxx.xxx.x.xxx:xxx",
"intranetPort": 2881,
"intranetDomain": "pay-core-private.oceanbase.example.com",
"intranetAddressStatus": "ONLINE",
"maxConnectionNum": 10000,
"maxConnectionNumLimit": 20000,
"intranetRpcPort": 2882,
"enableRPc": true,
"disableRpcReason": "ODP proxy is not ready",
"intranetAddressMasterZoneId": "cn-hangz****",
"intranetAddressSlaveZoneId": "cn-hangz****",
"deleteSingleTunnelAddress": true,
"intranetProxyClusterId": "proxy-12****",
"forceMigratedObproxyIntranetDeleteInternet": true,
"intranetLoadBalanceType": "NLB",
"privateLinkList": [
{
"privateLinkStatus": "ONLINE",
"privateLinkServiceId": "resource****",
"privateLinkEndpointId": "resource****",
"privateLinkEndpointVpcId": "vpc-xxxx****",
"privateLinkEndpointSubnetId": "resource****",
"privateLinkServiceAccount": "3",
"privateLinkUserAccount": "3",
"privateLinkDomain": "pay-core.oceanbase.example.com",
"intranetAddress": "xxx.xxx.x.xxx:xxx",
"intranetDomain": "pay-core-private.oceanbase.example.com",
"deletePrivateLink": true
}
],
"intranetPeeringAddress": "xxx.xxx.x.xxx:xxx",
"intranetPeeringPort": 2881,
"intranetPeeringDomain": "pay-core-peering.oceanbase.example.com",
"intranetPeeringAddressStatus": "ONLINE",
"intranetPeeringMaxConnectionNum": 10000,
"peeringDstVpcId": "vpc-peer****",
"peeringDstCidrList": "10.1.0.0****",
"peeringId": "pcx-xxxx****",
"intranetPeeringProxyClusterId": "proxy-12****",
"intranetRagPort": 8080,
"internetRagPort": 8080,
"internetRagAddress": "pay-core-rag-public.oceanbase.example.com",
"enableRagHttp": false,
"isVirtualServerGroup": false,
"isMigrated": 0,
"userFormatConnStatus": "ONLINE",
"userFormatConnUnsupportedReason": "2881"
}
],
"tenantZones": [
{
"name": "Data source name",
"replicaType": "FULL",
"region": "ap-guangzhou",
"role": "READWRITE",
"tenantZoneReplicas": [
{
"zoneReplicaType": "FULL",
"zoneNodes": 1,
"logicZoneName": "cn-hangzhou-i",
"copyId": 1,
"fullCopyId": 1,
"readOnlyCopyId": 1,
"tenantZoneRole": "cn-hangz****",
"readOnlyReplicaType": "xxxxxx",
"unitInfoList": [
{
"unitId": "resource****",
"serverIp": "xxx.xxx.x.xxx:xxx",
"serverPort": 2881,
"replicaType": "FULL",
"sn": "example-value",
"isPrimary": true,
"cpu": 4.0,
"memory": 16.0,
"dataSize": 200.0,
"logDiskSize": 200.0,
"zone": "cn-hangzhou-i",
"logicalZone": "ap-beijing-3-ro-z0",
"tenantObId": 1,
"tenantId": "t4louaeei****",
"resourcePoolId": 1,
"migrateFromServerIp": "xxx.xxx.x.xxx:xxx",
"migrateFromServerPort": 2881,
"migrateFromServerSn": "server-sn-001",
"manualMigrate": 0,
"enableMigrateUnit": true,
"enableCancelMigrateUnit": true,
"status": "ONLINE"
}
]
}
]
}
],
"tenantResource": {
"cpu": "xxxxxx",
"memory": "xxxxxx",
"disk": "xxxxxx",
"unitNum": 1
},
"enableBinlogService": true,
"readonlyConnectionAddable": "ADDABLE",
"readwriteConnectionAddable": "ADDABLE",
"timeZone": "+08:00",
"charset": "utf8mb4",
"collation": "utf8mb4_general_ci",
"lowerCaseTableNamesParam": 1,
"parameterTemplate": "oltp",
"tagList": [
{
"tagKey": "env",
"tagValue": "prod"
}
],
"tenantCompatibilityMode": "xxxxxx",
"dataMergeTime": "02:00",
"enableProxyPublicLink": false,
"enableProxyPeeringLink": false,
"odpDefaultVersion": "4.2.1",
"enableProxyService": true,
"globalAddressAddable": "ADDABLE",
"enableStandbyReadWriteSplit": "ENABLED",
"instanceZoneReplicas": [
{
"logicalZone": "ap-beijing-3-ro-z0",
"replicaType": "FULL",
"zoneRegionName": "test-name",
"zoneLogicalId": 1,
"zoneId": "cn-hangz****",
"status": "ONLINE",
"nodeNum": 3,
"readonlyInstanceId": "obcluster-*****-ro",
"replicaResource": {
"cpu": {
"totalCpu": 4.0,
"usedCpu": 4.0,
"originalTotalCpu": 4.0,
"unitCpu": 2.0
},
"memory": {
"totalMemory": 16.0,
"usedMemory": 16.0,
"originalTotalMemory": 16.0,
"unitMemory": 8.0,
"hostActualMemory": 16.0,
"systemMemory": 16.0,
"originalHostActualMemory": 16.0
},
"diskSize": {
"totalDiskSize": 200.0,
"usedDiskSize": 200.0,
"originalTotalDiskSize": 200.0,
"totalDataSize": 200.0,
"unitDiskSize": 200.0,
"availableDiskSize": 200.0
}
},
"readOnlyReplicaType": "xxxxxx"
}
],
"zones": [
{
"zoneId": "cn-hangz****",
"region": "ap-guangzhou",
"zoneDisk": "200",
"logicZoneId": "resource****",
"replicaType": "FULL",
"nodes": [
{
"nodeId": "xxxxxx",
"serverIp": "xxx.xxx.x.xxx:xxx",
"nodeCopyId": 1,
"nodeStatus": "ONLINE",
"replicaType": "FULL",
"fullCopyId": 1,
"readOnlyCopyId": 1,
"logicalZone": "ap-beijing-3-ro-z0",
"readOnlyReplicaType": "xxxxxx",
"nodeResource": {
"cpu": "xxxxxx",
"memory": "xxxxxx",
"diskSize": "xxxxxx"
}
}
]
}
],
"tenantMaxConnections": 1,
"ragCluster": {
"gmtCreate": "2026-02-25 15:40:43+00:00",
"gmtModified": "2026-02-26 10:40:43+00:00",
"ragClusterId": "obcluster-*****",
"ragClusterArn": "acs:oceanbase:cn-hangzhou:200006001999:rag/rag-123456",
"instanceId": "obcluster-*****",
"tenantId": "t4louaeei****",
"region": "ap-guangzhou",
"zone": "cn-hangzhou-i",
"version": "2.2.52",
"cloudProvider": "xxxxxx",
"status": "ONLINE",
"resourceAccount": "3",
"uid": "20000600****"
},
"enableRag": false,
"iops": 1000,
"aiFunctionStatus": "ENABLED",
"privateLinkExisted": true,
"tenantCompatibilityControl": "xxxxxx",
"unitLogDisk": 100,
"directConnectionAddable": "ADDABLE",
"directConnectionAddableReasonType": "INSTANCE_LEVEL",
"instanceType": "DEDICATE****",
"tenantType": "xxxxxx",
"odpAddressStatus": "ONLINE"
},
"cost": 1.0,
"server": "xxx.xxx.x.xxx:xxx",
"requestId": "d04eabba****",
"totalCount": 100.0,
"extra": "{}"
}
