Pular para o conteúdo
Decoding Chat API

Usuários (Admin)

Estas rotas leem e editam qualquer conta na instância. Uma conta possui mais campos aqui do que o recurso público de Usuários retorna, incluindo seus detalhes de contato, seus endereços de rede e seu estado no ciclo de vida.

Cada grupo de campos mutáveis tem sua própria rota, sua própria ACL e sua própria ação de auditoria, portanto, não há uma atualização combinada.

Toda operação nesta página registra uma entrada de auditoria de Admin, incluindo leituras. Obter usuário Admin atual é a exceção e não registra nada. POST /v1/admin/users/{user_id}/avatar-block aborda o caminho de um usuário, mas pertence a Listas de bloqueio (Blocklists).

A visualização administrativa completa de uma conta. Ela tem todas as flags armazenadas, os campos privados do ciclo de vida e os campos de contato e rede que o objeto de usuário público nunca expõe.

Quando o chamador não possui user:view:email, user:view:dob ou user:view:ip, o Decoding Chat oculta os campos que a ACL ausente protege e ainda retorna todas as chaves, de modo que o formato do objeto é idêntico para todos os chamadores.

CampoTipoDescrição
idsnowflakeO ID da conta
usernamestringO nome de usuário da conta, exclusivo apenas em conjunto com seu discriminador (1 a 32 caracteres)
discriminator1integerDiscriminador de 0 a 9999, sem preenchimento
global_name?stringO nome de exibição da conta ou nulo quando não definido
botbooleanSe a conta é um bot
systembooleanSe a conta é uma conta de sistema oficial
flags2stringFlags de conta como uma string decimal não assinada de 64 bits
premium_flagsintegerFlags premium
avatar?stringO hash do avatar ou nulo quando a conta não tiver nenhum
banner?stringO hash do banner de perfil ou nulo quando a conta não tiver nenhum
bio?stringA biografia do perfil ou nula quando não definida
pronouns?stringOs pronomes do perfil ou nulos quando não definidos
accent_color?integerA cor de destaque do perfil empacotada em um número inteiro ou nula quando não definida
email3?stringO endereço de e-mail registrado ou nulo quando a conta não tiver nenhum
email_verified3booleanSe o endereço registrado foi verificado
email_bounced3booleanSe a entrega para o endereço registrado retornou com erro grave (hard bounce)
has_verified_phonebooleanSe a conta é tratada como tendo concluído a verificação por telefone
date_of_birth4?stringA data de nascimento no formato YYYY-MM-DD ou nula quando nenhuma estiver armazenada
locale?stringA localidade (locale) salva ou nula quando a conta nunca tiver definido uma
premium_type?integerTipo premium
premium_since?ISO8601 timestampO horário em que a assinatura premium começou ou nulo quando a conta não tiver nenhuma
premium_until?ISO8601 timestampO horário em que a assinatura premium expira ou nulo quando a conta não tiver nenhuma
premium_grace_ends_at?ISO8601 timestampO horário em que o período de carência de pagamento termina ou nulo quando nenhum período de carência estiver em andamento
premium_lifetime_sequence?integerO número de sequência da compra vitalícia ou nulo quando a conta não possuir nenhuma
suspicious_activity_flagsintegerFlags de atividade suspeita
phone_verification_deferred5booleanSe um requisito de telefone armazenado é adiado até que a conta entre em uma comunidade descobrível ou grande
temp_banned_until6?ISO8601 timestampO horário em que o banimento expira ou nulo quando não houver banimento
pending_deletion_at?ISO8601 timestampO horário em que a exclusão programada é executada ou nulo quando nenhuma estiver programada
pending_bulk_message_deletion_at7?ISO8601 timestampO horário em que a exclusão programada de mensagens em massa da própria conta é executada
deletion_reason_code?integerMotivo da exclusão
deletion_public_reason?stringO motivo exibido ao titular da conta ou nulo quando nenhum foi fornecido
acls8array[string]ACLs de Admin efetivas, com no máximo 111 entradas
traits9array[string]Os rótulos de operador de formato livre definidos na conta, com no máximo 100 entradas
has_totp10booleanSe um autenticador TOTP está registrado
authenticator_types10array[integer]Tipos de autenticador registrados, com no máximo 10 entradas
last_active_at?ISO8601 timestampO horário da última atividade registrada ou nulo quando nenhuma for registrada
last_active_ip11?stringO endereço IP de onde a conta esteve ativa pela última vez
last_active_ip_reverse11 12?stringO nome DNS reverso desse endereço IP
last_active_location11 12?stringA localização aproximada desse endereço IP

1 Um número JSON sem preenchimento aqui, diferente da string discriminator com preenchimento zero do Resumo de usuário Admin e do Usuário resolvido Admin incorporado em outros objetos Admin

2 Serializado como uma string decimal

3 Requer user:view:email. Sem isso, o email é nulo enquanto email_verified e email_bounced são ambos falsos, independentemente do estado armazenado, de modo que uma conta não verificada e uma oculta são indistinguíveis

4 Requer user:view:dob e, sem isso, o campo é nulo

5 Derivado do bit 1 << 16 de suspicious_activity_flags, que fica fora do registro de flags de atividade suspeita

6 Definido por Banir usuário para ambos os modos de banimento. Uma expiração que já passou é relatada como nula, de modo que um banimento temporário decorrido é lido da mesma forma que nenhum banimento

7 Gravado quando o titular da conta agenda a exclusão de suas próprias mensagens em massa e limpo por Cancelar exclusão agendada de mensagens

8 O conjunto gravado por Definir ACLs de usuário, retornado na ordem armazenada. Este conjunto sozinho decide se a conta pode alcançar a API Admin, e a flag de conta STAFF account flag não tem nenhum papel nisso

9 Classificado em ordem crescente, diferente de acls

10 Nunca ocultado e retornado na íntegra a qualquer chamador que a operação tenha admitido

11 Requer user:view:ip e, sem isso, o campo é nulo e nenhuma pesquisa de rede é tentada

12 Resolvido ao vivo de last_active_ip para cada resposta e nulo quando a pesquisa falha ou não retorna nada. O resultado do DNS reverso é armazenado em cache por um dia

{
"id": "1493004551122763776",
"username": "subject",
"discriminator": 7,
"global_name": null,
"bot": false,
"system": false,
"flags": "8796093022208",
"premium_flags": 0,
"avatar": "a1b2c3d4e5f60718293a4b5c6d7e8f90",
"email": "subject@example.com",
"email_verified": true,
"email_bounced": false,
"has_verified_phone": false,
"date_of_birth": "1998-03-21",
"suspicious_activity_flags": 0,
"phone_verification_deferred": false,
"temp_banned_until": null,
"pending_deletion_at": null,
"deletion_reason_code": null,
"acls": [],
"traits": ["early-signup"],
"has_totp": true,
"authenticator_types": [1, 2],
"last_active_at": "2026-08-30T21:04:02.771000+00:00",
"last_active_ip": "203.0.113.24",
"last_active_ip_reverse": "host24.example.com",
"last_active_location": "Stockholm, Sweden"
}

O campo flags do objeto de usuário Admin é um campo de bits de 64 bits serializado como uma string decimal não assinada. Ele contém todas as flags armazenadas, incluindo aquelas que a API HTTP deixa de fora do seu subconjunto público.

