Appearance
me.virmesh.account.disableAccount
アカウントを無効化し、今後対象のアカウントからのリクエストを拒否します。
対象のアカウントを完全に無効化します。アカウントの秘密鍵が侵害された場合に使用してください。通常使用は想定されていません。 この操作は**取り消せません**。
Endpoint
Request schema
payload.accountIdstringRequired無効化する対象のplayer identifierです。
payload.disabled_atintegerRequired無効化を宣言した時刻です。UNIX epoch milliseconds を送ります。
signaturestringRequiredpayload に対する、payload.accountId 本人鍵の署名です。
Request example
{
"payload": {
"accountId": "medi:player:ed25519:base64-public-key",
"disabled_at": 1770000000000
},
"signature": "base64-signature-of-payload"
}Responses
200status+me.virmesh.success.accountDisabledaccount が tombstone 化され、以後その server では無効な主体として扱われることを示します。
status+me.virmesh.success.accountDisabledaccount が tombstone 化され、以後その server では無効な主体として扱われることを示します。
me.virmesh.account.disableAccount が正常終了し、
指定した account の tombstone record が保存されたときに返ります。
その server が対象 account を未受信だった場合は、この直後に既知 peer への broadcast 対象になります。
account disabled
{
"status": "status+me.virmesh.success.accountDisabled"
}400status+me.virmesh.json.invalid_jsonrequest body が JSON として解釈できないことを示します。
status+me.virmesh.json.invalid_jsonrequest body が JSON として解釈できないことを示します。
この status は body が壊れている、または JSON parser が受理できない形式で送られた場合に返ります。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
malformed json
{
"status": "status+me.virmesh.json.invalid_json",
"payload": {
"message": "Request body must be valid JSON."
}
}400status+me.virmesh.json.invalid_payload`payload`がactionの期待する形式ではないことを示します。
status+me.virmesh.json.invalid_payload`payload`がactionの期待する形式ではないことを示します。
リクエストデータ自体はJSON objectとして解釈できたものの、 期待する形式と一致しない場合に使います。
Status payload
payload.messagestringRequired検証に失敗した理由を表す詳細メッセージです。
invalid payload
{
"status": "status+me.virmesh.json.invalid_payload",
"payload": {
"message": "送信されたペイロードが正しい形式ではありません。"
}
}400status+me.virmesh.key.invalid_key送信された公開鍵がこの key scheme では受理できないことを示します。
status+me.virmesh.key.invalid_key送信された公開鍵がこの key scheme では受理できないことを示します。
公開鍵の encoding、byte length、または key material が想定する key type に 合致しない場合に返します。
Status payload
payload.messagestringRequired公開鍵が不正である理由を表す詳細メッセージです。
invalid key
{
"status": "status+me.virmesh.key.invalid_key",
"payload": {
"message": "送信された鍵が無効です。"
}
}400status+me.virmesh.key.invalid_signature署名の形式が不正、または署名検証に失敗したことを示します。
status+me.virmesh.key.invalid_signature署名の形式が不正、または署名検証に失敗したことを示します。
この status は署名文字列が base64 として不正な場合と、 復元できた署名が検証に失敗した場合に使われます。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
signature verification failed
{
"status": "status+me.virmesh.key.invalid_signature",
"payload": {
"message": "Signature verification failed."
}
}404status+me.virmesh.account.not_known指定した account をその server が既知の永続 state として保持していないことを示します。
status+me.virmesh.account.not_known指定した account をその server が既知の永続 state として保持していないことを示します。
この status は me.virmesh.account.disableAccount を受けた server が、
対象 account に関する永続 state を持っていない場合に返ります。
v1 では未知 account に対する tombstone record の先行作成は行いません。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
account not known
{
"status": "status+me.virmesh.account.not_known",
"payload": {
"message": "The requested account is not known to this server."
}
}409status+me.virmesh.account.already_disabled指定した account がすでに tombstone 化済みで、再度 disable する必要がないことを示します。
status+me.virmesh.account.already_disabled指定した account がすでに tombstone 化済みで、再度 disable する必要がないことを示します。
この status は me.virmesh.account.disableAccount に対して、
すでに同じ account の tombstone record が存在する場合に返ります。
direct delivery と server 間 broadcast の重複受信もこの status で吸収します。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
already disabled
{
"status": "status+me.virmesh.account.already_disabled",
"payload": {
"message": "The requested account has already been disabled."
}
}501status+me.virmesh.action.not_supported要求した action が現在の server では利用できないことを示します。
status+me.virmesh.action.not_supported要求した action が現在の server では利用できないことを示します。
指定されたactionがサーバー上で無効化されており、使用できないことを示します。
Status payload
payload.messagestringRequired実装依存の詳細メッセージです。
action is disabled
{
"status": "status+me.virmesh.action.not_supported",
"payload": {
"message": "registerAccountKeyによる登録がサポートされていません。"
}
}