创建项目范围的客户服务帐户并返回其密钥一次。角色只接受一个名称:PROJECT_OWNER、PROJECT_READ_ONLY 或 AGENT_DEVELOPER。 PROJECT_MEMBER 仍被接受。 role_signments 与存储的助手引擎角色相呼应。需要 PROJECT_OWNER;所属组织的 ORG_ADMIN 也会通过。
body
必需
创建请求
-
最大长度为
500。 -
可选IP/CIDR 白名单。为空或省略表示不受限制。最多 100 个条目。
不超过
100个元素。 -
最大长度为
100。 -
Roles 是初始角色设立。只需要一个角色。组织帐户接受 ORG_GROUP_CREATOR 或 ORG_READ_ONLY。项目帐户接受 PROJECT_OWNER、PROJECT_READ_ONLY 或 AGENT_DEVELOPER。仍接受旧版代理引擎名称(ORG_ADMIN、ORG_MEMBER、PROJECT_MEMBER)。 role_signments 回显这些名称解析为的存储的代理引擎角色。
至少
1个但不超过1个元素。 -
可选密钥TTL (以小时为单位)。省略时默认为 2160(90 天)。
POST /api/v1/projects/{id}/service-accounts
curl \
--request POST 'https://agentengine.mongodb.com/api/v1/projects/{id}/service-accounts' \
--header "Authorization: $API_KEY" \
--header "Content-Type: application/json" \
--data '{
"description": "string",
"ip_access_list": [
"string"
],
"name": "string",
"roles": [
"string"
],
"secret_expires_after_hours": 42
}'
请求示例
{
"description": "string",
"ip_access_list": [
"string"
],
"name": "string",
"roles": [
"string"
],
"secret_expires_after_hours": 42
}
响应示例 (406)
操作不可用
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "This operation supports text/event-stream, which the Accept header excludes. Remove unsupported media-type parameters or accept this type with a positive q value.",
"error": 406,
"errorCode": "UNACCEPTABLE_MEDIA_TYPE",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
{
"detail": "The requested API version is not supported. Supported versions: 2026-09-20-preview.",
"error": 406,
"errorCode": "UNSUPPORTED_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
响应示例 (406)
{
"detail": "This operation is not available in API version 2026-09-20-preview.",
"error": 406,
"errorCode": "OPERATION_NOT_IN_API_VERSION",
"parameters": [
"Accept"
],
"reason": "Not Acceptable"
}
响应示例 (201)
{
"client_secret": "string",
"service_account": {
"active_secret": {
"created_at": "string",
"expires_at": "string",
"last_used_at": "string",
"masked_value": "string"
},
"client_id": "string",
"created_at": "string",
"description": "string",
"id": "string",
"ip_access_list": [
"string"
],
"is_active": true,
"is_system_managed": true,
"name": "string",
"org_id": "string",
"owner": "string",
"project_id": "string",
"role_assignments": [
{
"org_id": "string",
"project_id": "string",
"role": "string"
}
],
"type": "string",
"updated_at": "string"
}
}
响应示例 (201)
{
"client_secret": "string",
"service_account": {
"active_secret": {
"created_at": "string",
"expires_at": "string",
"last_used_at": "string",
"masked_value": "string"
},
"client_id": "string",
"created_at": "string",
"description": "string",
"id": "string",
"ip_access_list": [
"string"
],
"is_active": true,
"is_system_managed": true,
"name": "string",
"org_id": "string",
"owner": "string",
"project_id": "string",
"role_assignments": [
{
"org_id": "string",
"project_id": "string",
"role": "string"
}
],
"type": "string",
"updated_at": "string"
}
}
响应示例 (400)
{
"code": "string",
"error": "string",
"success": true
}
响应示例 (400)
{
"code": "string",
"error": "string",
"success": true
}
响应示例 (403)
{
"code": "string",
"error": "string",
"success": true
}
响应示例 (403)
{
"code": "string",
"error": "string",
"success": true
}
响应示例 (404)
{
"code": "string",
"error": "string",
"success": true
}
响应示例 (404)
{
"code": "string",
"error": "string",
"success": true
}
响应示例 (409)
{
"code": "string",
"error": "string",
"success": true
}
响应示例 (409)
{
"code": "string",
"error": "string",
"success": true
}
响应示例 (429)
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
响应示例 (429)
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
响应示例 (500)
{
"code": "string",
"error": "string",
"success": true
}
响应示例 (500)
{
"code": "string",
"error": "string",
"success": true
}
响应示例 (503)
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}
响应示例 (503)
# Headers
Retry-After: string
# Payload
{
"code": "string",
"error": "string",
"success": true
}