ValorNomeDescrição
1 << 0STAFFA conta é de um membro da equipe
1 << 2PARTNERA conta é um parceiro
1 << 3BUG_HUNTERA conta é um caçador de bugs
1 << 4FRIENDLY_BOTO bot aceita solicitações de amizade de usuários
1 << 5FRIENDLY_BOT_MANUAL_APPROVALO bot requer aprovação manual para solicitações de amizade
1 << 6SPAMMERA conta está sinalizada como um spammer
1 << 33HIGH_GLOBAL_RATE_LIMITA conta possui limites de taxa globais elevados
1 << 34DELETEDA conta foi excluída
1 << 35DISABLED_SUSPICIOUS_ACTIVITYA conta está desativada por atividade suspeita
1 << 36SELF_DELETEDA conta foi excluída pelo próprio usuário
1 << 38DISABLEDA conta está desativada
1 << 39HAS_SESSION_STARTEDA conta iniciou uma sessão
1 << 47RATE_LIMIT_BYPASSA conta pode ignorar os limites de taxa
1 << 48REPORT_BANNEDA conta está banida de fazer denúncias
1 << 49VERIFIED_NOT_UNDERAGEA conta está verificada como não sendo de menor de idade
1 << 51HAS_DISMISSED_PREMIUM_ONBOARDINGA conta dispensou a integração premium
1 << 53APP_STORE_REVIEWERA conta pertence a um revisor de loja de aplicativos
1 << 57STAFF_HIDDENO status de equipe está oculto nas flags públicas
1 << 60AGE_VERIFIED_ADULTA conta teve a maioridade verificada por meio de verificação de cartão
1 << 61FORCE_INBOUND_PHONE_VERIFICATIONA conta é forçada a passar pela verificação de telefone de entrada, independentemente do prefixo
1 << 62NOT_SUSPICIOUSA conta está permanentemente isenta de sinalização automática de atividades suspeitas
ValorNomeDescrição
1 << 0DISCRIMINATORA conta tem um discriminador premium
1 << 1BADGE_HIDDENO emblema premium está oculto
1 << 2BADGE_MASKEDO emblema premium está mascarado
1 << 3BADGE_TIMESTAMP_HIDDENO carimbo de data/hora do emblema premium está oculto
1 << 4BADGE_SEQUENCE_HIDDENA sequência do emblema premium está oculta
1 << 5PERKS_SANITIZEDAs vantagens premium são higienizadas
1 << 6PURCHASE_DISABLEDA compra premium está desativada
1 << 7ENABLED_OVERRIDEO status premium tem uma substituição ativada
1 << 8PERKS_DISABLEDAs vantagens premium estão temporariamente desativadas
ValorNomeDescrição
0NONENenhuma assinatura premium
1SUBSCRIPTIONAssinatura premium ativa
2LIFETIMEAssinatura premium vitalícia

Um campo de bits de 32 bits de requisitos de verificação aplicados a uma conta. Atualizar flags de atividade suspeita e Desativar usuário por atividade suspeita ambos gravam o valor completo, de modo que um bit que a solicitação omita é limpo.

ValorNomeDescrição
1 << 0REQUIRE_VERIFIED_EMAIL1Requer um e-mail verificado
1 << 1REQUIRE_REVERIFIED_EMAIL1Requer um e-mail reverificado
1 << 2REQUIRE_VERIFIED_PHONE2Requer um telefone verificado
1 << 3REQUIRE_REVERIFIED_PHONE3Requer um telefone reverificado
1 << 4REQUIRE_VERIFIED_EMAIL_OR_VERIFIED_PHONE1Requer e-mail verificado ou telefone verificado
1 << 5REQUIRE_REVERIFIED_EMAIL_OR_VERIFIED_PHONE1Requer e-mail reverificado ou telefone verificado
1 << 6REQUIRE_VERIFIED_EMAIL_OR_REVERIFIED_PHONE1Requer e-mail verificado ou telefone reverificado
1 << 7REQUIRE_REVERIFIED_EMAIL_OR_REVERIFIED_PHONE1Requer e-mail reverificado ou telefone reverificado
1 << 8REQUIRE_INBOUND_PHONE_VERIFICATION2Requer verificação de SMS de entrada, onde o titular da conta envia um texto com um código para o número SMS de entrada da instância

1 Limpo automaticamente sempre que o e-mail da conta for verificado, seja por meio de verificação comum ou por meio de Verificar e-mail do usuário

2 Limpo automaticamente por Atualizar verificação de telefone do usuário quando define has_verified_phone como verdadeiro, junto com o bit de adiamento 1 << 16

3 Adiável junto com REQUIRE_VERIFIED_PHONE. Atualizar verificação de telefone do usuário deixa este definido

O bit 1 << 16 fica fora desse registro. Ele adia um requisito de telefone até que a conta se junte a uma comunidade descobrível ou grande, e o objeto de usuário Admin relata isso como phone_verification_deferred. Atualizar flags de atividade suspeita e Desativar usuário por atividade suspeita limitam flags apenas a um número inteiro não negativo de 32 bits e nenhum mascara o valor enviado, portanto, uma solicitação com esse bit o define diretamente.

ValorNomeDescrição
1USER_REQUESTED1O titular da conta solicitou a exclusão
2OTHEROutro motivo
3SPAMSpam
4CHEATING_OR_EXPLOITATIONTrapaça ou exploração
5COORDINATED_RAIDINGRaiding coordenado
6AUTOMATION_OR_SELFBOTUso de automação ou selfbot
7NONCONSENSUAL_SEXUAL_CONTENTConteúdo sexual não consensual
8SCAM_OR_SOCIAL_ENGINEERINGGolpe ou engenharia social
9CHILD_SEXUAL_CONTENTConteúdo sexual infantil
10PRIVACY_VIOLATION_OR_DOXXINGViolação de privacidade ou doxxing
11HARASSMENT_OR_BULLYINGAssédio ou bullying
12PAYMENT_FRAUDFraude de pagamento
13CHILD_SAFETY_VIOLATIONViolação de segurança infantil
14BILLING_DISPUTE_OR_ABUSEDisputa ou abuso de faturamento
15UNSOLICITED_EXPLICIT_CONTENTConteúdo explícito não solicitado
16GRAPHIC_VIOLENCEViolência gráfica
17BAN_EVASIONEvasão de banimento
18TOKEN_OR_CREDENTIAL_SCAMGolpe de token ou credencial
19INACTIVITYInatividade
20HATE_SPEECH_OR_EXTREMIST_CONTENTDiscurso de ódio ou conteúdo extremista
21MALICIOUS_LINKS_OR_MALWARELinks maliciosos ou malware
22IMPERSONATION_OR_FAKE_IDENTITYFalsidade ideológica ou identidade falsa

1 O único valor que reduz o atraso de agendamento mínimo para 14 dias e suprime a lista de bloqueio de identificadores e a resolução automática de relatórios descritos em Agendar exclusão de usuário

Um valor de solicitação reason_code fora deste registro falha na validação do corpo com 400 INVALID_FORM_BODY.

Os valores que Limpar campos de perfil do usuário aceita em fields.

ValorDescrição
avatarImagem de avatar do perfil
bannerImagem de banner do perfil
bioBiografia do perfil
pronounsPronomes do perfil
global_nameNome de exibição
ValorDescrição
friendUma amizade mútua
incoming_requestUm pedido de amizade que a conta recebeu
outgoing_requestUm pedido de amizade que a conta enviou
blockedUma conta que esta conta bloqueou

Remover uma amizade ou pedido de amizade remove-o para ambas as contas. Remover um bloqueio afeta apenas a conta que o definiu.

Uma entrada para cada sessão de autenticação de uma conta. As sessões encerradas permanecem listadas com deleted_at definido. Nenhuma operação retorna o token de sessão.

CampoTipoDescrição
session_id_hashstringO hash codificado em base64url do ID da sessão (8 a 256 caracteres)
created_atISO8601 timestampO horário em que a sessão foi criada
approx_last_used_atISO8601 timestampO horário aproximado em que a sessão foi usada pela última vez
client_ip1stringO endereço IP a partir do qual a sessão foi criada
client_ip_reverse1 2?stringO nome DNS reverso desse endereço IP
client_os3?stringO sistema operacional do cliente derivado do user agent armazenado
client_platform3?stringA plataforma do cliente derivada do user agent armazenado
client_location1 2?stringA localização aproximada desse endereço IP
deleted_at?ISO8601 timestampO horário em que a sessão foi encerrada ou nulo enquanto ainda estiver ativa

1 Requer user:view:ip. Sem isso, o client_ip é a string literal [redacted], ambos os campos derivados são nulos e nenhuma pesquisa de rede é tentada

2 Resolvido ao vivo para cada resposta e nulo para essa entrada quando sua própria pesquisa falha

3 Derivado do user agent armazenado no tempo de leitura, então uma sessão registrada sem um relata nulo para ambos

{
"session_id_hash": "Zm9vYmFyLXNlc3Npb24taGFzaC1leGFtcGxl",
"created_at": "2026-07-02T11:31:09.400000+00:00",
"approx_last_used_at": "2026-08-30T20:58:14.120000+00:00",
"client_ip": "203.0.113.24",
"client_ip_reverse": "host24.example.com",
"client_os": "Windows",
"client_platform": "Desktop",
"client_location": "Stockholm, Sweden",
"deleted_at": null
}

