Download OpenAPI specification:
Apollo配置中心OpenAPI接口文档
所有 API 接口都需要通过 Authorization header 进行身份验证。
Authorization: token_valuecurl -X GET "http://localhost:8070/openapi/v1/apps" \
-H "Authorization: your_token_here"
POST /openapi/v1/apps
| assignAppRoleToSelf | boolean 是否将应用角色分配给当前用户。当设置为true时,当前token用户将获得该应用的完全操作权限 |
| admins | Array of strings unique 应用管理员用户名列表。应用负责人默认具有项目管理员权限。管理员可以创建命名空间、集群并分配用户权限 |
object (OpenAppDTO) Apollo应用信息数据传输对象,包含应用的基本信息和元数据 |
{- "assignAppRoleToSelf": true,
- "admins": [
- "string"
], - "app": {
- "dataChangeCreatedBy": "string",
- "dataChangeCreatedByDisplayName": "string",
- "dataChangeLastModifiedBy": "string",
- "dataChangeLastModifiedByDisplayName": "string",
- "dataChangeCreatedTime": "2025-09-29T12:34:56Z",
- "dataChangeLastModifiedTime": "2025-09-29T12:34:56Z",
- "name": "string",
- "appId": "string",
- "orgId": "string",
- "orgName": "string",
- "ownerName": "string",
- "ownerEmail": "string",
- "ownerDisplayName": "string"
}
}{- "status": 404,
- "message": "Resource not found",
- "timestamp": "2025-09-29T12:34:56Z",
- "exception": "NotFoundException"
}POST /openapi/v1/apps
| appIds | string Example: appIds=123 查找应用 |
[- {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "apollo",
- "dataChangeCreatedByDisplayName": "Apollo Admin",
- "dataChangeLastModifiedByDisplayName": "Apollo Admin",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-15T10:30:00.000Z",
- "name": "Sample Application",
- "appId": "sample-app",
- "orgId": "default",
- "orgName": "Default Organization",
- "ownerName": "Apollo Admin",
- "ownerEmail": "admin@apollo.com"
}, - {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "apollo",
- "dataChangeCreatedByDisplayName": "Apollo Admin",
- "dataChangeLastModifiedByDisplayName": "Apollo Admin",
- "dataChangeCreatedTime": "2024-01-10T14:20:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-12T16:45:00.000Z",
- "name": "User Service",
- "appId": "user-service",
- "orgId": "microservices",
- "orgName": "Microservices Team",
- "ownerName": "Dev Team",
- "ownerEmail": "dev@company.com"
}
]GET /openapi/v1/apps/authorized
[- {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "apollo",
- "dataChangeCreatedByDisplayName": "Apollo Admin",
- "dataChangeLastModifiedByDisplayName": "Apollo Admin",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-15T10:30:00.000Z",
- "name": "Sample Application",
- "appId": "sample-app",
- "orgId": "default",
- "orgName": "Default Organization",
- "ownerName": "Apollo Admin",
- "ownerEmail": "admin@apollo.com"
}, - {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "apollo",
- "dataChangeCreatedByDisplayName": "Apollo Admin",
- "dataChangeLastModifiedByDisplayName": "Apollo Admin",
- "dataChangeCreatedTime": "2024-01-10T14:20:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-12T16:45:00.000Z",
- "name": "User Service",
- "appId": "user-service",
- "orgId": "microservices",
- "orgName": "Microservices Team",
- "ownerName": "Dev Team",
- "ownerEmail": "dev@company.com"
}
]GET /openapi/v1/apps/{appId}/envclusters
| appId required | string 应用ID |
[- {
- "env": "DEV",
- "clusters": [
- "default",
- "test-cluster"
]
}, - {
- "env": "UAT",
- "clusters": [
- "default"
]
}, - {
- "env": "PRO",
- "clusters": [
- "default",
- "backup"
]
}
]GET /openapi/v1/apps/{appId}
| appId required | string |
{- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "dev-user",
- "dataChangeCreatedByDisplayName": "Apollo Admin",
- "dataChangeLastModifiedByDisplayName": "Dev User",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-20T15:45:00.000Z",
- "name": "Sample Application",
- "appId": "sample-app",
- "orgId": "default",
- "orgName": "Default Organization",
- "ownerName": "Apollo Admin",
- "ownerEmail": "admin@apollo.com"
}PUT /openapi/v1/apps/{appId}
| appId required | string 应用ID |
| operator | string 操作人用户名 |
| dataChangeCreatedBy | string 数据创建者用户名,记录是谁创建了这个应用 |
| dataChangeCreatedByDisplayName | string 数据创建者显示名称,用于展示创建者的友好名称 |
| dataChangeLastModifiedBy | string 数据最后修改者用户名,记录最后一次修改应用信息的用户 |
| dataChangeLastModifiedByDisplayName | string 数据最后修改者显示名称,用于展示最后修改者的友好名称 |
| dataChangeCreatedTime | string 数据创建时间,ISO 8601格式的时间戳 |
| dataChangeLastModifiedTime | string 数据最后修改时间,ISO 8601格式的时间戳 |
| name | string 应用名称,用于显示的友好名称 |
| appId | string 应用唯一标识符,全局唯一的应用ID |
| orgId | string 组织ID,应用所属组织的唯一标识 |
| orgName | string 组织名称,应用所属组织的显示名称 |
| ownerName | string 应用负责人姓名,应用的主要负责人 |
| ownerEmail | string 应用负责人邮箱地址,用于接收应用相关通知 |
| ownerDisplayName | string |
{- "dataChangeCreatedBy": "string",
- "dataChangeCreatedByDisplayName": "string",
- "dataChangeLastModifiedBy": "string",
- "dataChangeLastModifiedByDisplayName": "string",
- "dataChangeCreatedTime": "2025-09-29T12:34:56Z",
- "dataChangeLastModifiedTime": "2025-09-29T12:34:56Z",
- "name": "string",
- "appId": "string",
- "orgId": "string",
- "orgName": "string",
- "ownerName": "string",
- "ownerEmail": "string",
- "ownerDisplayName": "string"
}{- "status": 404,
- "message": "Resource not found",
- "timestamp": "2025-09-29T12:34:56Z",
- "exception": "NotFoundException"
}DELETE /openapi/v1/apps/{appId}
| appId required | string 应用ID |
| operator | string 操作人用户名 |
{- "status": 404,
- "message": "Resource not found",
- "timestamp": "2025-09-29T12:34:56Z",
- "exception": "NotFoundException"
}GET /openapi/v1/apps/by-self
| page required | integer >= 0 页数 |
| size required | integer >= 0 页大小 |
[- {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "dev-user",
- "dataChangeCreatedByDisplayName": "Apollo Admin",
- "dataChangeLastModifiedByDisplayName": "Dev User",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-20T16:45:00.000Z",
- "name": "User Service",
- "appId": "user-service",
- "orgId": "microservices",
- "orgName": "Microservices Team",
- "ownerName": "Dev Team",
- "ownerEmail": "dev@company.com"
}, - {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "ops-user",
- "dataChangeCreatedByDisplayName": "Apollo Admin",
- "dataChangeLastModifiedByDisplayName": "Ops User",
- "dataChangeCreatedTime": "2024-01-10T09:15:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-18T14:30:00.000Z",
- "name": "Order Service",
- "appId": "order-service",
- "orgId": "business",
- "orgName": "Business Team",
- "ownerName": "Business Team",
- "ownerEmail": "business@company.com"
}
]/openapi/v1/apps/{appId}/env-cluster-info
| appId required | string 应用ID |
[- {
- "env": "DEV",
- "code": "200",
- "clusters": [
- {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "apollo",
- "dataChangeCreatedByDisplayName": "apollo",
- "dataChangeLastModifiedByDisplayName": "apollo",
- "dataChangeCreatedTime": "2023-01-01T00:00:00.000Z",
- "dataChangeLastModifiedTime": "2023-01-01T00:00:00.000Z",
- "id": 1,
- "name": "default",
- "appId": "sample-app",
- "parentClusterId": 0,
- "comment": "Default cluster"
}
], - "message": "load env: DEV cluster error"
}
]POST /openapi/v1/apps/envs/{env}
| env required | string 环境标识,例如 DEV、FAT、UAT、PROD |
| operator | string 操作人用户名 |
| dataChangeCreatedBy | string 数据创建者用户名,记录是谁创建了这个应用 |
| dataChangeCreatedByDisplayName | string 数据创建者显示名称,用于展示创建者的友好名称 |
| dataChangeLastModifiedBy | string 数据最后修改者用户名,记录最后一次修改应用信息的用户 |
| dataChangeLastModifiedByDisplayName | string 数据最后修改者显示名称,用于展示最后修改者的友好名称 |
| dataChangeCreatedTime | string 数据创建时间,ISO 8601格式的时间戳 |
| dataChangeLastModifiedTime | string 数据最后修改时间,ISO 8601格式的时间戳 |
| name | string 应用名称,用于显示的友好名称 |
| appId | string 应用唯一标识符,全局唯一的应用ID |
| orgId | string 组织ID,应用所属组织的唯一标识 |
| orgName | string 组织名称,应用所属组织的显示名称 |
| ownerName | string 应用负责人姓名,应用的主要负责人 |
| ownerEmail | string 应用负责人邮箱地址,用于接收应用相关通知 |
| ownerDisplayName | string |
{- "dataChangeCreatedBy": "string",
- "dataChangeCreatedByDisplayName": "string",
- "dataChangeLastModifiedBy": "string",
- "dataChangeLastModifiedByDisplayName": "string",
- "dataChangeCreatedTime": "2025-09-29T12:34:56Z",
- "dataChangeLastModifiedTime": "2025-09-29T12:34:56Z",
- "name": "string",
- "appId": "string",
- "orgId": "string",
- "orgName": "string",
- "ownerName": "string",
- "ownerEmail": "string",
- "ownerDisplayName": "string"
}{- "status": 404,
- "message": "Resource not found",
- "timestamp": "2025-09-29T12:34:56Z",
- "exception": "NotFoundException"
}GET /openapi/v1/apps/{appId}/miss-envs
| appId required | string 应用ID |
[- {
- "code": "200",
- "message": "test_NOT_FOUND"
}, - {
- "code": "500",
- "message": "load appId:xx from env test_INTERNAL_ERROR error. test ERROR MESSAGE"
}
]GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| key required | string 配置项键名 |
{- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "dev-user",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-20T14:25:00.000Z",
- "key": "server.port",
- "type": 0,
- "value": "8080",
- "comment": "服务器端口配置"
}PUT /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
| appId required | string |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| key required | string |
| createIfNotExists required | boolean Default: false Example: createIfNotExists=false |
| operator | string 操作人用户名 |
| key | string 配置项的键名,在同一命名空间内唯一标识一个配置项 |
| value | string 配置项的值,可以是字符串、数字、JSON等格式 |
| type | integer 配置项类型 |
| comment | string 配置项的注释说明,用于描述配置项的用途和含义 |
| lineNum | integer <int32> 配置项在命名空间中的行号,用于保持和旧版 Portal 配置项列表一致的默认展示顺序 |
object (OpenItemExtendDTO) Apollo配置项扩展信息,包含状态、类型、归属及变更对比信息 | |
| dataChangeCreatedBy | string 配置项创建者用户名,记录是谁创建了这个配置项 |
| dataChangeCreatedByDisplayName | string 配置项创建者显示名称,用于展示创建者的友好名称 |
| dataChangeLastModifiedBy | string 配置项最后修改者用户名,记录最后一次修改配置的用户 |
| dataChangeLastModifiedByDisplayName | string 配置项最后修改者显示名称,用于展示最后修改者的友好名称 |
| dataChangeCreatedTime | string 配置项创建时间,ISO 8601格式的时间戳 |
| dataChangeLastModifiedTime | string 配置项最后修改时间,ISO 8601格式的时间戳 |
{- "key": "string",
- "value": "string",
- "type": 0,
- "comment": "string",
- "lineNum": 0,
- "extendInfo": {
- "namespaceId": 0,
- "isModified": true,
- "isDeleted": true,
- "isNewlyAdded": true,
- "newValue": "string",
- "oldValue": "string"
}, - "dataChangeCreatedBy": "string",
- "dataChangeCreatedByDisplayName": "string",
- "dataChangeLastModifiedBy": "string",
- "dataChangeLastModifiedByDisplayName": "string",
- "dataChangeCreatedTime": "2025-09-29T12:34:56Z",
- "dataChangeLastModifiedTime": "2025-09-29T12:34:56Z"
}{- "status": 404,
- "message": "Resource not found",
- "timestamp": "2025-09-29T12:34:56Z",
- "exception": "NotFoundException"
}DELETE /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/{key}
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| key required | string 配置项键名 |
| operator | string 操作人用户名 |
获取指定命名空间的配置项列表,支持分页
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| page required | integer >= 0 页码,从0开始 |
| size required | integer >= 0 Example: size=50 每页数量 |
{- "page": 0,
- "size": 50,
- "total": 3,
- "content": [
- {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "dev-user",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-20T14:25:00.000Z",
- "key": "server.port",
- "type": 0,
- "value": "8080",
- "comment": "服务器端口配置"
}, - {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "apollo",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-15T10:30:00.000Z",
- "key": "spring.datasource.url",
- "type": 0,
- "value": "jdbc:mysql://localhost:3306/apollo",
- "comment": "数据库连接地址"
}, - {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "ops-user",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-18T09:15:00.000Z",
- "key": "logging.level.root",
- "type": 0,
- "value": "INFO",
- "comment": "日志级别配置"
}
]
}POST /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| operator | string 操作人用户名 |
| key | string 配置项的键名,在同一命名空间内唯一标识一个配置项 |
| value | string 配置项的值,可以是字符串、数字、JSON等格式 |
| type | integer 配置项类型 |
| comment | string 配置项的注释说明,用于描述配置项的用途和含义 |
| lineNum | integer <int32> 配置项在命名空间中的行号,用于保持和旧版 Portal 配置项列表一致的默认展示顺序 |
object (OpenItemExtendDTO) Apollo配置项扩展信息,包含状态、类型、归属及变更对比信息 | |
| dataChangeCreatedBy | string 配置项创建者用户名,记录是谁创建了这个配置项 |
| dataChangeCreatedByDisplayName | string 配置项创建者显示名称,用于展示创建者的友好名称 |
| dataChangeLastModifiedBy | string 配置项最后修改者用户名,记录最后一次修改配置的用户 |
| dataChangeLastModifiedByDisplayName | string 配置项最后修改者显示名称,用于展示最后修改者的友好名称 |
| dataChangeCreatedTime | string 配置项创建时间,ISO 8601格式的时间戳 |
| dataChangeLastModifiedTime | string 配置项最后修改时间,ISO 8601格式的时间戳 |
{- "key": "string",
- "value": "string",
- "type": 0,
- "comment": "string",
- "lineNum": 0,
- "extendInfo": {
- "namespaceId": 0,
- "isModified": true,
- "isDeleted": true,
- "isNewlyAdded": true,
- "newValue": "string",
- "oldValue": "string"
}, - "dataChangeCreatedBy": "string",
- "dataChangeCreatedByDisplayName": "string",
- "dataChangeLastModifiedBy": "string",
- "dataChangeLastModifiedByDisplayName": "string",
- "dataChangeCreatedTime": "2025-09-29T12:34:56Z",
- "dataChangeLastModifiedTime": "2025-09-29T12:34:56Z"
}{- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "apollo",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-15T10:30:00.000Z",
- "key": "server.port",
- "type": 0,
- "value": "8080",
- "comment": "服务器端口配置"
}PUT /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items:
| appId required | string |
| env required | string |
| clusterName required | string |
| namespaceName required | string |
| operator | string 操作人用户名 |
| appId | string 应用唯一标识 |
| env | string 环境标识 |
| clusterName | string 集群名称 |
| namespaceName | string 命名空间名称 |
| namespaceId | integer <int64> 命名空间ID |
| format | string 命名空间格式类型(properties/xml/json/yml等) |
| configText | string 配置内容的原始文本 |
| operator | string 操作者用户名 |
{- "appId": "string",
- "env": "string",
- "clusterName": "string",
- "namespaceName": "string",
- "namespaceId": 0,
- "format": "string",
- "configText": "string",
- "operator": "string"
}{- "status": 404,
- "message": "Resource not found",
- "timestamp": "2025-09-29T12:34:56Z",
- "exception": "NotFoundException"
}GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key}
| appId required | string |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| key required | string 配置项键名(需要URL编码) |
{- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "dev-user",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-20T14:25:00.000Z",
- "key": "spring.datasource.url",
- "type": 0,
- "value": "jdbc:mysql://localhost:3306/apollo?useUnicode=true&characterEncoding=utf8",
- "comment": "数据库连接地址,包含特殊字符"
}PUT /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key}
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| key required | string 配置项键名(需要URL编码) |
| createIfNotExists required | boolean Default: false Example: createIfNotExists=false 若不存在则创建(true/false) |
| operator | string 操作人用户名 |
| key | string 配置项的键名,在同一命名空间内唯一标识一个配置项 |
| value | string 配置项的值,可以是字符串、数字、JSON等格式 |
| type | integer 配置项类型 |
| comment | string 配置项的注释说明,用于描述配置项的用途和含义 |
| lineNum | integer <int32> 配置项在命名空间中的行号,用于保持和旧版 Portal 配置项列表一致的默认展示顺序 |
object (OpenItemExtendDTO) Apollo配置项扩展信息,包含状态、类型、归属及变更对比信息 | |
| dataChangeCreatedBy | string 配置项创建者用户名,记录是谁创建了这个配置项 |
| dataChangeCreatedByDisplayName | string 配置项创建者显示名称,用于展示创建者的友好名称 |
| dataChangeLastModifiedBy | string 配置项最后修改者用户名,记录最后一次修改配置的用户 |
| dataChangeLastModifiedByDisplayName | string 配置项最后修改者显示名称,用于展示最后修改者的友好名称 |
| dataChangeCreatedTime | string 配置项创建时间,ISO 8601格式的时间戳 |
| dataChangeLastModifiedTime | string 配置项最后修改时间,ISO 8601格式的时间戳 |
{- "key": "string",
- "value": "string",
- "type": 0,
- "comment": "string",
- "lineNum": 0,
- "extendInfo": {
- "namespaceId": 0,
- "isModified": true,
- "isDeleted": true,
- "isNewlyAdded": true,
- "newValue": "string",
- "oldValue": "string"
}, - "dataChangeCreatedBy": "string",
- "dataChangeCreatedByDisplayName": "string",
- "dataChangeLastModifiedBy": "string",
- "dataChangeLastModifiedByDisplayName": "string",
- "dataChangeCreatedTime": "2025-09-29T12:34:56Z",
- "dataChangeLastModifiedTime": "2025-09-29T12:34:56Z"
}{- "status": 404,
- "message": "Resource not found",
- "timestamp": "2025-09-29T12:34:56Z",
- "exception": "NotFoundException"
}DELETE /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/encodedItems/{key}
| appId required | string |
| env required | string |
| clusterName required | string |
| namespaceName required | string |
| key required | string |
| operator required | string |
GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/items:
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| branchName required | string 分支名称 |
[- {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "dev-user",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-20T14:25:00.000Z",
- "key": "feature.new-feature",
- "type": 0,
- "value": "enabled",
- "comment": "新功能开关,分支测试中"
}, - {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "dev-user",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-20T14:25:00.000Z",
- "key": "test.debug.level",
- "type": 0,
- "value": "verbose",
- "comment": "测试调试级别"
}
]POST /apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/diff
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
Array of objects (OpenNamespaceIdentifier) 目标命名空间标识列表 | |
Array of objects (OpenItemDTO) 需要修改的配置项列表 |
{- "syncToNamespaces": [
- {
- "appId": "string",
- "env": "string",
- "clusterName": "string",
- "namespaceName": "string"
}
], - "syncItems": [
- {
- "key": "string",
- "value": "string",
- "type": 0,
- "comment": "string",
- "lineNum": 0,
- "extendInfo": {
- "namespaceId": 0,
- "isModified": true,
- "isDeleted": true,
- "isNewlyAdded": true,
- "newValue": "string",
- "oldValue": "string"
}, - "dataChangeCreatedBy": "string",
- "dataChangeCreatedByDisplayName": "string",
- "dataChangeLastModifiedBy": "string",
- "dataChangeLastModifiedByDisplayName": "string",
- "dataChangeCreatedTime": "2025-09-29T12:34:56Z",
- "dataChangeLastModifiedTime": "2025-09-29T12:34:56Z"
}
]
}[- {
- "namespace": {
- "appId": "",
- "env": "",
- "clusterName": "",
- "namespaceName": ""
}, - "diffs": {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedByDisplayName": "",
- "dataChangeLastModifiedByDisplayName": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "createItems": [
- {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedByDisplayName": "",
- "dataChangeLastModifiedByDisplayName": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "id": 0,
- "namespaceId": 0,
- "key": "",
- "type": 0,
- "value": "",
- "comment": "",
- "lineNum": 0
}
], - "updateItems": [
- {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedByDisplayName": "",
- "dataChangeLastModifiedByDisplayName": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "id": 0,
- "namespaceId": 0,
- "key": "",
- "type": 0,
- "value": "",
- "comment": "",
- "lineNum": 0
}
], - "deleteItems": [
- {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedByDisplayName": "",
- "dataChangeLastModifiedByDisplayName": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "id": 0,
- "namespaceId": 0,
- "key": "",
- "type": 0,
- "value": "",
- "comment": "",
- "lineNum": 0
}
]
}, - "extInfo": ""
}
]POST /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/synchronize:
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string |
| namespaceName required | string |
| operator | string 操作人用户名 |
Array of objects (OpenNamespaceIdentifier) 目标命名空间标识列表 | |
Array of objects (OpenItemDTO) 需要修改的配置项列表 |
{- "syncToNamespaces": [
- {
- "appId": "string",
- "env": "string",
- "clusterName": "string",
- "namespaceName": "string"
}
], - "syncItems": [
- {
- "key": "string",
- "value": "string",
- "type": 0,
- "comment": "string",
- "lineNum": 0,
- "extendInfo": {
- "namespaceId": 0,
- "isModified": true,
- "isDeleted": true,
- "isNewlyAdded": true,
- "newValue": "string",
- "oldValue": "string"
}, - "dataChangeCreatedBy": "string",
- "dataChangeCreatedByDisplayName": "string",
- "dataChangeLastModifiedBy": "string",
- "dataChangeLastModifiedByDisplayName": "string",
- "dataChangeCreatedTime": "2025-09-29T12:34:56Z",
- "dataChangeLastModifiedTime": "2025-09-29T12:34:56Z"
}
]
}{- "status": 404,
- "message": "Resource not found",
- "timestamp": "2025-09-29T12:34:56Z",
- "exception": "NotFoundException"
}POST /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/validation
| appId required | string |
| env required | string |
| clusterName required | string |
| namespaceName required | string |
| appId | string 应用唯一标识 |
| env | string 环境标识 |
| clusterName | string 集群名称 |
| namespaceName | string 命名空间名称 |
| namespaceId | integer <int64> 命名空间ID |
| format | string 命名空间格式类型(properties/xml/json/yml等) |
| configText | string 配置内容的原始文本 |
| operator | string 操作者用户名 |
{- "appId": "string",
- "env": "string",
- "clusterName": "string",
- "namespaceName": "string",
- "namespaceId": 0,
- "format": "string",
- "configText": "string",
- "operator": "string"
}{- "status": 404,
- "message": "Resource not found",
- "timestamp": "2025-09-29T12:34:56Z",
- "exception": "NotFoundException"
}POST /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/items/revocation
| appId required | string |
| env required | string |
| clusterName required | string |
| namespaceName required | string |
| operator | string 操作人用户名 |
{- "status": 404,
- "message": "Resource not found",
- "timestamp": "2025-09-29T12:34:56Z",
- "exception": "NotFoundException"
}创建发布
| appId required | string app标识 |
| env required | string 环境标识 |
| clusterName required | string |
| namespaceName required | string 命名空间名称 |
| operator | string 操作人用户名 |
| releaseTitle | string 发布标题,用于标识这次发布的名称或版本号 |
| releaseComment | string 发布备注,详细描述本次发布的变更内容和目的 |
| releasedBy | string 发布操作者用户名,记录是谁执行了这次发布操作 |
| isEmergencyPublish | boolean 是否为紧急发布,紧急发布可能会跳过某些审核流程 |
{- "releaseTitle": "string",
- "releaseComment": "string",
- "releasedBy": "string",
- "isEmergencyPublish": true
}{- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "apollo",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-15T10:30:00.000Z",
- "id": 12345,
- "appId": "sample-app",
- "clusterName": "default",
- "namespaceName": "application",
- "name": "Release v1.0.0",
- "configurations": {
- "server.port": "8080",
- "spring.datasource.url": "jdbc:mysql://localhost:3306/apollo",
- "logging.level.root": "INFO"
}, - "comment": "首次发布,包含基础配置"
}查询命名空间最新活跃发布
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
{- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "apollo",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-15T10:30:00.000Z",
- "id": 12345,
- "appId": "sample-app",
- "clusterName": "default",
- "namespaceName": "application",
- "name": "Release v1.2.0",
- "configurations": {
- "server.port": "8080",
- "spring.datasource.url": "jdbc:mysql://localhost:3306/apollo",
- "logging.level.root": "INFO",
- "app.version": "1.2.0"
}, - "comment": "最新生产发布版本,包含性能优化"
}创建灰度发布
| appId required | string app标识 |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| branchName required | string 分支名称 |
| operator | string 操作人用户名 |
| releaseTitle | string 发布标题,用于标识这次发布的名称或版本号 |
| releaseComment | string 发布备注,详细描述本次发布的变更内容和目的 |
| releasedBy | string 发布操作者用户名,记录是谁执行了这次发布操作 |
| isEmergencyPublish | boolean 是否为紧急发布,紧急发布可能会跳过某些审核流程 |
{- "releaseTitle": "string",
- "releaseComment": "string",
- "releasedBy": "string",
- "isEmergencyPublish": true
}{- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "id": 0,
- "appId": "",
- "clusterName": "",
- "namespaceName": "",
- "name": "",
- "configurations": {
- "": ""
}, - "comment": ""
}| appId required | string |
| env required | string |
| clusterName required | string |
| namespaceName required | string |
| branchName required | string |
| operator | string 操作人用户名 |
| releaseTitle | string 发布标题,用于标识这次灰度删除发布的名称或版本号 |
| releaseComment | string 发布备注,详细描述本次灰度删除发布的目的和删除的配置项 |
| releasedBy | string 发布操作者用户名,记录是谁执行了这次灰度删除发布操作 |
| isEmergencyPublish | boolean 是否为紧急发布,紧急发布可能会跳过某些审核流程 |
| grayDelKeys | Array of strings 需要在灰度发布中删除的配置项键名列表 |
{- "releaseTitle": "string",
- "releaseComment": "string",
- "releasedBy": "string",
- "isEmergencyPublish": true,
- "grayDelKeys": [
- "string"
]
}{- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "id": 0,
- "appId": "",
- "clusterName": "",
- "namespaceName": "",
- "name": "",
- "configurations": {
- "": ""
}, - "comment": ""
}GET /openapi/v1/envs/{env}/releases/{releaseId}
| env required | string 环境标识 |
| releaseId required | integer <int64> 发布ID |
{- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "id": 0,
- "appId": "",
- "clusterName": "",
- "namespaceName": "",
- "name": "",
- "configurations": {
- "": ""
}, - "comment": ""
}GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/releases/active
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| page required | integer 页码,从0开始 |
| size required | integer Example: size=5 每页数量 |
[- {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "id": 0,
- "appId": "",
- "clusterName": "",
- "namespaceName": "",
- "name": "",
- "configurations": {
- "": ""
}, - "comment": ""
}
]Get the configuration differences between two releases.
| env required | string Environment |
| baseReleaseId required | integer <int64> The base release ID |
| toCompareReleaseId required | integer <int64> The release ID to compare against |
{- "changes": [
- {
- "changeType": "string",
- "key": "string",
- "newValue": "string",
- "oldValue": "string"
}
]
}GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}
| appId required | string |
| clusterName required | string |
| env required | string |
{- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "ops-user",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-18T09:15:00.000Z",
- "name": "production",
- "appId": "sample-app"
}DELETE /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}
| env required | string |
| appId required | string |
| clusterName required | string |
| operator | string 操作人用户名,openapi外部调用时需传入 |
{- "status": 404,
- "message": "Resource not found",
- "timestamp": "2025-09-29T12:34:56Z",
- "exception": "NotFoundException"
}POST /openapi/v1/envs/{env}/apps/{appId}/clusters
| appId required | string 应用ID |
| env required | string |
| dataChangeCreatedBy | string 集群创建者用户名,记录是谁创建了这个集群 |
| dataChangeCreatedByDisplayName | string 集群创建者显示名称,用于展示创建者的友好名称 |
| dataChangeLastModifiedBy | string 集群最后修改者用户名,记录最后一次修改集群信息的用户 |
| dataChangeLastModifiedByDisplayName | string 集群最后修改者显示名称,用于展示最后修改者的友好名称 |
| dataChangeCreatedTime | string 集群创建时间,ISO 8601格式的时间戳 |
| dataChangeLastModifiedTime | string 集群最后修改时间,ISO 8601格式的时间戳 |
| name | string 集群名称,在同一应用和环境下唯一标识一个集群 |
| appId | string 所属应用的唯一标识符 |
| id | integer <int64> 集群的唯一标识符 |
| parentClusterId | integer <int64> 父集群的ID |
| comment | string 集群的备注说明 |
{- "dataChangeCreatedBy": "string",
- "dataChangeCreatedByDisplayName": "string",
- "dataChangeLastModifiedBy": "string",
- "dataChangeLastModifiedByDisplayName": "string",
- "dataChangeCreatedTime": "2025-09-29T12:34:56Z",
- "dataChangeLastModifiedTime": "2025-09-29T12:34:56Z",
- "name": "string",
- "appId": "string",
- "id": 0,
- "parentClusterId": 0,
- "comment": "string"
}{- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "apollo",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-15T10:30:00.000Z",
- "name": "test-cluster",
- "appId": "sample-app"
}POST /openapi/v1/apps/{appId}/namespaces
| operator | string 操作人用户名 |
| appId | string 所属应用的唯一标识符 |
| env | string 所在那个环境创建 |
| clusterName | string 所属集群的名称 |
| appNamespaceName | string 根据已创建的appnamespace来实例化namespace |
[- {
- "appId": "string",
- "env": "string",
- "clusterName": "string",
- "appNamespaceName": "string"
}
]GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces
| appId required | string |
| env required | string |
| clusterName required | string |
| fillItemDetail required | boolean Default: true Example: fillItemDetail=true |
| extendInfo | boolean Default: false |
[- {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "appId": "",
- "clusterName": "",
- "namespaceName": "",
- "comment": "",
- "format": "",
- "isPublic": false,
- "items": [
- {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "key": "",
- "type": 0,
- "value": "",
- "comment": ""
}
]
}
]GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}
| appId required | string |
| env required | string |
| clusterName required | string |
| namespaceName required | string |
| fillItemDetail required | boolean Default: true Example: fillItemDetail=true |
| extendInfo | boolean Default: false |
{- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "appId": "",
- "clusterName": "",
- "namespaceName": "",
- "comment": "",
- "format": "",
- "isPublic": false,
- "items": [
- {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "key": "",
- "type": 0,
- "value": "",
- "comment": ""
}
]
}GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/associated-public-namespace
| env required | string 环境标识 |
| appId required | string 应用ID |
| clusterName required | string 集群名称 |
| namespaceName required | string 关联Namespace名称 |
| extendInfo | boolean Default: false |
{- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "apollo",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-20T11:00:00.000Z",
- "appId": "public-owner-app",
- "clusterName": "default",
- "namespaceName": "public.namespace",
- "comment": "公共 namespace 示例",
- "format": "properties",
- "isPublic": true,
- "parentAppId": "public-owner-app",
- "isConfigHidden": false,
- "itemModifiedCnt": 0,
- "items": [
- {
- "key": "k1",
- "value": "v1"
}, - {
- "key": "k2",
- "value": "v2"
}
]
}GET /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/usage
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
[- {
- "namespaceName": "string",
- "appId": "string",
- "clusterName": "string",
- "envName": "string",
- "instanceCount": 0,
- "branchInstanceCount": 0,
- "linkedNamespaceCount": 0
}
]DELETE /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| operator | string 操作人用户名 |
GET /openapi/v1/apps/{appId}/appnamespaces/{namespaceName}/usage
| appId required | string 应用ID |
| namespaceName required | string 命名空间名称 |
[- {
- "namespaceName": "string",
- "appId": "string",
- "clusterName": "string",
- "envName": "string",
- "instanceCount": 0,
- "branchInstanceCount": 0,
- "linkedNamespaceCount": 0
}
]POST /openapi/v1/apps/{appId}/appnamespaces
| appId required | string |
| operator | string 操作人用户名 |
| dataChangeCreatedBy | string 命名空间创建者用户名,记录是谁创建了这个应用命名空间 |
| dataChangeCreatedByDisplayName | string 命名空间创建者显示名称,用于展示创建者的友好名称 |
| dataChangeLastModifiedBy | string 命名空间最后修改者用户名,记录最后一次修改命名空间信息的用户 |
| dataChangeLastModifiedByDisplayName | string 命名空间最后修改者显示名称,用于展示最后修改者的友好名称 |
| dataChangeCreatedTime | string 命名空间创建时间,ISO 8601格式的时间戳 |
| dataChangeLastModifiedTime | string 命名空间最后修改时间,ISO 8601格式的时间戳 |
| name | string 命名空间名称,在同一应用内唯一标识一个命名空间 |
| appId | string 所属应用的唯一标识符 |
| format | string 命名空间格式类型,如properties、xml、json、yml等 |
| isPublic | boolean 是否为公共命名空间,公共命名空间可以被其他应用关联使用 |
| appendNamespacePrefix | boolean Default: true 对于公共命名空间,是否在命名空间名称前添加前缀 |
| comment | string 命名空间备注说明,描述命名空间的用途和包含的配置类型 |
{- "dataChangeCreatedBy": "string",
- "dataChangeCreatedByDisplayName": "string",
- "dataChangeLastModifiedBy": "string",
- "dataChangeLastModifiedByDisplayName": "string",
- "dataChangeCreatedTime": "2025-09-29T12:34:56Z",
- "dataChangeLastModifiedTime": "2025-09-29T12:34:56Z",
- "name": "string",
- "appId": "string",
- "format": "string",
- "isPublic": true,
- "appendNamespacePrefix": true,
- "comment": "string"
}{- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "apollo",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-15T10:30:00.000Z",
- "name": "database",
- "appId": "sample-app",
- "format": "properties",
- "isPublic": false,
- "appendNamespacePrefix": true,
- "comment": "数据库相关配置命名空间"
}GET /openapi/v1/apps/{appId}/appnamespaces
| appId required | string |
[- {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "name": "",
- "appId": "",
- "format": "",
- "isPublic": false,
- "appendNamespacePrefix": false,
- "comment": ""
}
]GET /openapi/v1/appnamespaces/public
[- {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "name": "",
- "appId": "",
- "format": "",
- "isPublic": false,
- "appendNamespacePrefix": false,
- "comment": ""
}
]GET /openapi/v1/apps/{appId}/appnamespaces/{namespaceName}
| appId required | string 应用ID |
| namespaceName required | string 命名空间名称 |
| extendInfo | boolean Default: false |
{- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "name": "",
- "appId": "",
- "format": "",
- "isPublic": false,
- "appendNamespacePrefix": false,
- "comment": ""
}GET /openapi/v1/envs/{env}/appnamespaces/{publicNamespaceName}/instances
| env required | string 环境标识 |
| publicNamespaceName required | string 公共命名空间名称 |
| page required | integer 页码,从0开始 |
| size required | integer Example: size=10 每页数量 |
[- {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "appId": "",
- "clusterName": "",
- "namespaceName": "",
- "comment": "",
- "format": "",
- "isPublic": false,
- "items": [
- {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "key": "",
- "type": 0,
- "value": "",
- "comment": ""
}
]
}
]GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/lock
| appId required | string |
| env required | string |
| clusterName required | string |
| namespaceName required | string |
{- "namespaceName": "",
- "isLocked": false,
- "lockedBy": ""
}合并灰度分支并可选择删除分支
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| branchName required | string 分支名称 |
| deleteBranch required | boolean Example: deleteBranch=true 合并后是否删除分支(true/false) |
| releaseTitle | string 发布标题,用于标识这次发布的名称或版本号 |
| releaseComment | string 发布备注,详细描述本次发布的变更内容和目的 |
| releasedBy | string 发布操作者用户名,记录是谁执行了这次发布操作 |
| isEmergencyPublish | boolean 是否为紧急发布,紧急发布可能会跳过某些审核流程 |
{- "releaseTitle": "string",
- "releaseComment": "string",
- "releasedBy": "string",
- "isEmergencyPublish": true
}{- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "apollo",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-15T10:30:00.000Z",
- "id": 12346,
- "appId": "sample-app",
- "clusterName": "default",
- "namespaceName": "application",
- "name": "Merge from branch feature-123",
- "configurations": {
- "server.port": "8080",
- "spring.datasource.url": "jdbc:mysql://localhost:3306/apollo",
- "logging.level.root": "INFO",
- "feature.new-feature": "enabled"
}, - "comment": "合并功能分支到主分支,包含新功能配置"
}GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| extendInfo | boolean Default: false |
{- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "dev-user",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-20T14:25:00.000Z",
- "appId": "sample-app",
- "clusterName": "default",
- "namespaceName": "application",
- "comment": "功能分支,用于测试新特性",
- "format": "properties",
- "isPublic": false,
- "items": [
- {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "dev-user",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-20T14:25:00.000Z",
- "key": "feature.new-feature",
- "type": 0,
- "value": "enabled",
- "comment": "新功能开关"
}, - {
- "dataChangeCreatedBy": "apollo",
- "dataChangeLastModifiedBy": "dev-user",
- "dataChangeCreatedTime": "2024-01-15T10:30:00.000Z",
- "dataChangeLastModifiedTime": "2024-01-20T14:25:00.000Z",
- "key": "test.mode",
- "type": 0,
- "value": "debug",
- "comment": "测试模式配置"
}
]
}POST /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches
| appId required | string app标识 |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| operator | string 操作人用户名 |
{- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "appId": "",
- "clusterName": "",
- "namespaceName": "",
- "comment": "",
- "format": "",
- "isPublic": false,
- "items": [
- {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "key": "",
- "type": 0,
- "value": "",
- "comment": ""
}
]
}DELETE /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}
| env required | string 环境标识 |
| appId required | string 应用ID |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| branchName required | string 分支名称 |
| operator | string 操作人用户名 |
POST /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}
| env required | string 环境标识 |
| appId required | string 应用ID |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| branchName required | string 分支名称 |
| deleteBranch required | boolean Example: deleteBranch=true 合并后是否删除分支(true/false) |
| operator | string 操作人用户名 |
| releaseTitle | string 发布标题,用于标识这次发布的名称或版本号 |
| releaseComment | string 发布备注,详细描述本次发布的变更内容和目的 |
| releasedBy | string 发布操作者用户名,记录是谁执行了这次发布操作 |
| isEmergencyPublish | boolean 是否为紧急发布,紧急发布可能会跳过某些审核流程 |
{- "releaseTitle": "string",
- "releaseComment": "string",
- "releasedBy": "string",
- "isEmergencyPublish": true
}{- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "id": 0,
- "appId": "",
- "clusterName": "",
- "namespaceName": "",
- "name": "",
- "configurations": {
- "": ""
}, - "comment": ""
}GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/rules
| appId required | string app标识 |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| branchName required | string 分支名称 |
{- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "appId": "",
- "clusterName": "",
- "namespaceName": "",
- "branchName": "",
- "ruleItems": [
- {
- "clientAppId": "",
- "clientIpList": [
- ""
], - "clientLabelList": [
- ""
]
}
]
}PUT /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/branches/{branchName}/rules
| appId required | string 应用ID |
| env required | string 环境标识 |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| branchName required | string 分支名称 |
| operator | string 操作人用户名 |
| dataChangeCreatedBy | string 灰度规则创建者用户名,记录是谁创建了这个灰度发布规则 |
| dataChangeCreatedByDisplayName | string 灰度规则创建者显示名称,用于展示创建者的友好名称 |
| dataChangeLastModifiedBy | string 灰度规则最后修改者用户名,记录最后一次修改规则的用户 |
| dataChangeLastModifiedByDisplayName | string 灰度规则最后修改者显示名称,用于展示最后修改者的友好名称 |
| dataChangeCreatedTime | string 灰度规则创建时间,ISO 8601格式的时间戳 |
| dataChangeLastModifiedTime | string 灰度规则最后修改时间,ISO 8601格式的时间戳 |
| appId | string 所属应用的唯一标识符 |
| clusterName | string 所属集群的名称 |
| namespaceName | string 所属命名空间的名称 |
| branchName | string 灰度分支名称,标识灰度发布的分支 |
Array of objects (OpenGrayReleaseRuleItemDTO) unique 灰度发布规则项列表,包含具体的灰度规则条件 |
{- "dataChangeCreatedBy": "string",
- "dataChangeCreatedByDisplayName": "string",
- "dataChangeLastModifiedBy": "string",
- "dataChangeLastModifiedByDisplayName": "string",
- "dataChangeCreatedTime": "2025-09-29T12:34:56Z",
- "dataChangeLastModifiedTime": "2025-09-29T12:34:56Z",
- "appId": "string",
- "clusterName": "string",
- "namespaceName": "string",
- "branchName": "string",
- "ruleItems": [
- {
- "clientAppId": "string",
- "clientIpList": [
- "string"
], - "clientLabelList": [
- "string"
]
}
]
}GET /openapi/v1/envs/{env}/apps/{appId}/clusters/{clusterName}/namespaces/{namespaceName}/instances
| env required | string |
| appId required | string 应用ID |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
0GET /openapi/v1/envs/{env}/instances/by-release
| env required | string |
| releaseId required | integer <int64> |
| page required | integer |
| size required | integer Example: size=20 |
{- "page": 0,
- "size": 0,
- "total": 0,
- "instances": [
- {
- "id": 0,
- "appId": "",
- "clusterName": "",
- "dataCenter": "",
- "ip": "",
- "configs": [
- {
- "release": {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "id": 0,
- "appId": "",
- "clusterName": "",
- "namespaceName": "",
- "name": "",
- "configurations": {
- "": ""
}, - "comment": ""
}, - "releaseDeliveryTime": "",
- "dataChangeLastModifiedTime": ""
}
], - "dataChangeCreatedTime": ""
}
]
}| env required | string 环境标识 |
| appId required | string 应用ID |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| instanceAppId | string Instance表中的AppID |
| page required | integer >= 0 Default: 0 页数 |
| size required | integer >= 0 Default: 0 页大小 |
{- "page": 0,
- "size": 0,
- "total": 0,
- "instances": [
- {
- "id": 0,
- "appId": "",
- "clusterName": "",
- "dataCenter": "",
- "ip": "",
- "configs": [
- {
- "release": {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "id": 0,
- "appId": "",
- "clusterName": "",
- "namespaceName": "",
- "name": "",
- "configurations": {
- "": ""
}, - "comment": ""
}, - "releaseDeliveryTime": "",
- "dataChangeLastModifiedTime": ""
}
], - "dataChangeCreatedTime": ""
}
]
}| env required | string 环境标识 |
| appId required | string 应用ID |
| clusterName required | string 集群名称 |
| namespaceName required | string 命名空间名称 |
| releaseIds required | string 排除的发布ID列表,用逗号分隔 |
[- {
- "id": 0,
- "appId": "",
- "clusterName": "",
- "dataCenter": "",
- "ip": "",
- "configs": [
- {
- "release": {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "id": 0,
- "appId": "",
- "clusterName": "",
- "namespaceName": "",
- "name": "",
- "configurations": {
- "": ""
}, - "comment": ""
}, - "releaseDeliveryTime": "",
- "dataChangeLastModifiedTime": ""
}
], - "dataChangeCreatedTime": ""
}
][- {
- "orgId": "default",
- "orgName": "Default Organization"
}, - {
- "orgId": "microservices",
- "orgName": "Microservices Team"
}, - {
- "orgId": "infrastructure",
- "orgName": "Infrastructure Team"
}
]| appId required | string |
| env required | string |
| operator | string 操作人用户名 |
{- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedByDisplayName": "",
- "dataChangeLastModifiedByDisplayName": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "id": 0,
- "secret": "",
- "appId": "",
- "mode": 0,
- "enabled": false
}[- {
- "dataChangeCreatedBy": "",
- "dataChangeLastModifiedBy": "",
- "dataChangeCreatedByDisplayName": "",
- "dataChangeLastModifiedByDisplayName": "",
- "dataChangeCreatedTime": "",
- "dataChangeLastModifiedTime": "",
- "id": 0,
- "secret": "",
- "appId": "",
- "mode": 0,
- "enabled": false
}
]| appId required | string |
| env required | string |
| namespaceName required | string |
{- "appId": "",
- "namespaceName": "",
- "modifyRoleUsers": [
- {
- "userId": "",
- "name": "",
- "email": "",
- "enabled": 0
}
], - "releaseRoleUsers": [
- {
- "userId": "",
- "name": "",
- "email": "",
- "enabled": 0
}
], - "env": ""
}| appId required | string |
| env required | string |
| clusterName required | string |
{- "appId": "",
- "env": "",
- "cluster": "",
- "modifyRoleUsers": [
- {
- "userId": "",
- "name": "",
- "email": "",
- "enabled": 0
}
], - "releaseRoleUsers": [
- {
- "userId": "",
- "name": "",
- "email": "",
- "enabled": 0
}
]
}| appId required | string |
| namespaceName required | string |
{- "appId": "",
- "namespaceName": "",
- "modifyRoleUsers": [
- {
- "userId": "",
- "name": "",
- "email": "",
- "enabled": 0
}
], - "releaseRoleUsers": [
- {
- "userId": "",
- "name": "",
- "email": "",
- "enabled": 0
}
]
}| appId required | string |
| roleType required | string |
| operator | string 操作人用户名 |
| userId required | string the user which role removed from |
"string"GET /openapi/v1/users,支持Portal用户登录态或具备ManageUsers权限的Consumer Token访问
| keyword required | string 用户名、显示名或邮箱关键字 |
| includeInactiveUsers | boolean Default: false 是否包含禁用用户 |
| offset | integer >= 0 Default: 0 偏移量 |
| limit | integer >= 1 Default: 10 返回数量 |
[- {
- "userId": "string",
- "name": "string",
- "email": "string",
- "enabled": 0
}
]POST /openapi/v1/users,Portal用户登录态使用当前登录用户作为operator;Consumer Token访问时需要具备ManageUsers权限并传入有效operator
| isCreate | boolean Default: false true 表示创建用户,false 表示更新用户 |
| operator | string 操作人用户名,Consumer Token访问时必填且必须是已存在用户;Portal用户登录态会忽略该参数 |
| username | string 用户名 |
| userDisplayName | string 用户显示名 |
| password | string 用户密码 |
string 用户邮箱 | |
| enabled | integer 是否启用,1 表示启用,0 表示禁用 |
{- "username": "string",
- "userDisplayName": "string",
- "password": "string",
- "email": "string",
- "enabled": 0
}{- "status": 404,
- "message": "Resource not found",
- "timestamp": "2025-09-29T12:34:56Z",
- "exception": "NotFoundException"
}PUT /openapi/v1/users/enabled,Portal用户登录态使用当前登录用户作为operator;Consumer Token访问时需要具备ManageUsers权限并传入有效operator
| operator | string 操作人用户名,Consumer Token访问时必填且必须是已存在用户;Portal用户登录态会忽略该参数 |
| username | string 用户名 |
| userDisplayName | string 用户显示名 |
| password | string 用户密码 |
string 用户邮箱 | |
| enabled | integer 是否启用,1 表示启用,0 表示禁用 |
{- "username": "string",
- "userDisplayName": "string",
- "password": "string",
- "email": "string",
- "enabled": 0
}{- "status": 404,
- "message": "Resource not found",
- "timestamp": "2025-09-29T12:34:56Z",
- "exception": "NotFoundException"
}GET /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/commits
| appId required | string |
| env required | string |
| clusterName required | string |
| namespaceName required | string |
| key | string |
| page | integer Default: 0 |
| size | integer Default: 10 |
[- { }
]POST /openapi/v1/consumers
| expires | string yyyyMMddHHmmss |
| appId | string 第三方应用ID |
| allowCreateApplication | boolean Default: false 是否允许该Consumer Token创建应用 |
| allowManageUsers | boolean Default: false 是否允许该Consumer Token管理用户 |
| name | string 第三方应用名称 |
| orgId | string 部门ID |
| orgName | string 部门名称 |
| ownerName | string 负责人用户名 |
| rateLimitEnabled | boolean Default: false 是否开启限流 |
| rateLimit | integer >= 0 Default: 0 限流QPS,0表示不限流 |
{- "appId": "string",
- "allowCreateApplication": false,
- "allowManageUsers": false,
- "name": "string",
- "orgId": "string",
- "orgName": "string",
- "ownerName": "string",
- "rateLimitEnabled": false,
- "rateLimit": 0
}{- "appId": "string",
- "name": "string",
- "orgId": "string",
- "orgName": "string",
- "ownerName": "string",
- "ownerEmail": "string",
- "consumerId": 0,
- "token": "string",
- "allowCreateApplication": false,
- "allowManageUsers": false,
- "rateLimit": 0,
- "rateLimitEnabled": false
}GET /openapi/v1/consumers
| page | integer Default: 0 |
| size | integer Default: 10 |
[- {
- "appId": "string",
- "name": "string",
- "orgId": "string",
- "orgName": "string",
- "ownerName": "string",
- "ownerEmail": "string",
- "consumerId": 0,
- "allowCreateApplication": false,
- "allowManageUsers": false,
- "rateLimit": 0,
- "rateLimitEnabled": false
}
]GET /openapi/v1/consumer-tokens/by-appId
| appId required | string |
{- "appId": "string",
- "name": "string",
- "orgId": "string",
- "orgName": "string",
- "ownerName": "string",
- "ownerEmail": "string",
- "consumerId": 0,
- "token": "string",
- "allowCreateApplication": false,
- "allowManageUsers": false,
- "rateLimit": 0,
- "rateLimitEnabled": false
}POST /openapi/v1/consumers/{token}/assign-role
| token required | string |
| type required | string |
| envs | string |
{ }[- { }
]GET /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/releases/histories
| appId required | string |
| env required | string |
| clusterName required | string |
| namespaceName required | string |
| page | integer Default: 0 |
| size | integer Default: 10 |
[- { }
]POST /openapi/v1/server/envs/{env}/config-db/config
| env required | string |
{ }{ }POST /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/import
| appId required | string |
| env required | string |
| clusterName required | string |
| conflictAction | string Default: "ignore" |
| file | string <binary> |
POST /openapi/v1/apps/{appId}/envs/{env}/clusters/{clusterName}/namespaces/{namespaceName}/items/import
| appId required | string |
| env required | string |
| clusterName required | string |
| namespaceName required | string |
| file | string <binary> |