Referência da API

API de Suporte

Suporte

Referência HTTP. Gerada a partir do contrato backend. Navegue pelos endpoints abaixo ou baixe o OpenAPI.

Este grupo tem 9 operações, geradas a partir de api/openapi.yaml. Filtre por caminho, ação ou autenticação. Cada endpoint lista suas entradas; expanda-o para ver um modelo de solicitação e os códigos de resposta. Os modelos precisam de seus próprios valores e de um corpo válido conforme o esquema.

Substitua os espaços reservados em maiúsculas pelos seus valores. Para uma solicitação JSON, salve um corpo que corresponda ao esquema em request.json. Exemplos de cookies usam um jar local de cookies de uma sessão autenticada.

Suporte

POST/website/support-messages

Enviar uma mensagem de contato pelo site

Recebimento anônimo de JSON da mesma origem para o formulário de contato do site. Exige o cabeçalho Origin do site e uma Idempotency-Key de 20 a 128 letras, dígitos, hifens ou sublinhados. Não cria conta nem sessão. Salva a mensagem e o e-mail para resposta antes de confirmar o recebimento; o serviço de suporte os envia ao canal de suporte do Slack configurado.

O e-mail fornecido pelo visitante é uma informação de contato, nunca uma prova de identidade. Novas tentativas idênticas recebem a mesma confirmação sem outra entrega; um corpo alterado com a mesma chave resulta em idempotency_mismatch.

No máximo 10 novas mensagens por IP de cliente por hora (IPv6 agrupados por /64), 3 por e-mail por dia e 200 no total por hora; todas as solicitações compartilham o limite de 120 por IP por minuto. Retry-After é a referência obrigatória. As mensagens permanecem na fila em caso de falha na entrega; os registros entregues expiram após 30 dias.

Autenticação
nenhum
Corpo da solicitação
object
ID da operação
submitWebsiteSupportMessage

Parâmetros

NomeEnviarObrigatório?Descrição
Origemcabeçalhoobrigatório
Idempotency-Keycabeçalhoobrigatório

Campos do corpo da solicitação

CampoDescrição
email (obrigatório, string)maxLength: 254 format: "email"
message (obrigatório, texto)Mensagem literal, preservando parágrafos e recuos; texto composto apenas por espaços em branco é recusado. minLength: 1 maxLength: 4000
website (opcional, texto)Campo antispam; deixe vazio. maxLength: 200
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Origin: https://screenrig.ai' --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/website/support-messages'

Respostas

StatusSignificadoCorpo e cabeçalhos
202Mensagem salva para entrega ou nova tentativa idêntica confirmada. Não contém dados de contato.objeto (application/json); cabeçalhos: Cache-Control
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/support/status

Status do suporte

Disponibilidade e horários para qualquer projeto ativo. chat_allowed é verdadeiro para todo projeto ativo, incluindo Standard. human_available é verdadeiro quando uma pessoa pode entrar no chat a pedido (Education, Premium e Enterprise); Standard e Plus têm documentação e suporte por IA. staffed indica se a equipe está em seu horário agora. Luna responde na hora em todos os planos.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
supportStatus

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/status'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Resultado do suporte.SupportStatus (application/json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/support/conversations

Listar conversas de suporte

Conversas do projeto, mais recentes primeiro, no máximo 100. Contagens de não lidas da equipe são por pessoa ou agente autenticado.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
listSupportConversations

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
beforeconsultaopcionalID da conversa do cursor próximo da página anterior.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/conversations'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Resultado do suporte.SupportConversationList (application/json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/support/conversations

Criar conversa de suporte

Disponível em todos os planos; Luna responde primeiro, na hora. Onde uma pessoa pode entrar (human_available no status do suporte), pedir uma pessoa pausa Luna para a equipe; no Standard e no Plus o pedido é ignorado e Luna responde. Verificado antes do armazenamento ou Slack.

Uma mensagem inicial com menos de 8 caracteres ou 3 palavras retorna submission_too_short; uma que não seja uma pergunta ou problema retorna submission_unclear; spam, texto com muitos links, injeção de prompt e texto inseguro retornam submission_rejected. Texto rejeitado não é mantido nem enviado para Luna, e o detalhe do problema nunca o repete.

Texto com formato de credencial que não seja credenciais ScreenRig (tokens bearer, chaves de nuvem e API, chaves privadas) é substituído por [redigido] antes do armazenamento; material de credencial ScreenRig retorna invalid_request. Uma nova conversa inicia um único tópico no Slack; acompanhamentos permanecem nele. Solicitações com a mesma chave são repetidas por 24 horas, incluindo recusa.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
SupportWrite
ID da operação
createSupportConversation

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
Idempotency-Keycabeçalhoobrigatório

Campos do corpo da solicitação

CampoDescrição
body (obrigatório, string)minLength: 1 maxLength: 4000
human_requested (opcional, booleano)