O resumo da conta incorporado no objeto de canal de mensagem direta Admin e no objeto de relacionamento Admin. É o Resumo de usuário Admin que as entradas de auditoria incorporam, com avatar adicionado.

CampoTipoDescrição
idsnowflakeO ID da conta
usernamestringO nome de usuário da conta
discriminator1stringO discriminador de quatro dígitos da conta
global_name?stringO nome de exibição da conta ou nulo quando não definido
avatar?stringO hash do avatar ou nulo quando a conta não tiver nenhum

1 Preenchido à esquerda com zeros até quatro dígitos, ao contrário do número inteiro discriminator sem preenchimento do Objeto de usuário Admin

{
"id": "1493004551122763776",
"username": "kelsier",
"discriminator": "0042",
"global_name": "Kelsier",
"avatar": "a1b2c3d4e5f60718293a4b5c6d7e8f90"
}

Uma entrada para cada canal de mensagem direta ou de mensagem direta em grupo que a conta participou. Os nomes dos campos diferem do objeto de canal público.

CampoTipoDescrição
channel_idsnowflakeO ID do canal
channel_type?integerTipo de canal ou nulo quando o registro do canal não estiver disponível
channel_nsfw?booleanSe o canal tem restrição de idade ou nulo quando o registro do canal não estiver disponível
guild_nsfw_level1?integerNível NSFW da guilda proprietária
recipient_idsarray[snowflake]Os IDs dos destinatários do canal, com no máximo 100 entradas
recipients2array[Objeto de usuário resolvido Admin]As contas de destinatário resolvidas, com no máximo 100 entradas
last_message_id?snowflakeO ID da mensagem mais recente ou nulo quando o canal estiver vazio
is_openbooleanSe o canal está aberto no cliente da conta de destino
name?stringO nome do grupo ou nulo quando sem nome
icon?stringO hash do ícone do grupo ou nulo quando o grupo não tiver nenhum
owner_id?snowflakeO ID do proprietário do grupo ou nulo para uma mensagem direta um-para-um

1 Sempre nulo

2 Contém apenas os destinatários cujas contas ainda existem, portanto pode ser menor que recipient_ids

{
"channel_id": "1496118820043030528",
"channel_type": 3,
"channel_nsfw": false,
"guild_nsfw_level": null,
"recipient_ids": ["1493004551122763776", "1489200013322551296"],
"recipients": [],
"last_message_id": "1500992244771848192",
"is_open": true,
"name": "Weekend plans",
"icon": null,
"owner_id": "1493004551122763776"
}
CampoTipoDescrição
target_user_idsnowflakeO ID da outra conta
categorystringCategoria de relacionamento
nickname?stringO apelido que a conta atribuiu à outra parte
since?ISO8601 timestampO horário em que o relacionamento foi estabelecido ou nulo quando não registrado
target1?Objeto de usuário resolvido AdminA outra conta resolvida

1 Nulo quando a outra conta não existir mais, enquanto target_user_id permanecer presente

{
"target_user_id": "1489200013322551296",
"category": "friend",
"nickname": null,
"since": "2026-04-18T14:22:51.006000+00:00",
"target": {
"id": "1489200013322551296",
"username": "operator",
"discriminator": "0042",
"global_name": "Operator"
}
}

Objeto de log de alterações de usuário Admin

Seção intitulada “Objeto de log de alterações de usuário Admin”

Uma alteração registrada no endereço de e-mail da conta, no estado de verificação do telefone ou no nome de usuário e no discriminador. As próprias alterações do titular da conta aparecem aqui, bem como as feitas por Alterar nome de usuário e Alterar e-mail do usuário.

CampoTipoDescrição
event_id1stringO ID da entrada de alteração como uma string decimal não assinada de 64 bits
fieldstringO campo que foi alterado, um dos seguintes: email, has_verified_phone ou fluxer_tag
old_value2?stringO valor antes da alteração ou nulo quando o campo não estava definido
new_value2?stringO valor após a alteração ou nulo quando o campo foi limpo
reason3?stringO motivo registrado para a alteração ou nulo quando não registrado
actor_user_id?snowflakeO ID do Admin atuante ou nulo para uma alteração originada pelo usuário
event_atISO8601 timestampO horário em que a alteração foi registrada

1 Retornado como page_token para continuar a navegação. Uma entrada armazenada sem seu próprio ID de evento relata o ID da conta em vez disso

2 Uma entrada de email lida sem user:view:email mantém a entrada e substitui ambos os campos de valor pela string literal [redacted]. Um valor ausente é nulo

3 Uma alteração de Admin registra o valor literal admin_action

{
"event_id": "1500992244771848192",
"field": "email",
"old_value": "[redacted]",
"new_value": "[redacted]",
"reason": "admin_action",
"actor_user_id": "1489200013322551296",
"event_at": "2026-08-14T07:55:31.882000+00:00"
}

Objeto de entrada de trituração de mensagens

Seção intitulada “Objeto de entrada de trituração de mensagens”
CampoTipoDescrição
channel_idsnowflakeO ID do canal no qual a mensagem foi enviada
message_idsnowflakeO ID da mensagem a ser triturada
{
"channel_id": "1496118820043030528",
"message_id": "1500992244771848192"
}
GET/v1/admin/usersAudit reason

Lista e pesquisa contas. Requer user:lookup e user:view:email ou user:view:ip para os seletores marcados abaixo. A resposta tem uma matriz de objetos de usuário Admin e um total.

O Decoding Chat honra exatamente um seletor, nesta ordem de precedência: user_id, resolve, email, last_active_ip, então a pesquisa indexada q. Um parâmetro de precedência mais baixa enviado ao lado de um de precedência mais alta é ignorado e a solicitação ainda é bem-sucedida. Uma solicitação sem seletor executa a pesquisa indexada com uma consulta vazia.

CampoTipoDescrição
user_id?1array[snowflake]IDs exatos de conta, com no máximo 100 valores
resolve?2stringUm identificador exato para resolver (1 a 1024 caracteres)
email?3stringEndereço de e-mail registrado exato (1 a 320 caracteres)
last_active_ip?4stringEndereço IP exato ativo pela última vez (1 a 64 caracteres)
q?5stringConsulta indexada de texto livre (1 a 1024 caracteres)
limit?6integerMáximo de contas a retornar (1 a 200, padrão 50)
offset?6integerNúmero de resultados a serem ignorados (0 a 100000, padrão 0)

1 Repita o parâmetro para passar mais de um valor. A resposta é não ordenada e não tem entrada para um ID que não corresponde a nenhuma conta, portanto, um cliente corresponde a cada conta retornada por seu id

2 Resolve no máximo uma conta, e um valor contendo @ requer user:view:email. Um valor não correspondente retorna uma matriz vazia

3 Correspondido exatamente após o corte, retorna no máximo uma conta e requer user:view:email

4 Correspondido exatamente após o corte com o último endereço ativo armazenado da conta, de modo que uma sub-rede ou um endereço parcial não corresponde a nada. Requer user:view:ip

5 Fornecido pelo índice de pesquisa de usuários. Uma instância sem back-end de pesquisa configurado retorna 403 FEATURE_TEMPORARILY_DISABLED

6 Honrado pelos seletores last_active_ip e q. Os seletores user_id, resolve e email ignoram ambos

O Decoding Chat escolhe a pesquisa de resolve pelo formato do valor. Um valor username#discriminator resolve a tag, um valor que é totalmente composto por dígitos resolve o ID da conta e um valor contendo @ resolve o endereço de e-mail. Todos os outros valores resolvem um ID de assinatura Stripe.

Um valor q totalmente composto por dígitos também resolve exatamente aquele ID de conta e o coloca em primeiro lugar, mesmo que o índice de pesquisa não o tenha correspondido, desde que o offset seja zero. Esse hit direto aumenta o total em um quando o índice não o retornou.

CampoTipoDescrição
usersarray[Objeto de usuário Admin]As contas nesta página
total1integerO número de contas que o seletor correspondeu

