OpenAPI YAMLOpenAPI JSONproblemas YAMLVisão geral da API
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
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| Origem | cabeçalho | obrigatório | |
| Idempotency-Key | cabeçalho | obrigatório |
Campos do corpo da solicitação
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 202 | Mensagem 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/status'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Resultado 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| before | consulta | opcional | ID da conversa do cursor próximo da página anterior. |
Modelo e respostas da solicitação
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/api/support/conversations'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Resultado 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto 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-Key | cabeçalho | obrigatório |
Campos do corpo da solicitação
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 201 | Resultado do suporte. | SupportSubmission (application/json) |
| 422 | A 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| depois | consulta | opcional | Sequência de mensagens de suporte do projeto; retoma estritamente após esta posição. |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Resultado 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório | |
| Idempotency-Key | cabeçalho | obrigatório |
Campos do corpo da solicitação
| Campo | Descriçã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
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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 201 | Resultado do suporte. | SupportSubmission (application/json) |
| 422 | A 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Campos do corpo da solicitação
| Campo | Descrição |
|---|---|
| sequência (obrigatório, inteiro) | mínimo: 0 |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Resultado 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| id | caminho | obrigatório |
Modelo e respostas da solicitaçã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
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Conversa 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) |
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.
Parâmetros
| Nome | Enviar | Obrigatório? | Descrição |
|---|---|---|---|
| ScreenRig-Project | cabeçalho | opcional | Obsoleto por uma versão. Deve ser consistente com as concessões de projetos JWT; adiciona cabeçalhos Deprecation e Warning. Sem troca de token. |
| depois | consulta | opcional | Sequência de mensagens de suporte do projeto; retoma estritamente após esta posição. |
| Last-Event-ID | cabeçalho | opcional |
Modelo e respostas da solicitação
curl --request GET --header 'Authorization: Bearer [SCREENRIG_TOKEN]' --cookie cookies.txt --cookie-jar cookies.txt 'https://screenrig.ai/stream/support'Respostas
| Status | Significado | Corpo e cabeçalhos |
|---|---|---|
| 200 | Mensagem 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) |