Referência da APIPOST

Criar site

Adiciona um site ou produto para monitorar no Reddit, Hacker News, X, Bluesky e Facebook.

POSThttps://ai.redreplier.com/ai-app/api/v1/websites

Adiciona um site ou produto para monitorar no Reddit, Hacker News, X, Bluesky e Facebook.

Token Bearer (token de API do RedReplier)

Parâmetros

Este endpoint não aceita parâmetros de caminho nem de consulta.

Corpo da requisição

  • url (string, URL, obrigatório): URL do site.
  • name (string, opcional): Nome de exibição.
  • keywords (string[], opcional): Valores iniciais de palavras-chave; cada valor pode ter até 255 caracteres.
  • description (string, opcional, máximo 5000): Descrição manual do site. Quando omitida, o RedReplier rastreia a URL e escreve uma, consumindo uma geração de IA da cota do plano. Se o rastreio falhar ou a cota estiver esgotada, o site é criado mesmo assim com description: null; defina uma com PATCH /websites/{id} ou POST /websites/analyze-description. Envie description: "" para pular o rastreio e a análise por IA: nenhuma geração é consumida e o site começa sem descrição.

Resposta

Retorna um objeto Website público.

Objeto Website

  • id (string): UUID do site.
  • accountGroupId (string): Grupo de conta resolvido a partir do token.
  • domain (string): Domínio normalizado do site.
  • url (string): URL do site.
  • name (string | null): Nome de exibição.
  • description (string | null): Contexto usado para pontuação de relevância.
  • createdAt, updatedAt (ISO string | null): Carimbos de criação e atualização em formato ISO 8601, ou null.
  • keywords (Keyword[]): Objetos Keyword deste site.

Objeto Keyword

  • id (string): UUID da palavra-chave.
  • websiteId (string): UUID do site principal.
  • value (string): Texto da palavra-chave, até 255 caracteres.
  • status (string): PENDING, ACTIVE, DISABLED ou SUSPENDED.
  • createdAt, updatedAt (ISO string | null): Carimbos de criação e atualização em formato ISO 8601, ou null.

Notas

As palavras-chave iniciais são salvas como PENDING. As que cabem no plano passam a ACTIVE na próxima chamada a GET /websites ou POST /websites/{websiteId}/keywords; as demais ficam PENDING até o upgrade do plano no app do RedReplier. Um domínio já monitorado neste workspace retorna 400, assim como um plano sem vaga de site livre. Adicionar de novo um domínio excluído restaura esse site.

Erros

  • 400 Bad Request: Entrada, URL, UUID, enum, parâmetro de consulta ou corpo inválido.
  • 401 Unauthorized: Bearer token ausente ou inválido, ou code: "token_issuer_lost_access" quando a pessoa que criou a chave API foi desativada ou saiu do workspace.
  • 403 Forbidden: code: "subscription_required" quando o plano do workspace não inclui acesso à API, code: "workspace_access_denied" quando X-Workspace-Id indica um workspace que esta credencial não pode alcançar, ou code: "permission_denied" quando seu papel no workspace não tem a permissão redreplier.write (Admin e Editor têm).
  • 404 Not Found: O recurso não existe para a conta do token.
  • 429 Too Many Requests: Limite de requisições excedido. Aguarde os segundos indicados em Retry-After.
  • 500 Internal Server Error: Erro inesperado do servidor.
Exemplo de solicitação (curl)
curl --request POST \
  --url https://ai.redreplier.com/ai-app/api/v1/websites \
  --header 'Authorization: Bearer redreplier_test_1234567890' \
  --header 'Content-Type: application/json' \
  --data '{"url": "https://acmecrm.io","name": "Acme CRM","keywords":["agency CRM"]}'
201
{
  "id": "9b0f2b8d-4a76-4f59-9f0b-6b4b6f6c2a10",
  "accountGroupId": "acct_7dK9pQ2",
  "domain": "acmecrm.io",
  "url": "https://acmecrm.io",
  "name": "Acme CRM",
  "description": "CRM for small agencies that need pipeline tracking and client follow-up reminders.",
  "createdAt": "2026-05-22T10:15:30.000Z",
  "updatedAt": "2026-05-29T14:02:11.000Z",
  "keywords": [
    {
      "id": "73a3c9b6-3e5f-4a53-a2c6-70c5ef7f2f6d",
      "websiteId": "9b0f2b8d-4a76-4f59-9f0b-6b4b6f6c2a10",
      "value": "agency CRM",
      "status": "ACTIVE",
      "createdAt": "2026-05-22T10:16:00.000Z",
      "updatedAt": "2026-05-29T14:02:11.000Z"
    }
  ]
}