1 Os seletores user_id e resolve relatam o comprimento de users, portanto, total nunca excede a página retornada para esses dois

StatusCorpoCondição
2001corpo da respostaAs contas foram retornadas
403resposta de erroMISSING_ACL, pois o seletor honrado requer user:view:email ou user:view:ip
403resposta de erroFEATURE_TEMPORARILY_DISABLED, pois a pesquisa indexada foi executada em uma instância sem back-end de pesquisa

1 Um seletor que não corresponde a nada retorna uma matriz users vazia e um total zero

A operação registra uma entrada de auditoria de Admin com ação search_users, tipo de alvo user e ID do alvo 0. As chaves de metadados são selector, result_count para as contas em users e total. O selector é o seletor honrado, um dentre user_id, resolve, email, last_active_ip ou search para a pesquisa indexada.

O seletor user_id adiciona user_id_count para o número de IDs fornecidos e user_id quando exatamente um ID é fornecido. Os seletores last_active_ip e search adicionam limit e offset. A pesquisa indexada adiciona has_query como true quando q não está em branco. Os valores de resolve, email, last_active_ip e q não são registrados. Uma solicitação com falha não registra nada.

200 solicitações por minuto para cada usuário autenticado, no bucket admin:lookup.

GET/v1/admin/users/@me

Retorna a conta com a qual a solicitação foi autenticada, envolvida em um membro user. Requer admin:authenticate.

Cada credencial de Admin possui admin:authenticate, então toda conta que puder acessar a API Admin pode ler esta rota. email, date_of_birth e os campos de IP são retornados sem ocultação, seja qual for a credencial atuante. acls relata o conjunto de ACLs armazenado na conta. Para uma credencial de chave de API Admin, esse conjunto pode ser mais amplo do que o que a própria chave pode usar.

CampoTipoDescrição
userObjeto de usuário AdminA conta com a qual a solicitação foi autenticada
StatusCorpoCondição
200corpo da respostaO Admin atual foi retornado
403resposta de erroO tipo de credencial é recusado ou a conta não possui admin:authenticate

A operação não registra nenhuma entrada de auditoria de Admin.

200 solicitações por minuto para cada usuário autenticado, no bucket admin:lookup.

GET/v1/admin/users/{user_id}Audit reason

Retorna uma conta como uma matriz de um único elemento. Requer user:lookup.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
users1array[Objeto de usuário Admin]A conta solicitada ou uma matriz vazia

1 A resposta é o mesmo envelope que Listar usuários retorna para seu seletor user_id, sem o membro total

StatusCorpoCondição
2001corpo da respostaA pesquisa foi concluída

1 Esta operação não responde 404. Um ID sem conta correspondente retorna 200 com uma matriz users vazia, de modo que um cliente verifica o comprimento da matriz

Uma conta com uma exclusão pendente ou concluída ainda é retornada, com seu estado de ciclo de vida visível por meio de pending_deletion_at, deletion_reason_code e deletion_public_reason.

A operação registra uma entrada de auditoria de Admin com ação get_user, tipo de alvo user, o caminho user_id como ID do alvo e uma chave de metadados found. found é true quando users tem a conta e false quando está vazia.

200 solicitações por minuto para cada usuário autenticado, no bucket admin:lookup.

PATCH/v1/admin/users/{user_id}/usernameAudit reason

Substitui o nome de usuário, aloca ou reivindica um discriminador e retorna a conta resultante. Requer user:update:username.

Uma conta de destino pode possuir um discriminador personalizado em todas as instâncias auto-hospedadas e em qualquer outra instância apenas quando o limite feature_custom_discriminator resolver para um valor acima de zero para essa conta.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
username1stringNome de usuário substituto (1 a 32 caracteres)
discriminator?2stringDiscriminador solicitado de um a quatro dígitos decimais

1 Cortado antes da validação, restrito a letras, dígitos e sublinhados, e rejeitado quando em minúsculas para everyone ou here ou contiver fluxer ou system message

2 Honrado apenas quando a conta de destino puder manter um discriminador personalizado. Em todos os outros casos, incluindo um campo omitido, o Decoding Chat aloca um discriminador livre para o nome de usuário enviado

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaO nome de usuário foi substituído
400resposta de erroA validação do caminho ou do corpo falha, ou a tag solicitada está ocupada e a solicitação retorna TAG_ALREADY_TAKEN
404resposta de erroUNKNOWN_USER, porque a conta não existe

TAG_ALREADY_TAKEN também cobre um nome de usuário enviado sem discriminador livre restante e um bloqueio de alocação que a operação não consegue obter dentro de sua espera de 10 segundos.

Atualização de usuário é emitida para as próprias sessões da conta, e cada guilda da qual a conta é membro recebe Atualização de membro de guilda. O Decoding Chat reindexa o membro em cada guilda indexada em segundo plano, de modo que um resultado de pesquisa de membro possa relatar brevemente a tag anterior.

A alteração é registrada no log de alterações de contato e é retornada por Listar log de alterações do usuário com reason definido como admin_action e actor_user_id definido como o Admin atuante.

A operação registra uma entrada de auditoria de Admin com ação change_username, tipo de alvo user e as chaves de metadados old_username, new_username e discriminator.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

PATCH/v1/admin/users/{user_id}/emailAudit reason

Substitui o endereço de e-mail da conta e retorna a conta resultante. Requer user:update:email.

O endereço substituto é armazenado não verificado. Use Verificar e-mail do usuário posteriormente para marcá-lo como verificado, ou Reenviar e-mail de verificação para permitir que o titular da conta o verifique.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
email1stringEndereço de e-mail substituto (1 a 254 caracteres)

1 Normalizado e validado como um endereço de e-mail, mas a própria operação não faz verificação de exclusividade

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaO endereço de e-mail foi substituído
404resposta de erroUNKNOWN_USER, porque a conta não existe

email_verified é definido como falso. O marcador de devolução armazenado sobrevive à alteração, de modo que um endereço substituído em uma conta devolvida permanece marcado como devolvido até que uma verificação o limpe.

Nenhum aviso é enviado ao endereço anterior ou substituto. Atualização de usuário é emitida para as próprias sessões da conta, e nenhuma Atualização de membro de guilda é seguida.

A alteração é registrada no log de alterações de contato e é retornada por Listar log de alterações do usuário, onde ambos os valores são substituídos por [redacted] para um chamador sem user:view:email.

A operação registra uma entrada de auditoria de Admin com ação change_email, tipo de alvo user e as chaves de metadados old_email e new_email. O log de auditoria não é ocultado na leitura, portanto, ambos os endereços são visíveis para qualquer titular de audit_log:view.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

PUT/v1/admin/users/{user_id}/email-verificationAudit reason

Marca o endereço de e-mail atual da conta como verificado sem um link de confirmação e retorna a conta resultante. Requer user:update:email.

A operação não aceita corpo de solicitação e nunca limpa a verificação, de modo que a única maneira de marcar um endereço como não verificado é substituí-lo com Alterar e-mail do usuário.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
2001corpo da respostaO endereço de e-mail foi marcado como verificado
404resposta de erroUNKNOWN_USER, porque a conta não existe

1 Uma conta que não tem endereço de e-mail armazenado ainda é aceita, e email_verified é definido como verdadeiro enquanto email permanece nulo

email_verified torna-se verdadeiro e email_bounced torna-se falso. A mesma gravação limpa cada um destes bits de flag de atividade suspeita: REQUIRE_VERIFIED_EMAIL, REQUIRE_REVERIFIED_EMAIL, REQUIRE_VERIFIED_EMAIL_OR_VERIFIED_PHONE, REQUIRE_REVERIFIED_EMAIL_OR_VERIFIED_PHONE, REQUIRE_VERIFIED_EMAIL_OR_REVERIFIED_PHONE e REQUIRE_REVERIFIED_EMAIL_OR_REVERIFIED_PHONE.

Atualização de usuário é emitida para as próprias sessões da conta. A operação registra uma entrada de auditoria de Admin com ação verify_email, tipo de alvo user e uma chave de metadados email com o endereço como estava antes da gravação, ou o literal null quando a conta não tinha nenhum.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

POST/v1/admin/users/{user_id}/verification-emailAudit reason

Solicita um novo e-mail de verificação para a conta. Requer user:update:email. Retorna uma resposta 204 vazia.