Pedir uma pessoa, o que pausa Luna e aguarda a equipe. Só conta onde uma pessoa pode entrar (human_available: Education, Premium e Enterprise); no Standard e no Plus é ignorado e Luna responde. padrão: falso

Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/support/conversations'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Resultado do suporte.SupportSubmission (application/json)
422A mensagem foi recusada pela triagem: submission_too_short ou submission_unclear (apenas a mensagem inicial) ou submission_rejected. O detalhe nunca repete o texto.Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/api/support/conversations/{id}/messages

Listar mensagens de suporte

Mensagens na conversa do projeto, sequência ascendente, no máximo 100. Continue após a última sequência de mensagens para paginação de conversas antigas. A leitura não reconhece estado de não lido da equipe.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
listSupportMessages

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
depoisconsultaopcionalSequência de mensagens de suporte do projeto; retoma estritamente após esta posição.
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/conversations/RESOURCE_ID/messages'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Resultado do suporte.SupportMessageList (application/json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/support/conversations/{id}/messages

Responder à conversa de suporte

Adiciona uma mensagem do cliente a uma conversa aberta. Um acompanhamento não tem comprimento mínimo e nunca é recusado por ser pouco claro sozinho ("obrigado", "sim"); é filtrado para segurança, injeção de prompt e spam de links, recusado com submission_rejected, e texto com formato de credencial é tratado como nova conversa.

Texto rejeitado não é mantido, e uma recusa é reproduzida sob a mesma chave por 24 horas.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
SupportWrite
ID da operação
replySupportConversation

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Idempotency-Keycabeçalhoobrigatório

Campos do corpo da solicitação

CampoDescrição
body (obrigatório, string)minLength: 1 maxLength: 4000
human_requested (opcional, booleano)

Pedir uma pessoa, o que pausa Luna e aguarda a equipe. Só conta onde uma pessoa pode entrar (human_available: Education, Premium e Enterprise); no Standard e no Plus é ignorado e Luna responde. padrão: falso

Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Idempotency-Key: REQUEST_ID' --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/support/conversations/RESOURCE_ID/messages'

Respostas

StatusSignificadoCorpo e cabeçalhos
201Resultado do suporte.SupportSubmission (application/json)
422A mensagem foi recusada pela triagem: submission_too_short ou submission_unclear (apenas a mensagem inicial) ou submission_rejected. O detalhe nunca repete o texto.Problema (application/problem+json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
PUT/api/support/conversations/{id}/read

Leia conversa de suporte

Reconheça monotonicamente mensagens pela sequência para este leitor. Não é possível reconhecer além da conversa last_sequence.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
SupportRead
ID da operação
readSupportConversation

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório

Campos do corpo da solicitação

CampoDescrição
sequência (obrigatório, inteiro)mínimo: 0
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request PUT --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt --header 'Content-Type: application/json' --data '@request.json' 'https://screenrig.ai/api/support/conversations/RESOURCE_ID/read'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Resultado do suporte.SupportRead (application/json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
POST/api/support/conversations/{id}/close

Fechar conversa de suporte

Encerrar esta conversa do projeto e cancelar respostas pendentes da IA. Repetível; preserva o histórico. A equipe pode reabri-la no Slack.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
closeSupportConversation

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
idcaminhoobrigatório
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request POST --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/conversations/RESOURCE_ID/close'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Conversa encerrada.SupportConversation (application/json)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)
GET/stream/support

Mensagens de suporte do fluxo

Mensagens de suporte do projeto em todos os planos como SSE retomável. event é support.message; id é a sequência de suporte do projeto, data é SupportMessage. after tem precedência sobre Last-Event-ID. Cursor 0 reproduz o histórico. Mensagens da equipe, cliente e IA são distinguidas por função. Fluxos revalidam credenciais e acesso ativo ao projeto.

Nenhum dado de captura de tela ou credencial é enviado.

Autenticação
projectBearer OU dashboardSession
Corpo da solicitação
nenhum
ID da operação
streamSupportMessages

Parâmetros

NomeEnviarObrigatório?Descrição
ScreenRig-ProjectcabeçalhoopcionalObsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token.
depoisconsultaopcionalSequência de mensagens de suporte do projeto; retoma estritamente após esta posição.
Last-Event-IDcabeçalhoopcional
Modelo e respostas da solicitação
shell · modelo de requisição
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/stream/support'

Respostas

StatusSignificadoCorpo e cabeçalhos
200Mensagem de suporte SSE.string (text/event-stream)
padrão

Resposta de problema estável RFC 9457. Um 421 server_draining tem Retry-After de 1 segundo, um 500 not_ready ou dependency_unavailable tem 5, e um 500 manifest_degraded tem 60, a menos que o handler defina valor mais específico.

Problema (application/problem+json)