POST
/api/v1/database/roles/{role_id}/credentials/{credential_id}/renew使用 App Header 签名或 App Secret需要 unsealed
Path 参数
credential_id必填string
数据库动态凭据 ID
示例:"019fb190-0f55-7b8a-a8b4-112233445566"
role_id必填string
数据库动态角色 ID
示例:"019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
Body 参数
increment必填string
本次延长的时长,例如 30m、1h
示例:"30m"
成功响应
HTTP 200
返回更新后的数据库动态凭据
{
"data": {
"result": {
"connection_id": "019fb17c-6c18-7c59-a848-998877665544",
"created_at": "2026-08-02T08:00:00Z",
"created_by": "app_orders",
"driver_type": "postgresql",
"expires_at": "2026-08-02T09:00:00Z",
"id": "019fb190-0f55-7b8a-a8b4-112233445566",
"issue_time": "2026-08-02T08:00:00Z",
"issued_to_principal_id": "app_orders",
"issued_to_principal_type": "app",
"last_error": "",
"lease_id": "019fb190-6de4-7cb9-b92b-aabbccddeeff",
"metadata": {},
"role_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910",
"status": "active",
"updated_at": "2026-08-02T08:00:00Z",
"updated_by": "app_orders",
"username": "app_orders_a8f2",
"version": 1
}
},
"error": null,
"request_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
}失败响应
按 HTTP status 和 error.code 区分失败原因;响应始终使用统一 envelope。
HTTP 400 · invalid_request
请求参数或 JSON 请求体无效
{
"data": null,
"error": {
"code": "invalid_request",
"details": {},
"message": "请求参数或 JSON 请求体无效"
},
"request_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
}HTTP 400 · not_initialized
系统尚未初始化
{
"data": null,
"error": {
"code": "not_initialized",
"details": {},
"message": "系统尚未初始化"
},
"request_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
}HTTP 401 · replayed_request
签名请求的 nonce 已被使用
{
"data": null,
"error": {
"code": "replayed_request",
"details": {},
"message": "签名请求的 nonce 已被使用"
},
"request_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
}HTTP 401 · unauthorized
App ID、App Secret 或签名无效,或者凭据已过期
{
"data": null,
"error": {
"code": "unauthorized",
"details": {},
"message": "App ID、App Secret 或签名无效,或者凭据已过期"
},
"request_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
}HTTP 403 · forbidden
App 没有访问目标资源所需的权限
{
"data": null,
"error": {
"code": "forbidden",
"details": {},
"message": "App 没有访问目标资源所需的权限"
},
"request_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
}HTTP 404 · not_found
数据库动态角色或动态凭据不存在
{
"data": null,
"error": {
"code": "not_found",
"details": {},
"message": "数据库动态角色或动态凭据不存在"
},
"request_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
}HTTP 409 · conflict
动态凭据的当前状态不允许执行该操作
{
"data": null,
"error": {
"code": "conflict",
"details": {},
"message": "动态凭据的当前状态不允许执行该操作"
},
"request_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
}HTTP 413 · request_body_too_large
请求体超过服务端限制
{
"data": null,
"error": {
"code": "request_body_too_large",
"details": {},
"message": "请求体超过服务端限制"
},
"request_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
}HTTP 423 · sealed
系统处于封印状态
{
"data": null,
"error": {
"code": "sealed",
"details": {},
"message": "系统处于封印状态"
},
"request_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
}HTTP 500 · internal_error
服务端无法完成请求
{
"data": null,
"error": {
"code": "internal_error",
"details": {},
"message": "服务端无法完成请求"
},
"request_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
}HTTP 503 · leader_unavailable
高可用集群的 Leader 暂不可用
{
"data": null,
"error": {
"code": "leader_unavailable",
"details": {},
"message": "高可用集群的 Leader 暂不可用"
},
"request_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
}HTTP 503 · maintenance_mode
系统处于维护模式
{
"data": null,
"error": {
"code": "maintenance_mode",
"details": {},
"message": "系统处于维护模式"
},
"request_id": "019fb18d-6b45-7e2d-a3b4-c5d6e7f80910"
}