Cada endereço pode receber no máximo três e-mails de verificação em quinze minutos, independentemente do limite de taxa do Admin. Mais solicitações retornam 429 sem emitir um token.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
StatusCorpoCondição
204vazioA solicitação foi aceita, independentemente de um e-mail ter sido enviado ou não
4001resposta de erroO parâmetro de caminho não é um snowflake, ou a conta não tem endereço de e-mail
403resposta de erroO tipo de credencial ou avaliação de ACL nega a solicitação, ou BOT_USER_AUTH_ENDPOINT_ACCESS_DENIED quando o destino for um bot
404resposta de erroUNKNOWN_USER, porque a conta não existe

1 Um endereço ausente retorna INVALID_FORM_BODY com o código de validação USER_DOES_NOT_HAVE_AN_EMAIL_ADDRESS

Um token de verificação de uso único é armazenado em relação ao ID da conta e seu endereço atual, e o link é enviado por e-mail para esse endereço. O estado de verificação da conta permanece inalterado até que o link seja usado.

A operação registra uma entrada de auditoria de Admin com ação resend_verification_email, tipo de alvo user e uma chave de metadados email. Nenhuma distribuição de gateway é emitida.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

POST/v1/admin/users/{user_id}/password-resetAudit reason

Cria um token de redefinição de senha e o envia por e-mail para o titular da conta. Requer user:update:email. Retorna uma resposta 204 vazia.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
StatusCorpoCondição
204vazioA solicitação foi aceita, independentemente de um e-mail ter sido enviado ou não
4001resposta de erroO parâmetro de caminho não é um snowflake, ou a conta não tem endereço de e-mail
404resposta de erroUNKNOWN_USER, porque a conta não existe

1 Um endereço ausente retorna INVALID_FORM_BODY com o código de validação USER_DOES_NOT_HAVE_AN_EMAIL_ADDRESS

Ao contrário de Reenviar e-mail de verificação, esta operação não tem limite de três e-mails por endereço em quinze minutos e aceita uma conta de bot.

Um token de redefinição de senha de uso único é armazenado no ID da conta e em seu endereço de e-mail atual, e o token é enviado por e-mail para esse endereço. A senha da conta, sessões e outras credenciais permanecem inalteradas até que o titular da conta conclua a redefinição.

A operação registra uma entrada de auditoria de Admin com ação send_password_reset, tipo de alvo user e uma chave de metadados email. Nenhuma distribuição de gateway é emitida.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

PATCH/v1/admin/users/{user_id}/date-of-birthAudit reason

Substitui a data de nascimento armazenada e retorna a conta resultante. Requer user:update:dob.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
date_of_birth1stringData de substituição no formato YYYY-MM-DD

1 Exatamente dez caracteres correspondentes a YYYY-MM-DD. O campo é obrigatório, portanto não há como limpar uma data de nascimento armazenada por meio desta operação

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaA data de nascimento foi substituída
404resposta de erroUNKNOWN_USER, porque a conta não existe

A nova data altera o conteúdo com restrição de idade que a conta pode acessar. Atualização de usuário é emitida para as próprias sessões da conta.

A alteração não é gravada no log de alterações de contato. A operação registra uma entrada de auditoria de Admin com ação change_dob, tipo de alvo user e as chaves de metadados old_dob e new_dob, em que um valor anterior ausente é o literal null.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

DELETE/v1/admin/users/{user_id}/profile-fieldsAudit reason

Limpa os campos de perfil nomeados e retorna a conta resultante. Requer user:update:profile.

A limpeza é a única alteração de perfil neste recurso. Nenhuma rota define uma biografia, nome de exibição, avatar ou banner para um novo valor.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
fields1array[string]Campos de perfil para limpar, com no máximo 10 entradas

1 Obrigatório. Uma matriz vazia é aceita, não limpa nada e ainda registra uma entrada de auditoria. Um valor fora do registro falha na validação do corpo

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaOs campos nomeados foram limpos
404resposta de erroUNKNOWN_USER, porque a conta não existe

Limpar avatar ou banner agenda o ativo anterior para exclusão.

Atualização de usuário é emitida para as próprias sessões da conta, e cada guilda da qual a conta é membro recebe Atualização de membro de guilda quando a operação altera avatar ou global_name.

A operação registra uma entrada de auditoria de Admin com ação clear_fields, tipo de alvo user e uma chave de metadados fields com os nomes enviados unidos por vírgulas.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

PUT/v1/admin/users/{user_id}/bot-statusAudit reason

Marca a conta como um bot ou como uma conta comum e retorna a conta resultante. Requer user:update:bot_status.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
bot1booleanSe a conta é um bot

1 Obrigatório. Defini-lo como falso também limpa system na mesma gravação

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaO status de bot foi definido
4031resposta de erroO tipo de credencial ou a avaliação da ACL negam a solicitação. ACCESS_DENIED quando o alvo mantiver uma ACL de Admin e bot for verdadeiro
404resposta de erroUNKNOWN_USER, porque a conta não existe

1 Uma conta de equipe (staff) não pode ser convertida em um bot. Limpe seu conjunto de ACLs com Definir ACLs de usuário primeiro

Atualização de usuário é emitida para as próprias sessões da conta, e cada guilda da qual a conta é membro recebe Atualização de membro de guilda quando a gravação altera bot ou system.

A operação registra uma entrada de auditoria de Admin com ação set_bot_status, tipo de alvo user e uma chave de metadados bot. Limpar system como efeito colateral não registra uma segunda entrada.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

PUT/v1/admin/users/{user_id}/system-statusAudit reason

Marca a conta como uma conta oficial de sistema ou remove esse marcador e retorna a conta resultante. Requer user:update:bot_status, a mesma ACL que Definir status de bot do usuário.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
system1booleanSe a conta é uma conta de sistema

1 Obrigatório. Defini-lo como verdadeiro em uma conta que já não é um bot falha na validação

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaO status de sistema foi definido
404resposta de erroUNKNOWN_USER, porque a conta não existe

1 O caso não-bot é INVALID_FORM_BODY com o código de validação USER_MUST_BE_A_BOT_TO_BE_MARKED_AS_A_SYSTEM_USER no caminho system

Atualização de usuário é emitida para as próprias sessões da conta. A operação registra uma entrada de auditoria de Admin com ação set_system_status, tipo de alvo user e uma chave de metadados system.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

PUT/v1/admin/users/{user_id}/aclsAudit reason

Substitui o conjunto de ACLs de Admin mantido pela conta e retorna a conta resultante. Requer acl:set:user.

A matriz enviada substitui totalmente o conjunto armazenado. Uma matriz vazia remove todas as ACLs, o que também remove o acesso à API Admin da conta e deixa todas as chaves da API Admin que a conta criou incapazes de satisfazer qualquer operação.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
acls1array[string]ACLs de Admin de substituição, com no máximo 111 valores

1 Obrigatório. Um valor fora do registro de ACLs falha na validação do corpo, e um valor repetido é recolhido

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaO conjunto de ACLs foi substituído
400resposta de erroA validação do caminho ou do corpo falha, incluindo um valor acls fora do registro de ACL
403resposta de erroO tipo de credencial ou a avaliação da ACL negam a solicitação, ou ACCESS_DENIED quando o caminho nomear a conta atuante
404resposta de erroUNKNOWN_USER, porque a conta não existe

O limite de concessão é avaliado após a conta ser resolvida, de modo que um ID desconhecido falha primeiro com 404.

O conjunto de ACLs armazenado é substituído e aparece no próximo objeto de usuário Admin. A conta pode alcançar a API Admin exatamente quando o novo conjunto mantiver admin:authenticate ou *. Estreitar o conjunto estreita todas as sessões existentes e chaves de API Admin da conta sem rotacionar nenhuma credencial.

Atualização de usuário é emitida para as próprias sessões da conta. A operação registra uma entrada de auditoria de Admin com ação set_acls, tipo de alvo user e uma chave de metadados acls com os valores enviados unidos por vírgulas.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

PUT/v1/admin/users/{user_id}/traitsAudit reason

Substitui o conjunto de características da conta e retorna a conta resultante. Requer user:update:traits.

