Pular para o conteúdo
Entrar Lista de espera

Criar chave de API

POST /v1/api-keys escopo admin

Cria uma chave. O segredo aparece UMA vez, na resposta.

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

Alias antigo em português (continua respondendo, marcado como obsoleto): /v1/chaves.

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
name obrigatório texto Nome para você reconhecer a chave. 1 a 60 caracteres.
scope (opcional) texto Escopo da chave (cada nível inclui o anterior). Valores: read, write, admin; padrão: write.
expiresInDays (opcional) inteiro Validade em dias. Sem ele a chave não expira. De 1 a 365.
Exemplo de corpo
{
  "name": "automação do roteiro",
  "scope": "write",
  "expiresInDays": 90
}

Exemplo

curl -X POST "https://praeko.app/v1/api-keys" \
  -H "Authorization: Bearer $PRAEKO_KEY" \
  -H "X-Praeko-Contract: en" \
  -H "Content-Type: application/json" \
  -d '{
  "name": "automação do roteiro",
  "scope": "write",
  "expiresInDays": 90
}'

Resposta

Status de sucesso Quando
200 Sucesso.
Resposta 200
{
  "id": "01KA3Y1B9E5MK7PR3XD0V4SN2G",
  "name": "automação do roteiro",
  "scope": "write",
  "prefix": "praeko_8vN2xQe",
  "expiresAt": "2027-02-05T14:02:11.482Z",
  "key": "praeko_8vN2xQe4L1mTz7Hc0Yb5Wd3KfRj6PaUo9GtSi2XnVEwqLs",
  "warning": "guarde esta chave agora: ela não aparece de novo"
}

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 name ausente, scope desconhecido ou expiresInDays fora de 1 a 365.
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.