Pular para o conteúdo
Entrar Lista de espera

Importar ideias

POST /v1/ideas/import escopo write

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.

CabeçalhosAuthorization: Bearer praeko_… e X-Praeko-Contract: en. Sempre envie os dois.

Parâmetros

Nome Onde Descrição
Idempotency-Key cabeçalho Chave de idempotência (1 a 255 caracteres visíveis, por exemplo um UUID). Repetir o MESMO pedido com a mesma chave, em até 24 h, devolve a resposta guardada (com Idempotent-Replayed: true) sem executar de novo; outro pedido com a mesma chave dá 422 idempotency_key_reuse; um pedido ainda em andamento dá 409 idempotency_in_progress. Erros 5xx não são guardados. A chave vale por workspace e por rota. Veja Repetir uma requisição.

Corpo da requisição

JSON. Campos obrigatórios precisam ir; os outros podem ser omitidos.

Campo Tipo Descrição
ideas obrigatório objeto[] Ideias a importar (até 500 por chamada). Até 500 itens.
ideas[].id (opcional) texto Id de origem (até 64 caracteres). Um id já importado é pulado, o que torna a chamada repetível.
ideas[].title obrigatório texto Título (1 a 200 caracteres; mais longo é cortado). Sem título válido o item é pulado.
ideas[].note (opcional) texto Anotações (até 5000 caracteres; mais longo é cortado).
ideas[].group (opcional) texto Coluna do quadro; valor desconhecido vira idea. Valores: idea, scripting, ready, posted; padrão: idea.
ideas[].tags (opcional) string[] Etiquetas (até 20, 40 caracteres cada; o excesso é cortado).
ideas[].createdAt (opcional) texto Data de criação original (ISO 8601). Só vale se for válida e não for futura; senão, agora.
Exemplo de corpo
{
  "ideas": [
    {
      "id": "local-1",
      "title": "Como o painel guarda as ideias",
      "group": "idea",
      "tags": [
        "painel"
      ],
      "createdAt": "2026-10-28T14:00:00Z"
    },
    {
      "id": "local-2",
      "title": "Roteiro: 364 mil requisições para 42 heróis",
      "note": "Mostrar o gráfico do log.",
      "group": "ready",
      "tags": [
        "bastidores"
      ]
    }
  ]
}

Exemplo

curl -X POST "https://praeko.app/v1/ideas/import" \
  -H "Authorization: Bearer $PRAEKO_KEY" \
  -H "X-Praeko-Contract: en" \
  -H "Content-Type: application/json" \
  -d '{
  "ideas": [
    {
      "id": "local-1",
      "title": "Como o painel guarda as ideias",
      "group": "idea",
      "tags": [
        "painel"
      ],
      "createdAt": "2026-10-28T14:00:00Z"
    },
    {
      "id": "local-2",
      "title": "Roteiro: 364 mil requisições para 42 heróis",
      "note": "Mostrar o gráfico do log.",
      "group": "ready",
      "tags": [
        "bastidores"
      ]
    }
  ]
}'

Resposta

Status de sucesso Quando
200 Sucesso.
Resposta 200
{
  "imported": 2,
  "skippedCount": 0
}

Erros

Status code Quando
400 empty_body O corpo veio vazio.
400 invalid_json O corpo não é um objeto JSON.
413 body_too_large O corpo passa de 1 MB.
422 invalid_field ideas não é uma lista ou passa de 500 itens.
409 idea_limit_reached Passaria de 2000 ideias neste workspace.
422 idempotency_key_reuse A Idempotency-Key já foi usada com outro pedido (método, caminho, query ou corpo diferentes).
409 idempotency_in_progress Um pedido com a mesma Idempotency-Key ainda está em andamento (repita em instantes).
409 idempotency_response_too_large A resposta original passou de 256 KB e não foi guardada; consulte o recurso por GET.

Erros de qualquer rota

Status code Quando
401 unauthorized Faltou o cabeçalho Authorization: Bearer ….
401 invalid_api_key A chave não existe.
401 revoked_api_key A chave foi revogada.
401 expired_api_key A chave expirou.
403 forbidden O escopo da chave não basta para esta rota (veja o selo de escopo).
429 rate_limited Passou do limite de requisições por minuto.

O corpo de todo erro é { "error": { "code", "message", "details"? } }. Veja todos os códigos.

Testar

Testar

O teste ao vivo usa a sua chave e a sua conta. Para quem não entrou, fica desligado.

Entre para testar
Dúvida ou erro nesta página? contato@praeko.appVer .md

Digite para buscar páginas, rotas e códigos de erro.