# Praeko > API para publicar vídeos curtos em YouTube, Instagram e TikTok com uma chave e um contrato. Documentação em português (também em inglês: https://praeko.app/docs/en); toda página também existe em Markdown (acrescente .md à URL). Contrato completo: https://praeko.app/openapi.json. Texto completo: https://praeko.app/llms-full.txt ## Começar - [Praeko Docs](https://praeko.app/docs.md): Documentação da API do Praeko: publique em YouTube, Instagram e TikTok com uma chave e um contrato. Referência de todas as rotas, guias, webhooks e agentes de IA. - [Do zero ao primeiro vídeo publicado](https://praeko.app/docs/get-started.md): 7 passos para a API do Praeko: conta, chave de API, primeira requisição, seu primeiro vídeo (SDK, CLI ou agente), mídia, agendamento e webhook, com exemplos em 10 linguagens. - [Começar com o seu agente](https://praeko.app/docs/get-started-with-agent.md): Do zero ao primeiro vídeo publicado com um agente de IA: o prompt para colar, o que só você faz (contas, chaves, canal, licença), o primeiro Short de teste, a publicação em duas etapas e como aprender com as métricas. - [Autenticação, erros e limites](https://praeko.app/docs/auth.md): Como se identificar na API do Praeko (chave Bearer), o que cada escopo permite, o formato dos erros, os limites e o versionamento. ## Guias - [Guias](https://praeko.app/docs/guides.md): Guias da API do Praeko: publicar um vídeo ponta a ponta, enviar mídia, webhooks, métricas e retenção, erros e limites, repetição de requisições. - [Publicar um vídeo ponta a ponta](https://praeko.app/docs/guides/publish-a-video.md): Passo a passo para publicar um vídeo pela API do Praeko: subir a mídia, criar o post com um item por rede, escolher fila ou horário e conferir o resultado. - [Enviar mídia: arquivo inteiro e partes](https://praeko.app/docs/guides/media.md): Como enviar vídeo, capa e foto pela API do Praeko: o envio de uma vez (até 50 MiB), o envio em partes de 5 a 95 MiB, tipos aceitos, limites e erros, e como publicar uma foto única no Instagram. - [Webhooks: eventos, assinatura e novas tentativas](https://praeko.app/docs/guides/webhooks.md): Webhooks do Praeko: cadastrar a URL, os eventos post.sent, post.failed e post.scheduled-fail, conferir a assinatura HMAC-SHA256 e entender as novas tentativas. - [Métricas, retenção e CTR](https://praeko.app/docs/guides/insights.md): Ler métricas, retenção, impressões e CTR dos posts pela API do Praeko: GET /v1/insights, /v1/insights/retention e a curva de retenção de um post. - [Erros e limites](https://praeko.app/docs/guides/errors-and-limits.md): Envelope de erro da API do Praeko, os 116 códigos do contrato com status e significado, e os limites de requisição, corpo, mídia e webhooks. - [Repetir uma requisição sem duplicar](https://praeko.app/docs/guides/idempotency.md): O cabeçalho Idempotency-Key da API do Praeko: repetir um POST, PATCH ou DELETE depois de uma falha de rede sem criar dois posts, duas mídias ou dois webhooks. Regras, erros, curl, SDK e CLI. ## Agentes de IA e ferramentas - [Servidor MCP do Praeko](https://praeko.app/docs/mcp.md): O servidor MCP remoto do Praeko em praeko.app/mcp: 18 ferramentas, chave de API no cabeçalho Bearer ou login OAuth, e confirmação em dois passos antes de publicar ou alterar posts. - [SDK e CLI](https://praeko.app/docs/sdk.md): Os pacotes npm @praeko/sdk (cliente JavaScript) e @praeko/cli (comando praeko): instalar com npm, yarn, pnpm ou bun, início rápido, repetição segura com idempotencyKey e comandos. - [Praeko Studio: vídeos com o seu agente](https://praeko.app/docs/studio.md): Instale o Praeko Studio, faça o primeiro vídeo em 10 minutos com o seu agente de código (Claude Code, Codex, Gemini CLI, Cursor, opencode), veja os comandos, o projeto, as chaves, as licenças (Remotion não é MIT) e como publicar pelo Praeko. - [Studio no Claude Desktop: o servidor MCP local](https://praeko.app/docs/studio/mcp.md): Faça o vídeo do Praeko Studio com um agente sem terminal (Claude Desktop, Cursor, Codex, Gemini CLI, opencode): instalação do `@praeko/studio-mcp`, as 14 ferramentas, o upload para o Praeko e a divisão com o MCP remoto que publica. - [Changelog da API](https://praeko.app/docs/changelog.md): O que mudou na API e no painel do Praeko, do mais novo para o mais antigo, com a data de cada mudança: novidades, mudanças e itens descontinuados. - [Use o Praeko com o seu agente de IA](https://praeko.app/docs/agents.md): Conecte Claude Code, Codex, Cursor, Gemini CLI, opencode e outros agentes ao Praeko: servidor MCP com chave ou login, arquivo de regras, llms.txt e openapi.json. - [Praeko no Claude Code](https://praeko.app/docs/agents/claude-code.md): Como usar o Praeko com Claude Code: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no Claude Desktop](https://praeko.app/docs/agents/claude-desktop.md): Como usar o Praeko com Claude Desktop: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no Codex CLI](https://praeko.app/docs/agents/codex-cli.md): Como usar o Praeko com Codex CLI: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no Cursor](https://praeko.app/docs/agents/cursor.md): Como usar o Praeko com Cursor: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no Gemini CLI](https://praeko.app/docs/agents/gemini-cli.md): Como usar o Praeko com Gemini CLI: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no opencode](https://praeko.app/docs/agents/opencode.md): Como usar o Praeko com opencode: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no Kimi CLI](https://praeko.app/docs/agents/kimi-cli.md): Como usar o Praeko com Kimi CLI: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no Cline](https://praeko.app/docs/agents/cline.md): Como usar o Praeko com Cline: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no Zed](https://praeko.app/docs/agents/zed.md): Como usar o Praeko com Zed: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no GitHub Copilot](https://praeko.app/docs/agents/copilot.md): Como usar o Praeko com GitHub Copilot: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no Windsurf (Devin)](https://praeko.app/docs/agents/windsurf.md): Como usar o Praeko com Windsurf (Devin): servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no Continue](https://praeko.app/docs/agents/continue.md): Como usar o Praeko com Continue: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no Goose](https://praeko.app/docs/agents/goose.md): Como usar o Praeko com Goose: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no Amp](https://praeko.app/docs/agents/amp.md): Como usar o Praeko com Amp: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no Aider](https://praeko.app/docs/agents/aider.md): Como usar o Praeko com Aider: servidor MCP com chave ou login, arquivo de regras, prompt inicial e conferência. - [Praeko no n8n](https://praeko.app/docs/agents/n8n.md): Como usar o Praeko com n8n: chamar a API de dentro da automação. - [Praeko no Zapier](https://praeko.app/docs/agents/zapier.md): Como usar o Praeko com Zapier: chamar a API de dentro da automação. - [Praeko no Make](https://praeko.app/docs/agents/make.md): Como usar o Praeko com Make: chamar a API de dentro da automação. ## Referência da API - [Referência da API](https://praeko.app/docs/api.md): As 79 rotas da API do Praeko em 18 recursos: parâmetros, corpo, exemplos em 10 linguagens, respostas e erros de cada uma. - [Saúde](https://praeko.app/docs/api/health.md): Rotas do recurso Saúde na API do Praeko (2): Saúde do serviço, Saúde do serviço (caminho versionado). - [Saúde do serviço](https://praeko.app/docs/api/health/service-health.md): Saúde do serviço: GET /health. Confere se o serviço está no ar. Não precisa de chave. - [Saúde do serviço (caminho versionado)](https://praeko.app/docs/api/health/service-health-versioned-path.md): Saúde do serviço (caminho versionado): GET /v1/health. O mesmo que /health, no caminho versionado. Não precisa de chave. - [Conexões](https://praeko.app/docs/api/connections.md): Rotas do recurso Conexões na API do Praeko (4): Retorno do OAuth, Iniciar conexão de rede, Desconectar rede, Token do Instagram. - [Retorno do OAuth](https://praeko.app/docs/api/connections/oauth-callback.md): Retorno do OAuth: GET /connections/:network/callback. Endereço para onde YouTube, TikTok e Meta devolvem o navegador depois do login (página HTML). Os endereços já cadastrados continuam valendo. - [Iniciar conexão de rede](https://praeko.app/docs/api/connections/start-network-connection.md): Iniciar conexão de rede: GET /v1/connections/:network/start. Inicia o login OAuth de youtube, tiktok ou meta (Instagram) e devolve o endereço de autorização. Outra conta da mesma rede vira outro canal; a mesma conta é reconectada. Em meta valem replace=true (troca o token de uma conexão existente), - [Desconectar rede](https://praeko.app/docs/api/connections/disconnect-network.md): Desconectar rede: DELETE /v1/connections/:network. Desconecta uma conta de youtube, tiktok ou instagram (só o token da Meta; o canal do Buffer nunca é mexido). channel escolhe a conta; sem ele, vale o canal padrão. As outras contas, o canal e o histórico ficam. Se era o padrão, outra conta conectada - [Token do Instagram](https://praeko.app/docs/api/connections/instagram-token.md): Token do Instagram: PUT /v1/connections/instagram/token. Guarda o token da API da Meta para o Instagram (cifrado). O token é conferido na Meta antes de gravar. - [Mídia](https://praeko.app/docs/api/media.md): Rotas do recurso Mídia na API do Praeko (11): Mídia pública por token, Mídia pública por token, Criar mídia, Listar mídias, Ver mídia, Enviar parte da mídia, Enviar arquivo da mídia, Baixar arquivo da mídia, Conferir arquivo da mídia, Concluir envio da mídia, Apagar mídia. - [Mídia pública por token](https://praeko.app/docs/api/media/public-media-by-token.md): Mídia pública por token: GET /v1/m/:id/:token/:name. Mídia pública acessada por um link com token (aceita Range). Também responde em /m/…. É o endereço que Meta e TikTok baixam. - [Mídia pública por token](https://praeko.app/docs/api/media/public-media-by-token-head.md): Mídia pública por token: HEAD /v1/m/:id/:token/:name. Igual ao GET, mas só devolve os cabeçalhos. - [Criar mídia](https://praeko.app/docs/api/media/create-media.md): Criar mídia: POST /v1/media. Começa o envio de uma mídia (vídeo, capa ou imagem: a foto de um post de imagem, só JPEG). Com simple: true e até 50 MB, envie o arquivo todo de uma vez em PUT /v1/media/:id/content; senão, envie em partes e conclua com POST /v1/media/:id/complete. - [Listar mídias](https://praeko.app/docs/api/media/list-media.md): Listar mídias: GET /v1/media. Lista as mídias (as últimas 100). Vídeos antigos ganham duração, largura e altura na primeira leitura. - [Ver mídia](https://praeko.app/docs/api/media/get-media.md): Ver mídia: GET /v1/media/:id. Uma mídia (com publicUrl quando estiver pronta; vídeos trazem também durationMs, width e height quando o cabeçalho do arquivo diz; imagens trazem width e height). - [Enviar parte da mídia](https://praeko.app/docs/api/media/upload-media-part.md): Enviar parte da mídia: PUT /v1/media/:id/parts/:part. Envia uma parte do arquivo (bytes crus no corpo). Reenviar a mesma parte é seguro. Toda parte, menos a última, precisa ter o mesmo tamanho (no mínimo 5 MiB). - [Enviar arquivo da mídia](https://praeko.app/docs/api/media/upload-media-file.md): Enviar arquivo da mídia: PUT /v1/media/:id/content. Envia o arquivo inteiro de uma vez (mídia criada com simple: true, até 50 MB). O corpo são os bytes crus. - [Baixar arquivo da mídia](https://praeko.app/docs/api/media/download-media-file.md): Baixar arquivo da mídia: GET /v1/media/:id/content. Baixa o arquivo (com chave; aceita Range). - [Conferir arquivo da mídia](https://praeko.app/docs/api/media/check-media-file.md): Conferir arquivo da mídia: HEAD /v1/media/:id/content. Igual ao GET, mas só devolve os cabeçalhos. - [Concluir envio da mídia](https://praeko.app/docs/api/media/complete-media-upload.md): Concluir envio da mídia: POST /v1/media/:id/complete. Junta as partes enviadas. Confere o tamanho combinado e a sequência 1..N (e, numa mídia image, que o arquivo é um JPEG). Chamar de novo é inofensivo. - [Apagar mídia](https://praeko.app/docs/api/media/delete-media.md): Apagar mídia: DELETE /v1/media/:id. Remove uma mídia (recusa enquanto um post pendente a usa). - [Canais](https://praeko.app/docs/api/channels.md): Rotas do recurso Canais na API do Praeko (8): Listar canais, Canal padrão da rede, Remover canal, Foto do canal, Horários do canal, Salvar horários do canal, Registrar seguidores, Seguidores do canal. - [Listar canais](https://praeko.app/docs/api/channels/list-channels.md): Listar canais: GET /v1/channels. Um item por canal conectado (várias contas da mesma rede viram vários itens; default marca a usada quando não se informa channel), mais um item "não conectado" para a rede sem conta. Traz o estado e a quantidade de horários. - [Canal padrão da rede](https://praeko.app/docs/api/channels/set-default-channel.md): Canal padrão da rede: PUT /v1/channels/:channel/default. Torna esta conta a padrão da rede (usada quando uma rota de rede não traz channel); as outras contas da mesma rede perdem a marca. Dá 404 channel_not_found se não for um canal ativo deste workspace. - [Remover canal](https://praeko.app/docs/api/channels/remove-channel.md): Remover canal: DELETE /v1/channels/:channel. Tira da lista uma conta DESCONECTADA (o histórico fica). Recusa enquanto estiver conectada, com itens pendentes ou se for o canal do Instagram no Buffer. - [Foto do canal](https://praeko.app/docs/api/channels/channel-avatar.md): Foto do canal: GET /v1/channels/:network/avatar. Imagem de perfil do canal (channel escolhe a conta). - [Horários do canal](https://praeko.app/docs/api/channels/channel-time-slots.md): Horários do canal: GET /v1/channels/:network/slots. Horários semanais de publicação de um canal (channel escolhe a conta; sem ele, o padrão). - [Salvar horários do canal](https://praeko.app/docs/api/channels/save-channel-time-slots.md): Salvar horários do canal: PUT /v1/channels/:network/slots. Troca todos os horários semanais de um canal e reorganiza o que está na fila (channel escolhe a conta). - [Registrar seguidores](https://praeko.app/docs/api/channels/record-followers.md): Registrar seguidores: PUT /v1/channels/:network/followers. Informa a contagem de seguidores à mão (só Instagram; channel escolhe a conta). Vira o registro do dia. - [Seguidores do canal](https://praeko.app/docs/api/channels/channel-followers.md): Seguidores do canal: GET /v1/channels/:network/followers. Os últimos 60 registros diários de seguidores (channel escolhe a conta). - [TikTok](https://praeko.app/docs/api/tiktok.md): Rotas do recurso TikTok na API do Praeko (1): Criador no TikTok. - [Criador no TikTok](https://praeko.app/docs/api/tiktok/tiktok-creator-info.md): Criador no TikTok: GET /v1/tiktok/creator. O que a conta do TikTok conectada aceita (creator_info: privacidades, duração máxima…). channel escolhe a conta. - [Posts](https://praeko.app/docs/api/posts.md): Rotas do recurso Posts na API do Praeko (9): Criar post, Adotar post já publicado, Listar posts, Ver post, Editar post, Cancelar post, Publicar agora, Agendar no YouTube, Comentário do item. - [Criar post](https://praeko.app/docs/api/posts/create-post.md): Criar post: POST /v1/posts. Cria um post com um item por rede (fila, horário fixo ou rascunho). Cada item pode levar channel (a conta daquela rede; sem ele, vale o canal padrão). Com kind: "image" é um post de foto única, só no Instagram (pelo Buffer ou direto pela Meta). - [Adotar post já publicado](https://praeko.app/docs/api/posts/adopt-scheduled-post.md): Adotar post já publicado: POST /v1/posts/adopt. Registra no Praeko um Reel que já está agendado no Buffer (não chama o Buffer). - [Listar posts](https://praeko.app/docs/api/posts/list-posts.md): Listar posts: GET /v1/posts. Lista os posts, do mais recente para o mais antigo (na fila e nos rascunhos, do mais próximo para o mais distante). Filtros: state, channel, tag. - [Ver post](https://praeko.app/docs/api/posts/get-post.md): Ver post: GET /v1/posts/:id. Um post com seus itens e as ações seguintes. - [Editar post](https://praeko.app/docs/api/posts/update-post.md): Editar post: PATCH /v1/posts/:id. Edita título, textos, mídia, etiquetas e itens, ou move para rascunho ou fila. Só vai o que mudou; o resto fica. Um item do YouTube já enviado e ainda agendado também muda de horário e de dados (conferido ao vivo no YouTube). - [Cancelar post](https://praeko.app/docs/api/posts/cancel-post.md): Cancelar post: DELETE /v1/posts/:id. Cancela os itens pendentes de um post. - [Publicar agora](https://praeko.app/docs/api/posts/publish-now.md): Publicar agora: POST /v1/posts/:id/publish-now. Tira os itens pendentes da fila e publica agora (?network= limita a uma rede). - [Agendar no YouTube](https://praeko.app/docs/api/posts/schedule-on-youtube.md): Agendar no YouTube: POST /v1/posts/:id/youtube/schedule. Agenda a publicação de um vídeo que já subiu para o YouTube (privado). - [Comentário do item](https://praeko.app/docs/api/posts/release-item-comment.md): Comentário do item: POST /v1/posts/:id/items/:item/comment. Libera o comentário fixo guardado de um item. - [Calendário](https://praeko.app/docs/api/calendar.md): Rotas do recurso Calendário na API do Praeko (1): Calendário. - [Calendário](https://praeko.app/docs/api/calendar/calendar.md): Calendário: GET /v1/calendar. Itens de um período e os horários livres. - [Insights](https://praeko.app/docs/api/insights.md): Rotas do recurso Insights na API do Praeko (4): Métricas, Retenção, impressões e CTR, Retenção de um post, Importar métricas. - [Métricas](https://praeko.app/docs/api/insights/metrics.md): Métricas: GET /v1/insights. Cartões, melhores posts, resultado por canal (uma linha por conta quando a rede tem várias; channel filtra uma), resumo e a leitura de 48 h. - [Retenção, impressões e CTR](https://praeko.app/docs/api/insights/retention-impressions-and-ctr.md): Retenção, impressões e CTR: GET /v1/insights/retention. Retenção (% assistida e tempo médio), impressões e CTR do YouTube e taxa de pulo do Instagram, por post. Dado que a rede não entrega vem null, com o motivo em retention.message. Exige a permissão yt-analytics.readonly, que a conexão do YouTube - [Retenção de um post](https://praeko.app/docs/api/insights/post-retention.md): Retenção de um post: GET /v1/insights/:item/retention. Curva de retenção de um post (:item é o id do post) e as métricas de alcance dele. Mesmo estado e mensagem da rota de lista. - [Importar métricas](https://praeko.app/docs/api/insights/import-metrics.md): Importar métricas: POST /v1/insights/import. Importa o histórico do YouTube, do Buffer (Instagram) e do TikTok (todas as contas conectadas; channel junto com network limita a uma). - [Conteúdo](https://praeko.app/docs/api/content.md): Rotas do recurso Conteúdo na API do Praeko (1): Conteúdo publicado. - [Conteúdo publicado](https://praeko.app/docs/api/content/published-content.md): Conteúdo publicado: GET /v1/content. Tudo o que já foi publicado (pelo Praeko e importado). - [YouTube](https://praeko.app/docs/api/youtube.md): Rotas do recurso YouTube na API do Praeko (7): Vídeos do YouTube, Ver vídeo do YouTube, Editar vídeo do YouTube, Comentários do YouTube, Responder comentário do YouTube, Resolver comentário do YouTube, Reabrir comentário do YouTube. - [Vídeos do YouTube](https://praeko.app/docs/api/youtube/youtube-videos.md): Vídeos do YouTube: GET /v1/youtube/videos. Vídeos do canal (inclusive privados e agendados); channel escolhe a conta. - [Ver vídeo do YouTube](https://praeko.app/docs/api/youtube/get-youtube-video.md): Ver vídeo do YouTube: GET /v1/youtube/videos/:id. Um vídeo do canal. - [Editar vídeo do YouTube](https://praeko.app/docs/api/youtube/update-youtube-video.md): Editar vídeo do YouTube: PATCH /v1/youtube/videos/:id. Edita título, descrição e tags de um vídeo (com dryRun: true só mostra o antes e o depois, sem gravar). - [Comentários do YouTube](https://praeko.app/docs/api/youtube/youtube-comments.md): Comentários do YouTube: GET /v1/youtube/comments. Threads de comentários do canal (channel escolhe a conta). - [Responder comentário do YouTube](https://praeko.app/docs/api/youtube/reply-to-youtube-comment.md): Responder comentário do YouTube: POST /v1/youtube/comments/:id/reply. Responde a uma thread (escreve no YouTube de verdade). - [Resolver comentário do YouTube](https://praeko.app/docs/api/youtube/resolve-youtube-comment.md): Resolver comentário do YouTube: POST /v1/youtube/comments/:id/resolve. Marca uma thread como resolvida (só no Praeko). - [Reabrir comentário do YouTube](https://praeko.app/docs/api/youtube/reopen-youtube-comment.md): Reabrir comentário do YouTube: DELETE /v1/youtube/comments/:id/resolve. Reabre uma thread resolvida. - [Instagram](https://praeko.app/docs/api/instagram.md): Rotas do recurso Instagram na API do Praeko (6): Mídias do Instagram, Comentários do Instagram, Responder comentário do Instagram, Ocultar comentário do Instagram, Resolver comentário do Instagram, Reabrir comentário do Instagram. - [Mídias do Instagram](https://praeko.app/docs/api/instagram/instagram-media.md): Mídias do Instagram: GET /v1/instagram/media. A grade de posts do perfil (API da Meta). - [Comentários do Instagram](https://praeko.app/docs/api/instagram/instagram-comments.md): Comentários do Instagram: GET /v1/instagram/comments. Comentários do Instagram (API da Meta). - [Responder comentário do Instagram](https://praeko.app/docs/api/instagram/reply-to-instagram-comment.md): Responder comentário do Instagram: POST /v1/instagram/comments/:id/reply. Responde a um comentário (escreve no Instagram de verdade). - [Ocultar comentário do Instagram](https://praeko.app/docs/api/instagram/hide-instagram-comment.md): Ocultar comentário do Instagram: POST /v1/instagram/comments/:id/hide. Oculta ou reexibe um comentário. - [Resolver comentário do Instagram](https://praeko.app/docs/api/instagram/resolve-instagram-comment.md): Resolver comentário do Instagram: POST /v1/instagram/comments/:id/resolve. Marca um comentário como resolvido (só no Praeko). - [Reabrir comentário do Instagram](https://praeko.app/docs/api/instagram/reopen-instagram-comment.md): Reabrir comentário do Instagram: DELETE /v1/instagram/comments/:id/resolve. Reabre um comentário resolvido. - [Comentários](https://praeko.app/docs/api/comments.md): Rotas do recurso Comentários na API do Praeko (2): Comentários de todas as redes, Menções. - [Comentários de todas as redes](https://praeko.app/docs/api/comments/comments-from-all-networks.md): Comentários de todas as redes: GET /v1/comments. Comentários de todas as redes juntos, de TODAS as contas ativas de cada rede (cada comentário traz channel; channel filtra uma conta; uma conta que falha vai para errors e as outras respondem). - [Menções](https://praeko.app/docs/api/comments/mentions.md): Menções: GET /v1/mentions. Menções (Instagram por marcação; o YouTube não tem). - [Chaves de API](https://praeko.app/docs/api/api-keys.md): Rotas do recurso Chaves de API na API do Praeko (3): Listar chaves de API, Criar chave de API, Revogar chave de API. - [Listar chaves de API](https://praeko.app/docs/api/api-keys/list-api-keys.md): Listar chaves de API: GET /v1/api-keys. Lista as chaves de API (nunca o segredo). - [Criar chave de API](https://praeko.app/docs/api/api-keys/create-api-key.md): Criar chave de API: POST /v1/api-keys. Cria uma chave. O segredo aparece UMA vez, na resposta. - [Revogar chave de API](https://praeko.app/docs/api/api-keys/revoke-api-key.md): Revogar chave de API: DELETE /v1/api-keys/:id. Revoga uma chave (não dá para revogar a que está fazendo a chamada). - [Uso e log](https://praeko.app/docs/api/usage-and-log.md): Rotas do recurso Uso e log na API do Praeko (2): Resumo de uso, Log de requisições. - [Resumo de uso](https://praeko.app/docs/api/usage-and-log/usage-summary.md): Resumo de uso: GET /v1/usage. Uso da API deste workspace nos últimos days (1 a 30, padrão 7, em UTC): total, com sucesso (< 400), erros, duração p95, pico de requisições em um minuto contra o limite por minuto, byDay, byHour (só com days=1: as últimas 24 horas) e byKey (session = o painel). - [Log de requisições](https://praeko.app/docs/api/usage-and-log/request-log.md): Log de requisições: GET /v1/usage/log. Log das requisições, da mais nova para a mais antiga, guardado por 30 dias; só metadados (método, rota sem ids, status, duração, chave), nunca corpos, cabeçalhos nem query. Filtros: key (id ou session), status (2xx, 3xx, 4xx, 5xx ou um código), route (trecho), - [Preferências](https://praeko.app/docs/api/preferences.md): Rotas do recurso Preferências na API do Praeko (2): Ver preferências, Salvar preferências. - [Ver preferências](https://praeko.app/docs/api/preferences/get-preferences.md): Ver preferências: GET /v1/preferences. Preferências do painel de quem está logado neste workspace (uma chave de API lê a linha do workspace): theme, language e notifications por evento, com os sinais email e panel. O que falta volta com o padrão (tema escuro, pt-BR, sem e-mail, painel ligado). - [Salvar preferências](https://praeko.app/docs/api/preferences/save-preferences.md): Salvar preferências: PUT /v1/preferences. Muda as preferências. Parcial (só muda o que for enviado) e estrito (campo ou valor desconhecido dá 422 invalid_field). Devolve as preferências completas. Os e-mails de Com email true o servidor manda por e-mail postSent, postFailed, scheduledFail, o weeklyS - [Avisos](https://praeko.app/docs/api/notifications.md): Rotas do recurso Avisos na API do Praeko (2): Listar avisos do painel, Marcar avisos como lidos. - [Listar avisos do painel](https://praeko.app/docs/api/notifications/list-notifications.md): Listar avisos do painel: GET /v1/notifications. A central de avisos (o sino) de quem está logado neste workspace, do mais novo para o mais antigo: notifications (id, event = postSent, postFailed, scheduledFail, weeklySummary ou newComment, data com os fatos do evento, link para onde ele leva, read, - [Marcar avisos como lidos](https://praeko.app/docs/api/notifications/mark-notifications-as-read.md): Marcar avisos como lidos: POST /v1/notifications/read. Marca avisos como lidos: ids (até 100) ou all: true. Ids que não são seus, ou que não existem, são ignorados, e marcar de novo não faz mal. Devolve marked (quantos mudaram) e o novo unreadCount. - [Webhooks](https://praeko.app/docs/api/webhooks.md): Rotas do recurso Webhooks na API do Praeko (9): Listar webhooks, Criar webhook, Ver webhook, Editar webhook, Apagar webhook, Testar webhook, Entregas do webhook, Reenviar entrega, Trocar segredo do webhook. - [Listar webhooks](https://praeko.app/docs/api/webhooks/list-webhooks.md): Listar webhooks: GET /v1/webhooks. Webhooks de saída deste workspace (nunca o segredo: só secretHint), com o sucesso das entregas dos últimos 7 dias (recentDeliveries) e os events que dá para assinar. - [Criar webhook](https://praeko.app/docs/api/webhooks/create-webhook.md): Criar webhook: POST /v1/webhooks. Cria um webhook. A url precisa ser https e de um host público (IP privado, localhost e endereços de metadados de nuvem são recusados com unsafe_url). O secret de assinatura volta UMA vez. No máximo 10 por workspace. - [Ver webhook](https://praeko.app/docs/api/webhooks/get-webhook.md): Ver webhook: GET /v1/webhooks/:id. Um webhook (sem o segredo). - [Editar webhook](https://praeko.app/docs/api/webhooks/update-webhook.md): Editar webhook: PATCH /v1/webhooks/:id. Muda url, events ou active; só vai o que mudou. Pausar descarta as entregas pendentes; reativar zera a contagem de falhas. - [Apagar webhook](https://praeko.app/docs/api/webhooks/delete-webhook.md): Apagar webhook: DELETE /v1/webhooks/:id. Apaga um webhook e o histórico das entregas dele. - [Testar webhook](https://praeko.app/docs/api/webhooks/test-webhook.md): Testar webhook: POST /v1/webhooks/:id/test. Envia agora um evento ping.test (mesmo com o webhook pausado) e devolve o resultado em delivery. Não conta para a desativação automática. - [Entregas do webhook](https://praeko.app/docs/api/webhooks/webhook-deliveries.md): Entregas do webhook: GET /v1/webhooks/:id/deliveries. Entregas recentes, da mais nova para a mais antiga (limit de 1 a 100, padrão 20; guardadas por 30 dias): evento, estado (pending, delivered, failed, discarded), tentativas, último status HTTP e erro, duração. - [Reenviar entrega](https://praeko.app/docs/api/webhooks/retry-delivery.md): Reenviar entrega: POST /v1/webhooks/:id/deliveries/:delivery/retry. Reenvia uma entrega agora, com o mesmo id Praeko-Delivery (quem recebe consegue deduplicar). - [Trocar segredo do webhook](https://praeko.app/docs/api/webhooks/rotate-webhook-secret.md): Trocar segredo do webhook: POST /v1/webhooks/:id/rotate-secret. Troca o segredo de assinatura: o novo secret volta UMA vez e o antigo para de assinar na hora. - [Ideias](https://praeko.app/docs/api/ideas.md): Rotas do recurso Ideias na API do Praeko (5): Listar ideias, Criar ideia, Importar ideias, Editar ideia, Apagar ideia. - [Listar ideias](https://praeko.app/docs/api/ideas/list-ideas.md): Listar ideias: GET /v1/ideas. O quadro de ideias deste workspace (a tela Criar), da mais nova para a mais antiga: title, note, group (idea, scripting, ready, posted), tags (a primeira é a série), createdAt e updatedAt. - [Criar ideia](https://praeko.app/docs/api/ideas/create-idea.md): Criar ideia: POST /v1/ideas. Adiciona uma ideia. No máximo 2000 por workspace. - [Importar ideias](https://praeko.app/docs/api/ideas/import-ideas.md): Importar ideias: POST /v1/ideas/import. Adiciona várias ideias de uma vez (até 500 por chamada), como o painel faz com as ideias que guardava no navegador. Um item cujo id já foi importado é pulado (skippedCount), então repetir a chamada nunca duplica. Itens sem title válido são pulados. - [Editar ideia](https://praeko.app/docs/api/ideas/update-idea.md): Editar ideia: PATCH /v1/ideas/:id. Muda title, note, group (mover o cartão) ou tags; o que não for enviado fica. - [Apagar ideia](https://praeko.app/docs/api/ideas/delete-idea.md): Apagar ideia: DELETE /v1/ideas/:id. Apaga uma ideia. ## Opcional - [openapi.json](https://praeko.app/openapi.json): OpenAPI 3.1 gerado do contrato