Características são rótulos de operador de formato livre que não têm significado de ACL e não concedem nenhuma capacidade.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
traits1array[string]Conjunto de características de substituição, com no máximo 100 valores de 1 a 128 caracteres

1 Obrigatório. Uma matriz vazia limpa totalmente o conjunto armazenado e um valor repetido é recolhido

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaO conjunto de características foi substituído
404resposta de erroUNKNOWN_USER, porque a conta não existe

O conjunto de características armazenado é substituído e retornado classificado pelo próximo objeto de usuário Admin. Atualização de usuário é emitida para as próprias sessões da conta.

A operação registra uma entrada de auditoria de Admin com ação set_traits e tipo de alvo user. Uma solicitação não vazia tem uma chave de metadados traits com os valores enviados unidos por vírgulas, e uma solicitação que limpa o conjunto não tem metadados nenhum.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

PATCH/v1/admin/users/{user_id}/flagsAudit reason

Adiciona e remove flags de conta e retorna a conta resultante. Requer user:update:flags.

As adições são aplicadas antes das remoções, de modo que uma flag nomeada em ambas as matrizes acaba sendo apagada. Um bit fora do registro de flags de conta é aplicado inalterado.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
add_flags?1array[string]Valores de flag de conta para adicionar, com no máximo 64 entradas (padrão vazio)
remove_flags?1array[string]Valores de flag de conta para remover, com no máximo 64 entradas (padrão vazio)

1 Um valor de flag de 64 bits como uma string decimal não assinada, como 64. Um valor com vários bits é aplicado como uma máscara

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaAs flags foram atualizadas
404resposta de erroUNKNOWN_USER, porque a conta não existe

Tarefas em massa aplica a mesma alteração a até 1.000 contas como uma tarefa enfileirada update_user_flags.

Atualização de usuário é emitida para as próprias sessões da conta. Uma alteração nas flags públicas da conta também envia Atualização de membro da guilda para as guildas da conta.

A operação registra uma entrada de auditoria de Admin com ação update_flags, tipo de alvo user e as chaves de metadados add_flags, remove_flags e new_flags. Uma matriz vazia é omitida do mapa de metadados.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

PATCH/v1/admin/users/{user_id}/premium-flagsAudit reason

Adiciona e remove flags premium e retorna a conta resultante. Requer user:update:flags, a mesma ACL que Atualizar flags de usuário.

As flags premium controlam a exibição do emblema, a substituição do premium, o bloqueio de compras e a higienização de vantagens. Elas não concedem nem revogam uma assinatura.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
add_flags?1array[integer]Valores de flag premium para adicionar, com no máximo 64 entradas (padrão vazio)
remove_flags?1array[integer]Valores de flag premium para remover, com no máximo 64 entradas (padrão vazio)

1 Cada entrada é um valor de flag de 32 bits, como 2. As adições são aplicadas antes das remoções

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaAs flags premium foram atualizadas
404resposta de erroUNKNOWN_USER, porque a conta não existe

A exibição do emblema premium reflete as novas flags. Atualização de usuário é emitida para as próprias sessões da conta.

A operação registra uma entrada de auditoria de Admin com ação update_premium_flags, tipo de alvo user e as chaves de metadados add_flags, remove_flags e new_flags.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

Atualizar verificação de telefone do usuário

Seção intitulada “Atualizar verificação de telefone do usuário”
PUT/v1/admin/users/{user_id}/phone-verificationAudit reason

Define se a conta é tratada como tendo concluído a verificação por telefone e retorna a conta resultante. Requer user:update:phone.

Esta operação é a única maneira de definir has_verified_phone de volta para falso uma vez que é verdadeiro.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
has_verified_phone1booleanSe a conta conta como verificada por telefone

1 Obrigatório. Defini-lo como verdadeiro também limpa as flags de atividade suspeita REQUIRE_VERIFIED_PHONE e REQUIRE_INBOUND_PHONE_VERIFICATION junto com o bit de adiamento 1 << 16, e defini-lo como falso não limpa nenhuma flag

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaO estado de verificação do telefone foi definido
404resposta de erroUNKNOWN_USER, porque a conta não existe

REQUIRE_REVERIFIED_PHONE está fora do conjunto limpo, portanto, uma conta sob um requisito de reverificação o mantém após esta operação marcá-lo como verificado.

Atualização de usuário é emitida para as próprias sessões da conta. A operação registra uma entrada de auditoria de Admin com ação update_has_verified_phone, tipo de alvo user e uma chave de metadados has_verified_phone. Quando as flags de atividade suspeita também foram limpas, a entrada também tem suspicious_activity_flags_before e suspicious_activity_flags_after.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

PUT/v1/admin/users/{user_id}/suspicious-activity-flagsAudit reason

Substitui as flags de atividade suspeita da conta e retorna a conta resultante. Requer user:update:suspicious_activity.

A operação define requisitos de verificação sem desativar a conta. Desativar usuário por atividade suspeita também bloqueia a conta.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
flags1integerFlags de atividade suspeita de substituição

1 Obrigatório. O valor substitui o campo de bits armazenado completo, de modo que um bit omitido é limpo e um valor de zero não define nenhum requisito

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaAs flags foram substituídas
404resposta de erroUNKNOWN_USER, porque a conta não existe

O bit de adiamento 1 << 16 armazenado é preservado apenas quando já estava definido e o valor enviado define os mesmos bits REQUIRE_VERIFIED_PHONE e REQUIRE_REVERIFIED_PHONE do valor armazenado, com pelo menos um deles definido. Qualquer outro valor enviado limpa o bit de adiamento, de modo que qualquer requisito de telefone no valor enviado para de esperar por uma entrada em uma guilda.

Tarefas em massa aplica a mesma alteração a até 1.000 contas como uma tarefa enfileirada update_suspicious_activity_flags.

Atualização de usuário é emitida para as próprias sessões da conta. O Decoding Chat registra um resultado de risco challenged em relação à conta quando a gravação altera o conjunto e deixa pelo menos uma flag de registro definida.

A operação registra uma entrada de auditoria de Admin com ação update_suspicious_activity_flags, tipo de alvo user e uma chave de metadados flags com o valor enviado. Um bit de adiamento preservado faz com que esse valor difira das flags com as quais a conta termina.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

PUT/v1/admin/users/{user_id}/suspicious-activity-disablementAudit reason

Desativa a conta, substitui suas flags de atividade suspeita, destrói sua senha e retorna a conta resultante. Requer user:disable:suspicious.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
flags1integerFlags de atividade suspeita de substituição

1 Obrigatório. O valor substitui o campo de bits completo armazenado. Diferente de Atualizar flags de atividade suspeita, o bit de adiamento nunca é preservado

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaA conta foi desativada
404resposta de erroUNKNOWN_USER, porque a conta não existe

O Decoding Chat adiciona a flag de conta DISABLED_SUSPICIOUS_ACTIVITY, portanto, todas as outras flags armazenadas sobrevivem. Nenhuma operação dedicada limpa isso. Desbanir usuário limpa apenas DISABLED e Atualizar flags de usuário pode remover o bit como qualquer outro.

A conta é marcada com DISABLED_SUSPICIOUS_ACTIVITY, suas flags de atividade suspeita são substituídas e o hash de sua senha é definido como nulo. Cada sessão de autenticação é excluída em seguida, desconectando a conta em todos os dispositivos.

O Decoding Chat registra um resultado de risco disabled_suspicious, juntamente com um resultado challenged quando as flags enviadas forem diferentes de zero. O Decoding Chat envia um e-mail para o titular da conta quando a conta tiver um endereço de e-mail.

Atualização de usuário é emitida depois que as sessões já foram excluídas, de modo que nenhuma conexão da conta permanece para recebê-la. A operação registra uma entrada de auditoria de Admin com ação disable_suspicious_activity, tipo de alvo user e uma chave de metadados flags.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

PUT/v1/admin/users/{user_id}/banAudit reason

Desativa uma conta temporária ou permanentemente e retorna a conta resultante. Requer user:temp_ban.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
duration_hours1integerDuração do banimento em horas inteiras, onde 0 bane permanentemente (0-8760)
reason?2stringDeclaração de motivos enviada para a conta banida (no máximo 512 caracteres)

1 Obrigatório. A expiração é calculada a partir do momento em que o banimento é aplicado, portanto, nenhum campo de expiração absoluta é aceito. O limite de 8760 equivale a um ano

