Pular para o conteúdo
Decoding Chat API

Trabalhos (Jobs)

Estas rotas listam os trabalhos (jobs) em segundo plano registrados e solicitam o cancelamento. Crie trabalhos através de Queue bulk job, Create system DM broadcast, Refresh search index ou uma solicitação de archive.

As leituras exigem jobs:view e o cancelamento exige jobs:cancel. Todas as operações nesta página compartilham o bucket admin:jobs:view. As três leituras não registram nenhuma entrada de auditoria Admin audit entry, e o cancelamento registra uma.

Um objeto descreve um trabalho (job) registrado. Estas rotas só podem alterar cancel_requested.

CampoTipoDescrição
job_idsnowflakeO ID do trabalho
task_typestringO tipo de tarefa do trabalho em segundo plano que o trabalho executa
statusstringO último status do trabalho registrado
progress_current?integerAs unidades de trabalho relatadas como concluídas, ou null
progress_total?integerO total de unidades de trabalho relatado, ou null
progress_message?stringA última mensagem de progresso relatada, ou null
error_message?stringO motivo da falha registrado, ou null
created_atISO8601 timestampA hora em que o trabalho foi registrado
started_at?ISO8601 timestampA última hora de início registrada, ou null quando nenhum início foi registrado
completed_at?ISO8601 timestampA hora registrada de conclusão, cancelamento ou falha, ou null
requested_by_user_id?snowflakeO solicitante registrado, ou null
audit_log_reason?stringO motivo do log de auditoria registrado, ou null
jet_stream_lane?stringA pista de processamento atribuída, ou null
jet_stream_seq?stringA sequência da fila registrada como uma string decimal, ou null
attemptsintegerA contagem de tentativas registrada, não um total de todas as execuções
max_attemptsintegerO limite de tentativas registrado no momento em que entrou na fila. As tentativas param no limite de entrega da pista, que pode ser diferente deste valor
run_at?ISO8601 timestampO tempo de execução permitido mais cedo, ou null para um trabalho imediato
cancel_requestedbooleanSe o cancelamento foi solicitado
context_link?stringUm caminho no console de Admin relacionado ao trabalho, ou null
payload?stringA entrada do trabalho codificada em JSON, ou null
result?stringO resultado codificado em JSON, ou null

Os campos de progresso permanecem null até que a tarefa relate progresso. Uma tarefa pode relatar progresso sem total ou sem mensagem, o que define progress_total ou progress_message como null. O payload pode conter identificadores e conteúdo de mensagem, inclusive em respostas de lista.

{
"job_id": "1501314428688998182",
"task_type": "bulkUpdateUserFlags",
"status": "running",
"progress_current": 25,
"progress_total": 400,
"progress_message": "Atualizando flags",
"error_message": null,
"created_at": "2026-08-31T09:00:00.000Z",
"started_at": "2026-08-31T09:00:01.000Z",
"completed_at": null,
"requested_by_user_id": "1478812292088791040",
"audit_log_reason": null,
"jet_stream_lane": "lifecycle",
"jet_stream_seq": "4812",
"attempts": 0,
"max_attempts": 5,
"run_at": null,
"cancel_requested": false,
"context_link": null,
"payload": "{\"user_ids\":[\"1478812292088791040\"]}",
"result": null
}

Passe todos os três campos do next_cursor de volta para List jobs usando os parâmetros de consulta do cursor correspondentes.

CampoTipoDescrição
bucket_daystringA data UTC do cursor como YYYY-MM-DD
created_atISO8601 timestampO horário de criação do cursor
job_idsnowflakeO identificador do trabalho do cursor
{
"bucket_day": "2026-08-30",
"created_at": "2026-08-30T22:41:07.512Z",
"job_id": "1500901337221828608"
}
ValorDescrição
queuedO trabalho foi registrado e nenhum status posterior foi registrado
runningO trabalho foi registrado como iniciado
succeededO trabalho foi registrado como concluído com sucesso
cancelledA tarefa leu a solicitação de cancelamento e parou
deadletterO trabalho foi registrado como falho, incluindo uma falha ao colocá-lo na fila

queued e running aceitam solicitações de cancelamento. Os outros status são terminais. Uma solicitação de cancelamento não garante que a tarefa irá parar.

jet_stream_lane identifica o grupo de processamento do trabalho.

ValorDescrição
realtimeProcessamento de menções
unfurlPré-visualizações de links
lifecycleTrabalhos em lote, arquivamento, moderação, guilda e conta
batchManutenção programada e trabalho de indexação

Background job task types (Tipos de tarefa de trabalho em segundo plano)

Seção intitulada “Background job task types (Tipos de tarefa de trabalho em segundo plano)”

