Overview
You can call this API to query the list of tenants in an OceanBase Cloud database instance based on specified conditions. You can perform fuzzy matching on the tenant name and filter tenants by tags. You can also perform pagination queries.
API details
Constraints
The caller must have an AccessKey for accessing APIs of OceanBase Cloud. For information about how to obtain the AccessKey ID and AccessKey Secret, see Manage AccessKeys.
Request path
GET /api/v2/instances/{instanceId}/tenants
Request parameters
Path
Name |
Type |
Required |
Description |
Example value |
|---|---|---|---|---|
| instanceId | String | Yes | The ID of the OceanBase Cloud instance. | ob317v4uif**** |
Query
Name |
Type |
Required |
Description |
Example value |
|---|---|---|---|---|
| requestId | String | Yes | The ID of the request. This parameter is used for tracing. | dc302d76-66b5-48d8-ab53-a035******** |
| pageNumber | Integer | No | The number of the page to return.
|
1 |
| pageSize | Integer | No | The number of entries to return on a page.
|
10 |
| tenantName | String | No | The name of the tenant. You can perform fuzzy matching on the tenant name. |
pay_**** |
| tagList | String | No | The list of tags. | N/A |
Response parameters
Name |
Type |
Description |
Example value |
|---|---|---|---|
| success | Boolean | Whether the operation succeeded. | true |
| errorCode | String | Error code. | INVALID_PARAMETER |
| errorMessage | String | Error message. | Invalid parameter |
| data | Object | Business data (object). | N/A |
| 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 record count. | 100.0 |
| extra | Object | Extended information. | {} |
data object fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| dataList | Array | Dataset. | [{"tenantId": "t4louaeei****"}] |
| total | Number | Total data volume. | 100.0 |
| hasMore | Boolean | Whether there is more data. | true |
data.dataList[] object fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| tenantId | String | Tenant ID. | t4louaeei**** |
| ocpTenantId | Integer | OCP internal tenant identifier. | xxxxxx |
| tenantName | String | Tenant name. | xxxxxx |
| managementMode | String | Management mode: DBAAS or MAAS. | DBAAS |
| gmtCreate | String | Creation time. | 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, for example, 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 specification. | 4 |
| mem | Integer | Total memory, in GB. | 16 |
| diskSize | Integer | Disk size. | 200 |
| unitCpu | Integer | Processor specification per unit. | 2 |
| unitMem | Integer | Memory specification per unit. | 8 |
| unitNum | Integer | Number of units. | 1 |
| unitDiskSize | Integer | Disk size per unit. | 200 |
| vpcId | String | VPC identifier. | vpc-xxxx**** |
| deployType | String | Deployment type. | multiple |
| description | String | Description. | For tenants used in business transactions. |
| tenantConnections | Array | Tenant connection information. | [{"tenantId": "t4louaeei****"}] |
| tenantZones | Array | Zone information. | [{"name": "Data source name"}] |
| tenantResource | Object | Tenant resource specification information. | N/A |
| tenantResource.cpu | Object | N/A | N/A |
| tenantResource.memory | Object | N/A | N/A |
| tenantResource.disk | Object | N/A | N/A |
| 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 added. Valid values:
|
ADDABLE |
| readwriteConnectionAddable | String | Whether a read/write splitting address can be added. Valid values:
|
ADDABLE |
| timeZone | String | Time zone configured for the tenant. | +08:00 |
| charset | String | Character set configured for the tenant. | utf8mb4 |
| collation | String | Collation configured for the tenant. | utf8mb4_general_ci |
| lowerCaseTableNamesParam | Integer | Case sensitivity of table names for the tenant. | 1 |
| parameterTemplate | String | Parameter template. | oltp |
| tagList | Array | Tenant tags. | [{"tagKey": "env", "tagValue": "prod"}] |
| tenantCompatibilityMode | String | Tenant compatibility mode. A TP cluster returns MySQL or Oracle, and a KV cluster returns HBase or Table. | xxxxxx |
| dataMergeTime | String | Tenant major compaction time (available only in 4.x clusters). | 02:00 |
| enableProxyPublicLink | Boolean | Whether to enable public access. | false |
| enableProxyPeeringLink | Boolean | Whether to enable peering access. | false |
| odpDefaultVersion | String | The default ODP version for tenant creation addresses. | 4.2.1 |
| enableProxyService | Boolean | Whether to enable the proxy service. | true |
| globalAddressAddable | String | Whether a global address can be added. Valid values:
|
ADDABLE |
| enableStandbyReadWriteSplit | String | Read/write splitting switch status for primary/standby databases. | ENABLED |
| instanceZoneReplicas | Array | Replica list in the zone of the instance. | [{"logicalZone": "ap-beijing-3-ro-z0"}] |
| zones | Array | Zone list, separated by commas. | N/A |
| tenantMaxConnections | Integer | Maximum number of connections for the tenant. | xxxxxx |
| ragCluster | Object | RAG cluster information. | N/A |
| ragCluster.gmtCreate | String | Creation time. | 2026-02-25 15:40:43+00:00 |
| ragCluster.gmtModified | String | Modification time. | 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 | Region, required for some object storage vendors, for example, S3. | ap-guangzhou |
| ragCluster.zone | String | Zone. | cn-hangzhou-i |
| ragCluster.version | String | OceanBase version. | 2.2.52 |
| ragCluster.cloudProvider | String | Cloud vendor where the resource or data source is located. | 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 metric for storage. | 1000 |
| aiFunctionStatus | String | AI function status. | ENABLED |
| privateLinkExisted | Boolean | Whether a private link exists. | true |
| tenantCompatibilityControl | String | Tenant compatibility control configuration. | xxxxxx |
| unitLogDisk | Integer | Unit log disk specification. | 100 |
| directConnectionAddable | String | Whether a direct connection address can be added. Valid values:
|
ADDABLE |
| directConnectionAddableReasonType | String | Reason why a direct connection address cannot be created. Valid values: INSTANCE_LEVEL for an instance-level reason and TENANT_LEVEL for a tenant-level reason. This field is null when the address can be created. | INSTANCE_LEVEL |
| instanceType | String | Instance type. | DEDICATE**** |
| tenantType | String | Tenant type. Ultimate Edition TP, KV, and AP tenants are distinguished at the tenant level, whereas non-Ultimate Edition tenants are distinguished by instance type. | xxxxxx |
| odpAddressStatus | String | ODP connection readiness status for the tenant (available only at the tenant level). Valid values: ONLINE and PENDING_CREATE. Semantics: Indicates whether the tenant currently has at least one available primary address. The frontend uses this field to determine whether the cards for the primary address, private network connection, peering connection, or public network connection are still in the "Preparing" state. This prevents users from repeatedly clicking to create an address when the tenant is already online but its first batch of primary addresses is still being created. Determination rules:
This field differs from the scope for allowlist distribution. The cluster-level |
ONLINE |
data.dataList[].instanceZoneReplicas[] object 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 | Region name where the replica is located. | test-name |
| zoneLogicalId | Integer | Logical zone ID where the replica is located. | xxxxxx |
| zoneId | String | 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. | N/A |
| replicaResource.cpu | Object | N/A | N/A |
| replicaResource.memory | Object | N/A | N/A |
| replicaResource.diskSize | Object | N/A | N/A |
| readOnlyReplicaType | Object | N/A | N/A |
data.dataList[].tagList[] object fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| tagKey | String | Tag key. | env |
| tagValue | String | Tag value. | prod |
data.dataList[].tenantConnections[] object fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| tenantId | String | Tenant ID. | t4louaeei**** |
| vpcId | String | VPC identifier. | vpc-xxxx**** |
| userVpcOwnerId | String | Account identifier of the user's VPC. | 20000600**** |
| vSwitchId | String | Switch identifier. | vsw-xxxx**** |
| connectionZones | Array | Zones connected to the connection. | ["cn-hangzhou-i"] |
| connectionLogicalZones | Array | List of logical zones associated with the connection address. | ["cn-hangzhou-i"] |
| connectionReplicaType | String | Replica type accessed via the connection address. | FULL |
| tenantEndpointId | String | Supplemental tenant endpoint ID for multi-cloud v5. | te-xxxxx**** |
| addressId | String | In multi-cloud scenarios, this is the 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/READONLY. For primary addresses, the read/write type is sometimes also distinguished. The primary address of a standby database is read-only. | READWRITE |
| userNameFormat | String | Username format when using this address: one-part, two-part, or three-part. | TWO_PART |
| useSSL | Boolean | Whether to enable SSL. | false |
| proxyClusterInfo | Object | ODP proxy cluster information associated with the tenant connection. | N/A |
| proxyClusterInfo.proxyClusterId | String | ODP proxy cluster ID. | proxy-12**** |
| proxyClusterInfo.proxyMode | String | ODP proxy mode. | DEDICATED |
| proxyClusterInfo.zone | String | Zone. | cn-hangzhou-i |
| proxyClusterInfo.unitSpec | String | Unit specification. | 2C4G |
| proxyClusterInfo.unitNum | Number | Number of units. | 1.0 |
| proxyClusterInfo.sharedUnitNumLimit | Integer | Upper limit on the number of units for a shared mode proxy service in a Kubernetes cluster. | 3 |
| proxyClusterInfo.exclusiveUnitNumLimit | Integer | Upper limit on the number of exclusive mode units for a proxy service in a Kubernetes cluster. | 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 | Elastic upper limit for Serverless ODP (from K8s ODPClusterSpec.maxUnitNum). | 3.0 |
| proxyClusterInfo.slaveZone | String | Standby zone of the replica (added in ODP commercial edition, returned only in dual/triple-zone primary/standby deployments). | cn-hangzhou-i |
| proxyClusterInfo.nodeDistribution | String | Node distribution (added in ODP commercial edition, replaces deployMode). | cn-hangzhou-i:1,cn-hangzhou-j:1 |
| proxyClusterInfo.nodeCpu | Number | Node specification (added in ODP commercial edition, replaces unitSpec * unitNum). | 4.0 |
| proxyClusterInfo.nodeNum | Integer | Number of nodes (added in ODP commercial edition). | 3 |
| proxyClusterInfo.deploymentArchitecture | String | Deployment architecture (added in the commercial edition of ODP). For more information, see com.oceanbase.cloud.infra.common.enums.ProxyDeploymentArchitecture. Existing ODP clusters that have not been commercialized display SINGLE_AZ_DEPLOYMENT, DUAL_AZ_DEPLOYMENT, or MULTI_AZ_DEPLOYMENT. |
SINGLE_ZONE |
| proxyClusterInfo.proxyServerIds | Array | ODP proxy node IDs. | ["resource****"] |
| odpVersion | String | ODP version. | 4.2.1 |
| readStrategyConfigResponse | Object | Read traffic strategy configuration for the tenant connection address. | N/A |
| readStrategyConfigResponse.odpVersion | String | ODP version. | 4.2.1 |
| readStrategyConfigResponse.trafficStrategy | String | Traffic strategy. | ZONE_FIRST |
| readStrategyConfigResponse.replicaParams | Array | Replica selection. | N/A |
| readStrategyConfigResponse.disasterRecoveryReplicaParams | Array | Disaster recovery replica. | N/A |
| readStrategyConfigResponse.balancedStrategy | String | Balancing strategy. | BALANCED |
| readStrategyConfigResponse.disasterRecoveryStrategy | String | Disaster recovery strategy. Automatically checks the primary replica when the current replica is unavailable. | PRIMARY_FIRST |
| addressMasterZoneId | String | Primary zone of the address. | cn-hangz**** |
| loadBalanceType | String | Load balancing type. Only required 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 domain name. | pay-core-public.oceanbase.example.com |
| internetAddressStatus | String | Public IP address status. | ONLINE |
| internetMaxConnectionNum | Integer | Maximum number of public connections. | 10000 |
| internetMaxConnectionNumLimit | Integer | Limit on the maximum number of public connections. | 20000 |
| internetRpcPort | Integer | Public RPC port. | 2882 |
| internetProxyClusterId | String | Public proxy cluster ID. | proxy-12**** |
| internetLoadBalanceType | String | Load balancing type for the public IP address. | NLB |
| intranetAddress | String | Private IP address. | 10.0.0.10 |
| intranetPort | Integer | Private network port. | 2881 |
| intranetDomain | String | Private network domain name. | pay-core-private.oceanbase.example.com |
| intranetAddressStatus | String | Private network address status. | ONLINE |
| maxConnectionNum | Integer | Maximum number of private network connections. | 10000 |
| maxConnectionNumLimit | Integer | Limit on modifying the maximum number of private network connections. | 20000 |
| intranetRpcPort | Integer | Private network RPC port. | 2882 |
| enableRPc | Boolean | Whether to enable RPC for direct import. | true |
| disableRpcReason | String | Reason for prohibiting the enabling of RPC. | ODP proxy is not ready |
| intranetAddressMasterZoneId | String | Primary zone ID. | cn-hangz**** |
| intranetAddressSlaveZoneId | String | Standby zone ID. | cn-hangz**** |
| deleteSingleTunnelAddress | Boolean | Whether the primary private network address of Alibaba Cloud can be deleted. | true |
| intranetProxyClusterId | String | Private network proxy cluster ID. | proxy-12**** |
| forceMigratedObproxyIntranetDeleteInternet | Boolean | Whether to delete the public network address when deleting the private network address of a migrated primary address that also has a public network address. | true |
| intranetLoadBalanceType | String | Load balancing type for the private network address. | NLB |
| privateLinkList | Array | Private link list information. | [{"privateLinkStatus": "ONLINE"}] |
| 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 connections for the peering address. | 10000 |
| peeringDstVpcId | String | Peer VPC ID. | vpc-peer**** |
| peeringDstCidrList | String | Peer CIDR block. | 10.1.0.0**** |
| peeringId | String | Peering connection ID. | pcx-xxxx**** |
| intranetPeeringProxyClusterId | String | Private network peering address proxy cluster ID. | proxy-12**** |
| intranetRagPort | Integer | Private network RAG port. | 8080 |
| internetRagPort | Integer | Public network RAG port. | 8080 |
| internetRagAddress | String | Public network RAG address. | pay-core-rag-public.oceanbase.example.com |
| enableRagHttp | Boolean | Whether to enable the RAG HTTP port. | false |
| isVirtualServerGroup | Boolean | Whether the address uses a virtual server group or a primary/standby server group when one side is migrated. | false |
| isMigrated | Integer | Whether an address on one side of the cluster has been migrated. | 0 |
| userFormatConnStatus | String | Online status for one-part connection addresses. | ONLINE |
| userFormatConnUnsupportedReason | String | Reason why one-part access cannot be enabled. | 2881 |
data.dataList[].tenantConnections[].connectionLogicalZones[] element fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| data.dataList[].tenantConnections[].connectionLogicalZones[] | String | Logical zone associated with the connection address. | cn-hangzhou-i |
data.dataList[].tenantConnections[].connectionZones[] element fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| data.dataList[].tenantConnections[].connectionZones[] | String | Zone connected to the connection. | cn-hangzhou-i |
data.dataList[].tenantConnections[].privateLinkList[] object fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| privateLinkStatus | String | Status of the private link. | ONLINE |
| privateLinkServiceId | String | ID of the private link service endpoint. | resource**** |
| privateLinkEndpointId | String | ID of the private link endpoint. | resource**** |
| privateLinkEndpointVpcId | String | VPC ID of the PrivateLink endpoint. | vpc-xxxx**** |
| privateLinkEndpointSubnetId | String | Subnet ID of the PrivateLink endpoint. | resource**** |
| privateLinkServiceAccount | String | Primary account of the private link service. | 3 |
| privateLinkUserAccount | String | Account in the allowlist of the private link service. | 3 |
| privateLinkDomain | String | Private domain name. | pay-core.oceanbase.example.com |
| intranetAddress | String | Private IP address. | 10.0.0.10 |
| intranetDomain | String | Private network domain name. | pay-core-private.oceanbase.example.com |
| deletePrivateLink | Boolean | Whether the primary private network address can be deleted (cannot be deleted if a global address is associated). | true |
data.dataList[].tenantZones[] object fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| name | String | Zone name and zone ID. | Data source name |
| replicaType | String | Replica type, for example, FULL, READONLY, or LOGONLY. | FULL |
| region | String | Region. | ap-guangzhou |
| role | String | Role, for example, READWRITE or READONLY. | READWRITE |
| tenantZoneReplicas | Array | Replica information in the zone. | N/A |
data.dataList[].tenantZones[].tenantZoneReplicas[] object fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| zoneReplicaType | String | Replica type of the tenant in the zone, for example, FULL, READONLY, or COLUMNSTORE. | FULL |
| zoneNodes | Integer | Number of nodes covered by the replica. | 1 |
| logicZoneName | String | Name of the logical zone where the tenant replica is located. | cn-hangzhou-i |
| copyId | Integer | Sort number of the replica in the tenant topology, used to distinguish different replicas under the same tenant. | xxxxxx |
| fullCopyId | Integer | Display number for full-featured replicas, corresponding to Full-featured Replica 1 and Full-featured Replica 2 on the page. | xxxxxx |
| readOnlyCopyId | Integer | Display number for read-only replicas, corresponding to Read-only Replica 1 and Read-only Replica 2 on the page. | xxxxxx |
| tenantZoneRole | String | Role of the tenant replica, for example, read/write replica, standby replica, or read-only replica. | cn-hangz**** |
| readOnlyReplicaType | Object | N/A | N/A |
| unitInfoList | Array | Unit resource details associated with the replica. | [{}] |
data.dataList[].zones[] object fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| zoneId | String | Zone ID. | cn-hangz**** |
| region | String | Required for some object storage vendors, for example, S3. | ap-guangzhou |
| zoneDisk | String | Data disk capacity displayed for 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. | [{"nodeId": "xxxxxx"}] |
data.dataList[].zones[].nodes[] object fields
Name |
Type |
Description |
Example value |
|---|---|---|---|
| nodeId | String | Node ID. | xxxxxx |
| serverIp | String | Server IP parameter. | 10.0.0.10 |
| nodeCopyId | Integer | Sort number of the node replica in the topology. | xxxxxx |
| nodeStatus | String | Current running status of the node. | ONLINE |
| replicaType | String | Replica type hosted by the node, for example, FULL, READONLY, or LOGONLY. | FULL |
| fullCopyId | Integer | Display number for full-featured replicas. | xxxxxx |
| readOnlyCopyId | Integer | Display number for read-only replicas. | xxxxxx |
| logicalZone | String | Logical zone. | ap-beijing-3-ro-z0 |
| readOnlyReplicaType | Object | N/A | N/A |
| nodeResource | Object | N/A | N/A |
Examples
Request example
curl --digest -u '<Your ak:sk>' \
--request GET \
--url 'https://api-cloud.oceanbase.com/api/v2/instances/{instanceId}/tenants?requestId={requestId}&pageNumber={pageNumber}&pageSize={pageSize}&tenantName={tenantName}&tagList={tagList}' \
-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 an instance, see Manage projects.
- Make sure that the specified project ID matches the project that contains
instanceId.
Response example
JSON format
{
"success": true,
"errorCode": "INVALID_PARAMETER",
"errorMessage": "Invalid parameter",
"data": {
"dataList": [
{
"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 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": [
{}
],
"disasterRecoveryReplicaParams": [
{}
],
"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": [
{}
]
}
]
}
],
"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": "xxxxxx",
"memory": "xxxxxx",
"diskSize": "xxxxxx"
},
"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": "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"
}
],
"total": 100.0,
"hasMore": true
},
"cost": 1.0,
"server": "xxx.xxx.x.xxx:xxx",
"requestId": "d04eabba****",
"totalCount": 100.0,
"extra": "{}"
}