2 Incluído no e-mail de banimento temporário e na entrada de auditoria, mas não é armazenado na conta, portanto, nenhuma operação de leitura o retorna

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaA conta foi banida
404resposta de erroUNKNOWN_USER, porque a conta não existe

DISABLED é adicionado às flags da conta e temp_banned_until é definido como a expiração resolvida. Toda sessão de autenticação é excluída em seguida, desconectando a conta em todos os dispositivos.

Uma tentativa de autenticação enquanto o banimento permanece falha com 403 ACCOUNT_SUSPENDED_TEMPORARILY. Uma tentativa após a expiração limpar a flag DISABLED e temp_banned_until na mesma solicitação, de modo que um banimento temporário termine sem uma operação Admin.

Quando a conta tem um endereço de e-mail e duration_hours for maior que zero, a duração, a expiração e o reason fornecido são enviados por e-mail para o titular da conta. Um banimento permanente não envia e-mail.

Atualização de usuário é emitida depois que as sessões são excluídas, de modo que nenhuma conexão da conta permanece para recebê-la. DISABLED não é uma flag de conta pública e nenhuma outra conta observa a alteração.

A operação registra uma entrada de auditoria de Admin com ação temp_ban, tipo de alvo user e as chaves de metadados duration_hours, reason e banned_until.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

DELETE/v1/admin/users/{user_id}/banAudit reason

Limpa o banimento da conta e retorna a conta resultante. Requer user:temp_ban.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
2001corpo da respostaO banimento foi limpo
404resposta de erroUNKNOWN_USER, porque a conta não existe

1 A operação não verifica nenhuma precondição. Em uma conta que nunca foi banida, ela grava temp_banned_until como nulo, limpa DISABLED e ainda envia e-mail ao titular da conta

temp_banned_until é limpo e DISABLED é removido das flags da conta. DISABLED_SUSPICIOUS_ACTIVITY é uma flag diferente e não é limpa, de modo que uma conta desativada por Desativar usuário por atividade suspeita permanece desativada.

As sessões excluídas não são restauradas. O titular da conta é notificado por e-mail quando a conta tem um endereço de e-mail. Atualização de usuário é emitida para as próprias sessões da conta.

A operação registra uma entrada de auditoria de Admin com ação unban, tipo de alvo user e sem metadados.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

PUT/v1/admin/users/{user_id}/deletionAudit reason

Cria ou substitui um agendamento de exclusão de conta e retorna a conta resultante. Requer user:delete. Um agendamento não pode ser alterado assim que a exclusão for iniciada.

O Decoding Chat aumenta o atraso enviado para o mínimo para o motivo da exclusão, de modo que uma solicitação de um dia sob qualquer motivo diferente de USER_REQUESTED seja armazenada como 60 dias.

O valor de X-Audit-Log-Reason também é armazenado na conta como o motivo da exclusão privada e reutilizado como motivo da lista de bloqueio para os banimentos de identificador abaixo.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
reason_code1integerMotivo da exclusão
public_reason?2stringDeclaração de motivos mostrada ao titular da conta (no máximo 512 caracteres)
days_until_deletion?3integerAtraso solicitado em dias inteiros (1 a 365, padrão 60)

1 Obrigatório e validado em relação ao registro de motivo de exclusão. USER_REQUESTED seleciona o mínimo de 14 dias, e todos os outros valores selecionam o mínimo de 60 dias

2 Armazenado na conta e incluído no e-mail de exclusão. Omiti-lo armazena nulo

3 O prazo armazenado é o instante da solicitação mais o maior valor entre esse e o mínimo para o código de motivo. Não há campo de carimbo de data/hora absoluto

CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaO agendamento de exclusão foi armazenado
404resposta de erroUNKNOWN_USER, porque a conta não existe
409resposta de erroCONFLICT, porque o apagamento começou ou o estado de exclusão mudou durante a solicitação

user:delete também permite agendar a exclusão do Admin atuante ou de uma conta com permissões mais amplas.

A conta não pode mais ser autenticada e suas sessões de autenticação existentes são excluídas. O apagamento é agendado para o prazo resultante.

O Decoding Chat cancela uma assinatura Stripe na conta sem rateio e reembolsa a cobrança por trás de sua fatura mais recente como fraudulenta. Quando o cancelamento ou reembolso falhar, o Decoding Chat registrará a falha e ainda manterá o agendamento de exclusão.

O prazo e a public_reason fornecida são enviados por e-mail para o titular da conta quando ela tem um endereço de e-mail.

Para todos os motivos, exceto USER_REQUESTED, o Decoding Chat também bloqueia o endereço de e-mail da conta. Ele marca o último endereço IP ativo da conta, seus endereços IP autorizados e os endereços IP de suas sessões ativas e encerradas como suspeitos e resolve os relatórios pendentes em relação à conta. Essas etapas de aplicação são feitas no melhor esforço e podem falhar sem cancelar o agendamento de exclusão.

Atualização de usuário é emitida depois que as sessões já foram excluídas. A operação registra uma entrada de auditoria de Admin com a ação schedule_deletion, tipo de alvo user e as chaves de metadados days e reason_code. Os banimentos de identificador registram suas próprias entradas de lista de bloqueio e, quando o Decoding Chat resolve pelo menos um relatório, ele registra uma segunda entrada com a ação auto_resolve_reports_on_deletion e uma chave de metadados resolved_count.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

DELETE/v1/admin/users/{user_id}/deletionAudit reason

Cancela um agendamento de exclusão e retorna a conta resultante. Requer user:delete. O apagamento não pode ser cancelado depois de iniciado.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
200corpo da respostaA exclusão foi cancelada ou não havia exclusão agendada
404resposta de erroUNKNOWN_USER, porque a conta não existe
409resposta de erroCONFLICT, porque o apagamento começou ou o estado de exclusão mudou durante a solicitação

O agendamento de exclusão e os motivos são limpos, permitindo que a conta seja autenticada novamente, a menos que outra restrição se aplique.

O Decoding Chat envia um e-mail para o titular da conta quando ela tem um endereço de e-mail. O e-mail cita o valor X-Audit-Log-Reason literalmente e volta para o texto literal deletion canceled quando o cabeçalho estiver ausente ou for nulo.

Atualização de usuário é emitida para as próprias sessões da conta. A operação registra uma entrada de auditoria de Admin com ação cancel_deletion, tipo de alvo user e sem metadados.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

GET/v1/admin/users/{user_id}/guildsAudit reason

Lista as guildas das quais a conta é membro, em ordem crescente de ID de guilda. Requer user:list:guilds. Ambos os cursores se aplicam à lista de membros classificada da própria conta.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
before?1snowflakeRetornar guildas ordenadas antes deste ID de guilda
after?1snowflakeRetornar guildas ordenadas após este ID de guilda
limit?integerNúmero máximo de guildas a retornar (1 a 200, padrão 200)
with_counts?2booleanSe as contagens ativas de membros e presenças devem ser resolvidas (padrão falso)

1 Um cursor nomeando uma guilda da qual a conta não é membro é ignorado e a solicitação ainda é bem-sucedida. after é aplicado antes de before e os dois se combinam para limitar uma janela

2 Apenas as strings exatas true, True e 1 contam como verdadeiras

CampoTipoDescrição
guilds1array[Objeto de guilda Admin]As guildas nesta página nas quais a conta é um membro

1 approximate_member_count e approximate_presence_count estão presentes apenas quando with_counts resolvido como verdadeiro. owner_username, owner_global_name e owner_discriminator são resolvidos por esta operação e são nulos apenas para uma conta de proprietário que não existe mais

StatusCorpoCondição
200corpo da respostaA página de associação foi retornada
404resposta de erroUNKNOWN_USER, porque a conta não existe

A resposta não tem estado de paginação. Derive o próximo cursor do último ID de guilda retornado e trate uma página curta como o fim da lista.

A operação registra uma entrada de auditoria de Admin com a ação list_user_guilds, tipo de alvo user, o caminho user_id como ID de alvo e as chaves de metadados limit, with_counts e guild_count para as guildas retornadas. Um cursor fornecido adiciona before_guild_id ou after_guild_id. Uma solicitação com falha não registra nada.

