Appearance
me.virmesh.handle.resolveHandle
player id または handle から handle record を引き当てます。
current handle record を取得する public action です。
tombstone 化済み account またはその handle に対する解決では、保存済み handle record を返さず status+me.virmesh.account.disabled を返します。
Endpoint
Request schema
query.idstringOptionalplayer identifier で検索します。query.handle とは同時指定できません。
query.handlestringOptionalprimary または secondary handle で検索します。query.id とは同時指定できません。
Responses
200status+me.virmesh.success.handleResolvedhandle record が解決されたことを示します。
status+me.virmesh.success.handleResolvedhandle record が解決されたことを示します。
Response body
解決された current handle record です。
References obj+me.virmesh.handle.record : player に紐づく current handle record です。
idstringRequiredhandle owner の player identifier です。
primaryHandlestringRequiredplayer の canonical primary handle です。
secondaryHandlesstring[]Required同一 player に解決される secondary handle 一覧です。
playerServerstringRequiredplayer を管理する PlayerServer の absolute URL です。
updated_atintegerRequiredこの handle record payload を生成した時刻です。epoch second を返します。
signaturestringRequiredresponse payload に対する、対象 player 本人の署名です。
Response example
{
"payload": {
"id": "medi:player:ed25519:base64-public-key",
"primaryHandle": "alice@virmesh.me",
"secondaryHandles": [
"alice@example.com"
],
"playerServer": "https://ps.example.com/",
"updated_at": 1770000100
},
"signature": "base64-signature-by-player"
}me.virmesh.handle.resolveHandle が正常終了したときに返ります。
この 200 response は shared status envelope ではなく、
対象 player 本人の鍵で署名された handle record response をそのまま返します。
400status+me.virmesh.http.invalid_queryquery parameter の組み合わせまたは形式が不正であることを示します。
status+me.virmesh.http.invalid_queryquery parameter の組み合わせまたは形式が不正であることを示します。
この status は route が期待する query parameter の条件を満たしていない場合に返ります。
resolveHandle では id と handle の同時指定、未指定、未知の key を拒否します。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
handle query is ambiguous
{
"status": "status+me.virmesh.http.invalid_query",
"payload": {
"message": "Specify exactly one of query.id or query.handle."
}
}404status+me.virmesh.handle.not_found指定した player id または handle に対応する record が存在しないことを示します。
status+me.virmesh.handle.not_found指定した player id または handle に対応する record が存在しないことを示します。
resolveHandle が検索対象を見つけられなかった場合に返ります。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
handle not found
{
"status": "status+me.virmesh.handle.not_found",
"payload": {
"message": "No handle record matched the requested id or handle."
}
}410status+me.virmesh.account.disabled対象 account が tombstone 化済みであり、有効な主体または参照先として扱えないことを示します。
status+me.virmesh.account.disabled対象 account が tombstone 化済みであり、有効な主体または参照先として扱えないことを示します。
この status は account が disable 済みで、以後の更新、social 操作、migration、
公開 profile / handle 解決の対象として受理されない場合に返ります。
通常は HTTP 410 Gone と組み合わせて返します。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
account disabled
{
"status": "status+me.virmesh.account.disabled",
"payload": {
"message": "The requested account has been disabled and tombstoned."
}
}