A AuthMS API Wiki API Reference iam.tianv.com →

PUT /profiles/{user_id}

根据用户ID创建新资料或更新现有资料信息。参考:GDPR Art 5 (数据最小化原则)、GDPR Art 16 (更正权)。

用户资料 `bearerAuth` application/json

Request Parameters

NameInTypeRequiredDefaultExampleConstraintsDescription
user_id path string Yes 用户ID

Request Body

Schema: dto.UpdateProfileRequest

FieldTypeRequiredExampleConstraintsDescription
address string No 123 Main St
avatar_url string No https://example.com/avatar.jpg
bio string No Software Engineer
birthdate string No 1990-01-15
city string No San Francisco
country string No US
custom_fields object No
first_name string No John
gender string No male
language string No en-US
last_name string No Doe
nickname string No Johnny
social_links object No extra keys: `string`
timezone string No America/Los_Angeles
website string No https://johndoe.com

Responses

StatusDescriptionSchema
200资料更新成功dto.ProfileResponse
400请求参数无效dto.Problem
401未认证或令牌已过期dto.Problem
403无权操作该用户资料dto.Problem
404用户资料不存在dto.Problem
500服务器内部错误dto.Problem

Referenced Schemas

dto.FieldViolation

FieldTypeRequiredExampleConstraintsDescription
code string No Code 是错误代码(可选) 用于程序识别错误类型,如 "required", "format", "range"
description string No Description 是人类可读的错误描述 应该说明违反了什么规则,如 "必须是一个有效的邮箱地址"
field string No Field 是错误字段的路径 使用点号表示嵌套字段,如 "user.email" 或 "addresses[0].city"
value object No Value 是导致错误的值(可选,开发模式下使用) 生产环境可能不返回此字段以避免泄露敏感信息

dto.Problem

FieldTypeRequiredExampleConstraintsDescription
code integer No Code 是业务错误码 用于程序处理特定错误场景 示例:30101001
detail string No Detail 是针对此具体错误实例的人类可读解释 可以包含具体的错误细节,如"Field 'email' is required"
errors array of

See dto.FieldViolation

No Errors 是字段级验证错误列表(扩展字段) 遵循 Web API 标准实践,每个错误包含字段名和错误信息
i18n_args object No I18nArgs 是国际化参数 用于动态填充翻译模板
i18n_key string No I18nKey 是国际化键 用于客户端本地化错误消息 示例:"error.user_not_found"
instance string No Instance 是发生问题的具体URI引用 通常是请求的URL,可能包含查询参数 示例:"/api/v1/users?limit=invalid"
request_id string No RequestID 是请求唯一标识 用于日志关联和问题追踪 示例:"req_550e8400-e29b-41d4-a716-446655440000"
retry_after integer No RetryAfter 用于 429 Too Many Requests 响应 指示客户端应在多少秒后重试请求(RFC 6585)
service string No Service 是服务名 用于微服务架构中定位错误来源 示例:"auth-service"
span_id string No SpanID 是当前 span 标识 用于精确定位分布式链路中的当前节点
status integer No Status 是产生的HTTP状态码 用于客户端区分问题类型,不随Accept-Language变化 示例:400, 401, 403, 404, 500
timestamp string No Timestamp 是错误发生时间 ISO 8601 格式 示例:"2026-04-03T12:00:00Z"
title string No Title 是简短、人类可读的问题类型摘要 相同的 Type 应该始终有相同的 Title(不随实例变化) 示例:"Invalid Request Parameters"
trace_id string No TraceID 是分布式追踪标识 遵循 W3C Trace Context 标准 示例:"00-0af7651916cd43dd8448eb211c80319c-b7ad6b7169203331-01"
type string No Type 是标识问题类型的URI引用 当该URI被解引用时,应提供人类可读的文档 示例:"https://api.example.com/errors/invalid-request"

dto.ProfileData

FieldTypeRequiredExampleConstraintsDescription
profile object No

dto.ProfileResponse

FieldTypeRequiredExampleConstraintsDescription
code integer No
data dto.ProfileData No
message string No
timestamp string No