🎁 Novo Cadastre-se grátis, 10 chamadas por nossa conta. Até US$ 1, sem cartão.

Chaves de provisioning

Uma chave de provisioning permite que seu backend crie e gerencie chaves de API de inferência de forma programática — sem que ninguém faça login no Console. Ideal para produtos SaaS que emitem uma chave por cliente final, por dispositivo ou por job de CI.

Uma chave de provisioning pode criar, modificar e excluir qualquer chave de inferência em seu workspace. Trate-a como uma credencial de admin: armazene-a apenas no servidor e nunca a envie a navegadores ou clientes móveis.

Como funciona

  1. Um owner ou admin cria uma chave de provisioning em Console → Chaves de provisioning. Ela tem o prefixo sk-syn-prov-.
  2. Seu backend chama os /api/provisioning/* endpoints com essa chave para criar chaves de inferência (prefixo sk-syn-).
  3. Cada chave de inferência é limitada ao mesmo workspace e pode levar um limite de gasto em USD e metadata opacos.
  4. Entregue as chaves de inferência aos seus clientes. Revogue qualquer uma delas individualmente a qualquer momento — excluir uma chave de provisioning não afeta as chaves de inferência que ela já criou.

As próprias chaves de provisioning são criadas apenas no Console — não há API para gerar uma chave de provisioning. Abra Console → Chaves de provisioning (apenas owner / admin).

Autenticação

Passe a chave de provisioning como Bearer token. Funciona apenas em /api/provisioning/* — uma chave de provisioning não pode fazer chamadas de inferência, e uma chave de inferência normal não pode chamar esses endpoints de gestão (ambas retornam 401 wrong_key_kind).

Authorization: Bearer sk-syn-prov-...

Criar uma chave de inferência

POST /api/provisioning/keys

ParâmetroTipoDescrição
namestringRótulo legível para a chave (ex. "Device abc-123").
quotanumberLimite de gasto em USD. Omita ou defina 0 para ilimitado.
allowed_modelsstringLista de permissões de modelos separados por vírgula (ex. "claude-haiku-4-5"). Vazio = todos os modelos que o workspace pode acessar.
ip_whiteliststringLista de permissões de IP / CIDR separados por vírgula para solicitações feitas com esta chave. Vazio = sem restrição.
expires_atstringCarimbo de data/hora de expiração RFC3339 opcional. Omita para sem expiração.
include_byok_in_limitbooleanSe true, as chamadas BYOK contam para a cota desta chave ao preço de tabela upstream. Padrão false.
metadataobjectTags JSON opacos definidos por você (ex. {"tenant_id":"acme"}). Armazenados literalmente, máx. 8 KB. Usados apenas para listagem / filtragem — nunca afetam a autenticação.
curl https://synthorai.io/api/provisioning/keys \
  -H "Authorization: Bearer sk-syn-prov-..." \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Device abc-123",
    "quota": 5.0,
    "allowed_models": "claude-haiku-4-5",
    "metadata": { "tenant_id": "acme", "device_id": "abc-123" }
  }'

A resposta retorna a chave completa no key campo exatamente uma vez. Armazene-a imediatamente — não pode ser recuperada posteriormente.

{
  "id": 42,
  "key": "sk-syn-d4f0...e91b",
  "key_prefix": "sk-syn-d4f0...",
  "name": "Device abc-123",
  "kind": "inference",
  "created_via": "provisioning_api",
  "parent_provisioning_id": 7,
  "workspace_id": 11,
  "quota_usd": 5.0,
  "unlimited_quota": false,
  "allowed_models": "claude-haiku-4-5",
  "metadata": { "tenant_id": "acme", "device_id": "abc-123" },
  "created_at": "2026-06-01T12:00:00Z"
}

Listar chaves de inferência

GET /api/provisioning/keys

Lista todas as chaves de inferência do workspace. Filtre por qualquer campo de metadados com ?metadata.<key>=<value>; vários filtros são combinados com AND.

# all keys
curl https://synthorai.io/api/provisioning/keys \
  -H "Authorization: Bearer sk-syn-prov-..."

# only keys tagged tenant_id=acme
curl "https://synthorai.io/api/provisioning/keys?metadata.tenant_id=acme" \
  -H "Authorization: Bearer sk-syn-prov-..."

Recuperar, atualizar e excluir

Enderece uma única chave de inferência pelo seu id:

  • GET /api/provisioning/keys/{id} — obter uma chave.
  • PATCH /api/provisioning/keys/{id} — atualizar name, quota, status, allowed_models, ip_whitelist, expires_at, include_byok_in_limit, ou metadata. Os campos kind e de linhagem não podem ser alterados.
  • DELETE /api/provisioning/keys/{id} — revogar uma chave. Efeito imediato.
# disable a key (status 2 = disabled)
curl -X PATCH https://synthorai.io/api/provisioning/keys/42 \
  -H "Authorization: Bearer sk-syn-prov-..." \
  -H "Content-Type: application/json" \
  -d '{ "status": 2 }'

# delete a key
curl -X DELETE https://synthorai.io/api/provisioning/keys/42 \
  -H "Authorization: Bearer sk-syn-prov-..."

Cotas e controle de gastos

quota é um limite em USD por chave de inferência. O uso é medido após cada solicitação, então uma chave pode exceder ligeiramente seu limite dentro de uma curta janela de liquidação sob alta concorrência — dimensione os limites com uma pequena margem para modelos de alto valor. Leia o gasto atual de uma chave em used_usd nas respostas de listagem / recuperação.

Marque as chaves na criação com metadata (tenant, dispositivo, ambiente) para poder listá-las, auditá-las e revogá-las em massa depois por filtro. As chaves criadas dessa forma também aparecem em Console → Chaves de API com um badge Programático e seus tags.

Está dimensionando limites em USD por chave? A LLM API cost calculator converte o volume de tokens esperado de um cliente em um gasto mensal que você pode definir como quota.