Use o valor task_type retornado para filtrar List jobs.

As tarefas colocadas na fila por Bulk jobs são bulkUpdateUserFlags, bulkUpdateSuspiciousActivityFlags, bulkUpdateGuildFeatures, bulkAddGuildMembers, e bulkScheduleUserDeletion. harvestUserData e harvestGuildData criam archives, sendSystemDm entrega um system DM broadcast, e refreshSearchIndex reconstrói um search index.

GET/v1/admin/jobs

Retorna uma página de objetos Admin job, com os mais recentes primeiro, dentro da janela de lookback solicitada. Requer jobs:view.

CampoTipoDescrição
limit?integerO número máximo de trabalhos a retornar (1-200, padrão 50)
cursor_bucket_day?stringnext_cursor.bucket_day como uma data UTC YYYY-MM-DD
cursor_created_at?stringnext_cursor.created_at como um timestamp ISO 8601 (1-64 caracteres)
cursor_job_id?snowflakeO identificador do trabalho em next_cursor.job_id
max_lookback_days?integerO número de dias antes da data do cursor ou de hoje a incluir (1-60, padrão 14)
status?stringFiltrar por job status registrado
task_type?stringFiltrar por task type (1-128 caracteres)
requested_by_user_id?snowflakeFiltrar por solicitante registrado

Forneça todos os três parâmetros do cursor juntos ou omita os três. Um cursor incompleto ou malformado retorna 400 INVALID_FORM_BODY. Um tipo de tarefa desconhecido retorna uma página vazia.

CampoTipoDescrição
jobsarray[Objeto Admin job]Os trabalhos nesta página
next_cursor?Objeto job cursorO cursor para a próxima solicitação, ou null
StatusCorpoCondição
200corpo da respostaA página de trabalho foi retornada
400error responseINVALID_FORM_BODY porque um parâmetro de consulta é inválido

A operação não registra nenhuma Admin audit entry.

600 solicitações por minuto para cada usuário autenticado, no bucket admin:jobs:view.

GET/v1/admin/jobs/active

Retorna os trabalhos ativos registrados como objetos Admin job. Requer jobs:view.

Esta operação não possui filtros ou paginação. O status e o progresso armazenados podem estar atrasados em relação ao trabalho que a tarefa já concluiu.

CampoTipoDescrição
jobsarray[Objeto Admin job]Os trabalhos ativos registrados
StatusCorpoCondição
200corpo da respostaOs trabalhos ativos foram retornados

A operação não registra nenhuma Admin audit entry.

600 solicitações por minuto para cada usuário autenticado, no bucket admin:jobs:view.

GET/v1/admin/jobs/{job_id}

Retorna um objeto Admin job. Requer jobs:view.

CampoTipoDescrição
job_idsnowflakeO ID do trabalho
CampoTipoDescrição
jobObjeto Admin jobO trabalho
StatusCorpoCondição
200corpo da respostaO trabalho foi retornado
404{"error": "job_not_found"}Nenhum registro de trabalho possui esse identificador

Uma resposta 404 usa este corpo de campo único em vez da resposta de erro padrão. Um registro ausente ou expirado não significa que o trabalho nunca foi executado.

A operação não registra nenhuma Admin audit entry.

600 solicitações por minuto para cada usuário autenticado, no bucket admin:jobs:view.

PUT/v1/admin/jobs/{job_id}/cancellationAudit reason

Solicita o cancelamento cooperativo de um trabalho e relata se a solicitação foi registrada. Requer jobs:cancel.

CampoTipoDescrição
job_idsnowflakeO ID do trabalho
CampoTipoDescrição
cancelledbooleanSe uma solicitação de cancelamento foi registrada

Retorna false para um trabalho ausente ou terminal. A repetição de uma solicitação para um trabalho na fila ou em execução retorna true.

StatusCorpoCondição
200corpo da respostaA solicitação foi avaliada, tendo o sinalizador mudado ou não

Define cancel_requested como true para um trabalho na fila ou em execução. sendSystemDm, syncDisposableEmailDomains, bulkBanFileShas, bulkDeleteMessagesForUsers, e as tarefas enfileiradas por Bulk jobs verificam a solicitação enquanto são executadas e param na próxima verificação. Outras tarefas são executadas até o fim. O trabalho concluído não é desfeito. Um status de cancelled significa que a tarefa parou devido à solicitação.

A operação registra uma Admin audit entry com ação cancel_job, tipo alvo bulk_job, ID de alvo igual a job_id e a chave de metadados cancelled. A entrada usa o tipo alvo bulk_job para cada tipo de tarefa, e o Decoding Chat a registra mesmo quando cancelled é falso.

600 solicitações por minuto para cada usuário autenticado, no bucket admin:jobs:view.