Da criação à primeira chamada
Crie
Entre na conta, escolha um nome e conceda somente os escopos necessários.
Copie uma vez
A chave completa aparece só na criação. Salve-a imediatamente em um cofre.
Envie como Bearer
Use o header Authorization em HTTPS; nunca coloque a chave na URL.
export STRUCTURALTECH_API_KEY="cole-a-chave-no-seu-cofre"
curl --request POST \
--url "https://structuraltech.com.br/v1/geometry/rectangular-section" \
--header "Authorization: Bearer $STRUCTURALTECH_API_KEY" \
--header "Content-Type: application/json" \
--header "Idempotency-Key: $(uuidgen)" \
--data '{"b":14,"h":40}'Um único header, sem alias
Envie Authorization: Bearer <chave>. O header x-api-key não é aceito. Chaves de teste começam com stk_test_; chaves de produção, com stk_live_. Uma chave usada no ambiente errado falha com 401.
Criação, listagem e revogação exigem a sessão do navegador. Uma API key nunca pode criar outra chave, alterar billing, aceitar termos ou excluir a conta.
const response = await fetch(
'https://structuraltech.com.br/v1/geometry/rectangular-section',
{
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.STRUCTURALTECH_API_KEY}`,
'Content-Type': 'application/json',
// Uma chave por pedido. Para calcular com outros parâmetros, gere outra.
'Idempotency-Key': crypto.randomUUID(),
},
body: JSON.stringify({ b: 14, h: 40 }),
},
);
if (!response.ok) throw new Error(`API respondeu ${response.status}`);
const result = await response.json();Conceda somente o necessário
| Escopo | Permissão |
|---|---|
compute:read | Consultar catálogos e referências sem consumo de crédito. |
compute:write | Executar cálculos estruturais; rotas faturáveis consomem créditos. |
projects:read | Listar e consultar somente os projetos da conta proprietária. |
projects:write | Criar, alterar e remover somente os projetos da conta proprietária. |
Expiração, revogação e rotação sem downtime
Rotação
- 1. Crie uma chave nova com os mesmos escopos.
- 2. Atualize o cofre e a integração.
- 3. Valide chamadas com a chave nova.
- 4. Revogue a antiga.
Expiração e revogação
A expiração é opcional; sem data, a chave dura até a revogação. Revogar é imediato e irreversível. A conta aceita até cinco chaves ativas para permitir uma janela segura de rotação.
Trate status HTTP e faça backoff
400Payload inválido, expiração no passado ou falha de regra da operação.
401Chave ausente, inválida, expirada, revogada, de outro ambiente ou conta em exclusão.
403Escopo ou créditos insuficientes, senha inicial pendente ou nova versão dos termos ainda não aceita.
404Recurso não encontrado ou chave ativa própria não encontrada para revogação.
409A conta já possui o limite de cinco chaves ativas.
429Limite de requisições atingido; respeite o header Retry-After e repita com backoff exponencial e jitter.
503O serviço de rate limit está indisponível. Não é limite atingido nem saldo insuficiente: a chamada foi recusada antes de qualquer débito, então nenhum crédito foi consumido. Repita depois do Retry-After.
Cada chave tem dois baldes independentes. Rotas de cálculo — beam2d, frame2d, frame3d, grelhas, pilares, materiais e memorial — permitem 45 requisições por minuto e 10 a cada 10 segundos. As demais rotas, como projetos e consultas normativas, permitem 120 por minuto e 20 a cada 10 segundos. Estourar um balde não bloqueia o outro.
O contador acompanha a chave, não o IP nem a conexão: disparar chamadas em paralelo não multiplica a cota, apenas concentra os hits na mesma janela. Acompanhe os headers X-RateLimit-Remaining de cada resposta e faça backoff a partir do Retry-After. O limite ainda não deve ser tratado como SLA contratual durante o pré-lançamento.
Práticas obrigatórias no cliente
- Armazene a chave em um secret manager ou variável protegida.
- Nunca versione, registre em logs ou envie a chave em query string.
- Use HTTPS e defina timeouts nas chamadas.
- Gere uma Idempotency-Key por pedido; mantenha-a só entre tentativas do mesmo pedido.
- Revogue imediatamente uma chave suspeita de exposição.
- Monitore último uso e remova credenciais abandonadas.
Se o proprietário precisar definir a senha inicial ou aceitar uma nova versão dos termos, as chaves ficam bloqueadas com 403 até a ação humana ser concluída no navegador.