200 solicitações por minuto para cada usuário autenticado, no bucket admin:lookup.

GET/v1/admin/users/{user_id}/dm-channelsAudit reason

Lista os canais de mensagem direta nos quais a conta participou. Requer user:list:dm_channels. A leitura não abre, reabre ou reconhece um canal para a conta de destino.

A ramificação de grupo ignora before, after e limit e retorna todos os grupos dos quais a conta é destinatária em uma resposta.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
type?stringdm ou group_dm (padrão dm)
before?1snowflakeRetornar canais atualizados antes desse ID de mensagem
after?1snowflakeRetornar canais atualizados depois desse ID de mensagem
limit?2integerMáximo de canais a retornar (1 a 100, padrão 100)
include_recipients?3booleanSe os destinatários dos canais devem ser resolvidos (padrão verdadeiro)

1 Ignorado pela ramificação de grupo. Um cursor não correspondente na ramificação dm é ignorado e a solicitação ainda é bem-sucedida. after é aplicado antes de before e os dois se combinam para limitar uma janela

2 Ignorado pela ramificação de grupo

3 Apenas as strings exatas true, True e 1 contam como verdadeiras. Falso omite a matriz recipients e ainda retorna a matriz recipient_ids completa

CampoTipoDescrição
channelsarray[Objeto de canal de mensagem direta Admin]Os canais nesta página, classificados pelo ID da mensagem mais recente decrescente
StatusCorpoCondição
200corpo da respostaA página de canal foi retornada
404resposta de erroUNKNOWN_USER, porque a conta não existe

Na ramificação dm, derive o próximo cursor da ID da mensagem mais recente do último canal e trate uma página curta como o fim da lista. Como o classificador não é exclusivo, um último canal que compartilha sua ID de mensagem com o próximo não visto fará com que o próximo canal seja ignorado.

A operação registra uma entrada de auditoria de Admin com ação list_user_dm_channels, tipo de alvo user, o caminho user_id como ID do alvo e as chaves de metadados type, include_recipients e channel_count para os canais retornados. O branch dm adiciona limit e os cursores passados como before_message_id ou after_message_id. Uma solicitação falha não registra nada.

200 solicitações por minuto para cada usuário autenticado, no bucket admin:lookup.

POST/v1/admin/users/{user_id}/shred-messagesAudit reason

Programa uma tarefa em massa do sistema para excluir as mensagens recentes da conta e retorna 202. Requer message:shred.

O triturador ignora canais que pertencem a uma guilda retida, e max_age_days não pode exceder a janela de trituração mantida pela instância, que padroniza para 15 dias. Nenhuma dessas regras se aplica a mensagens diretas individuais (DMs).

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
max_age_days?1integerDias de mensagens para excluir (0 a 30, padrão 3)
include_dms?2booleanSe as mensagens em DMs individuais devem ser excluídas (padrão falso)

1 0 não exclui nada, 30 exclui o máximo permitido

2 Quando verdadeiro, as mensagens em DMs são excluídas em toda a conta, ignorando max_age_days

Nenhum.

StatusCorpoCondição
202vazioA tarefa de trituração foi enfileirada
403resposta de erroO tipo de credencial ou a avaliação da ACL negam a solicitação
404resposta de erroUNKNOWN_USER, porque a conta não existe

Uma tarefa em massa é criada para excluir as mensagens. A operação registra uma entrada de auditoria de Admin com ação shred_user_messages, tipo de alvo user e chaves de metadados max_age_days e include_dms.

10 solicitações por minuto para cada usuário autenticado, no bucket admin:user:shred.

DELETE/v1/admin/users/{user_id}/message-deletionAudit reason

Cancela a exclusão de mensagens em massa que o titular da conta agendou para si mesmo e retorna a conta resultante. Requer user:cancel:bulk_message_deletion.

Excluir todas as mensagens do usuário enfileira um trabalho Admin separado sobre as mesmas mensagens, e o cancelamento desse agendamento deixa esse trabalho em execução.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
userObjeto de usuário AdminA conta resultante
StatusCorpoCondição
2001corpo da respostaA exclusão agendada foi cancelada ou a conta não tinha nenhuma
404resposta de erroUNKNOWN_USER, porque a conta não existe

1 A operação é idempotente. Chamá-la em uma conta sem exclusão agendada tem êxito, retorna a conta inalterada e ainda registra a entrada de auditoria

pending_bulk_message_deletion_at é limpo junto com as contagens de canal e mensagens armazenadas, e a conta é removida da fila de exclusão em massa, para que nenhuma outra mensagem seja excluída. As mensagens já excluídas por uma execução anterior não são restauradas.

Nenhuma Atualização de usuário é emitida, ao contrário de todas as outras operações de usuário mutantes nesta página, então um cliente conectado só fica sabendo do cancelamento em sua próxima leitura. A operação registra uma entrada de auditoria de Admin com ação cancel_bulk_message_deletion, tipo de alvo user e sem metadados.

100 solicitações por minuto para cada usuário autenticado, no bucket admin:user:modify.

POST/v1/admin/users/{user_id}/archivesAudit reason

Cria um arquivo assíncrono dos dados da conta e retorna o objeto de arquivo criado. Requer archive:trigger:user.

O progresso, o download e a expiração do arquivo estão documentados em Arquivos (Archives).

CampoTipoDescrição
user_idsnowflakeO ID do assunto do arquivo
CampoTipoDescrição
include_attachments?1booleanSe os arquivos enviados estão incluídos (padrão falso)

1 A inclusão de binários de anexos torna o arquivo maior e mais lento para compilar, e apenas um arquivo que os inclua retém a mídia original enviada

StatusCorpoCondição
2001Objeto de arquivoO arquivo foi enfileirado
404resposta de erroUNKNOWN_USER, e nenhum registro de arquivo ou trabalho de compilação é criado

1 O arquivo começa com progress_percent em zero e progress_step definido como Queued

O Decoding Chat cria o registro do arquivo e enfileira um trabalho de compilação, para que a resposta retorne antes que qualquer dado seja coletado. A geração do arquivo lê os dados da conta sem alterá-los.

Nenhum Gateway Dispatch é emitido.

A operação registra uma entrada de auditoria de Admin com ação trigger_user_archive, tipo de alvo user, o caminho user_id como ID de alvo e as chaves de metadados archive_id para o arquivo criado e include_attachments como true ou false.

200 solicitações por minuto para cada usuário autenticado, no bucket admin:lookup.

GET/v1/admin/users/{user_id}/change-logAudit reason

Lista as alterações de identidade e de campo de contato registradas para a conta, da mais recente para a mais antiga. Requer user:view:contact_log. Valores de e-mail também requerem user:view:email.

CampoTipoDescrição
user_idsnowflakeO ID da conta de destino
CampoTipoDescrição
limit?integerMáximo de entradas a retornar (1 a 200, padrão 50)
page_token?1stringCursor retornado como next_page_token pela página anterior (1 a 64 caracteres)

1 Continua a caminhada dos mais recentes primeiro, para que retorne as entradas registradas antes do cursor

CampoTipoDescrição
entries1array[Objeto de log de alterações de usuário Admin]As alterações de identidade e contato nesta página
next_page_token2?stringO cursor para enviar como page_token, ou nulo quando esta for a última página

1 Limitado em 200 entradas, o que também é o limit máximo

2 Definido apenas quando a página retornou exatamente limit entradas, de modo que uma página final que por acaso esteja cheia relata um cursor cuja próxima página está vazia

StatusCorpoCondição
2001corpo da respostaA página de alteração foi retornada

1 Esta operação não resolve a conta, por isso nunca responde UNKNOWN_USER. Um ID sem conta correspondente retorna uma página vazia

Sem user:view:email, uma entrada email ainda é retornada com ambos os campos de valor substituídos pela string literal [redacted], de modo que o fato e a hora da alteração permanecem visíveis enquanto os endereços não.

A operação registra uma entrada de auditoria de Admin com ação list_user_change_log, tipo de alvo user, o caminho user_id como ID do alvo e as chaves de metadados limit e entry_count para as entradas retornadas. Um page_token fornecido adiciona has_page_token como true, e o valor do cursor não é registrado.

200 solicitações por minuto para cada usuário autenticado, no bucket admin:lookup.