Gerenciamento
API de gerenciamento
Gerencie saldo da organização, API Keys e uso e faturamento por chave usando um token de gerenciamento.
Visão geral
A API de gerenciamento permite consultar os totais de saldo da organização, gerenciar as API Keys da organização e consultar uso e faturamento por chave sem usar uma API Key padrão de inferência.
Crie e rotacione o token de gerenciamento em Dashboard → API → Management Tokens.
Authorization: Bearer mt-your-management-tokenTokens de gerenciamento são diferentes de API Keys de inferência. Use mt-... para /v1/management/* e sk-... para endpoints de inferência como /v1/responses.
Endpoints disponíveis
| Endpoint | Método | Descrição |
|---|---|---|
/v1/management/balance | GET | Retorna os totais atuais de saldo da organização |
/v1/management/api-keys | GET | Lista as API Keys de usuário da organização atual |
/v1/management/api-keys | POST | Cria uma nova API Key de usuário |
/v1/management/api-keys/{keyId} | PATCH | Atualiza nome, limite de uso, modelos permitidos, expiração ou status |
/v1/management/api-keys/{keyId}/usage | GET | Retorna o detalhamento paginado de uso para uma chave específica |
/v1/management/api-keys/{keyId}/billing | GET | Retorna o detalhamento agregado de faturamento para uma chave específica |
Contrato de filtros de uso
GET /v1/management/api-keys/{keyId}/usage aceita os seguintes parâmetros de query.
| Parâmetro | Tipo | Padrões / limites | Descrição |
|---|---|---|---|
page | integer | padrão 1, mínimo 1 | Número da página começando em 1 |
limit | integer | padrão 50, mínimo 1, máximo 100 | Tamanho da página |
model | string | comprimento máximo 100 | Nome do modelo solicitado |
modelVendor | string | comprimento máximo 100 | Fornecedor público do modelo |
scene | enum | - | chat, image, audio, video, embedding, rerank, translation, music, 3d, realtime |
startDate | string | - | Limite inferior inclusivo; aceita RFC3339 com fuso horário ou YYYY-MM-DD |
endDate | string | - | Limite superior inclusivo; aceita RFC3339 com fuso horário ou YYYY-MM-DD |
Se startDate e endDate forem enviados juntos, startDate deve ser anterior ou igual a endDate.
Contrato do corpo da API Key
POST /v1/management/api-keys
| Campo | Tipo | Padrões / limites | Descrição |
|---|---|---|---|
name | string | opcional, padrão Default Key, tamanho 1-50 | Nome de exibição; o servidor remove espaços no início e no fim |
limitAmount | number | string | null | 0–100000 USD | null significa sem limite; 0 impede gastos. Strings decimais aceitam até 6 casas decimais. Na criação da chave, omitir este campo significa sem limite. |
limitCurrency | enum | padrão USD | Apenas USD. Enviar CNY retorna 400 currency_retired. |
models | string[] | padrão [] | Allowlist opcional de modelos lógicos |
deliveryPolicy | string | null | auto, verified, official, null | null herda a política de entrega do espaço de trabalho. |
expiresAt | string | null | datetime RFC3339 | null significa sem expiração |
PATCH /v1/management/api-keys/{keyId}
| Campo | Tipo | Padrões / limites | Descrição |
|---|---|---|---|
status | enum | - | active, inactive, revoked |
name | string | tamanho 1-50 | Nome de exibição atualizado |
limitAmount | number | string | null | 0–100000 USD | null significa sem limite; 0 impede gastos. Strings decimais aceitam até 6 casas decimais. |
limitCurrency | enum | padrão USD | Apenas USD. Enviar CNY retorna 400 currency_retired. Se informado, limitAmount também é obrigatório. |
models | string[] | - | Allowlist atualizada de modelos lógicos |
deliveryPolicy | string | null | auto, verified, official, null | null herda a política de entrega do espaço de trabalho. |
expiresAt | string | null | datetime RFC3339 | null remove a expiração |
A requisição PATCH deve incluir pelo menos um campo.
Campos monetários
- Os campos monetários de requisição e resposta da API de gerenciamento aceitam apenas USD.
limitCurrencyusaUSDpor padrão; enviarCNYretorna400 currency_retired.
Semântica de reporting
modelse refere ao modelo público solicitado por quem faz a chamada.modelVendorse refere ao fornecedor público do modelo, e não à rota física oculta.sceneé a cena pública da solicitação derivada do endpoint ou do tipo de tarefa.
As respostas expõem apenas campos públicos de faturamento e reporting. Os detalhes internos de roteamento e a metadata física do provedor permanecem ocultos.
- Itens de
/usagepodem incluirbilling_transaction_idassim que a requisição subjacente atingir o estado de liquidação concluída. Userequest_id+billing_transaction_idpara reconciliação por requisição.
Nota sobre a paginação de faturamento
/usage é paginado. /billing atualmente é um endpoint agregado e não retorna metadata de paginação no estilo page / limit. Se você precisar de registros detalhados linha a linha, use /usage.
Exemplo rápido
Comece consultando o saldo da organização com o token de gerenciamento atual.
Requisição
curl -X GET "https://api.tokenlab.sh/v1/management/balance" \
-H "Authorization: Bearer mt-your-management-token"Em seguida, liste as API Keys disponíveis para esse mesmo token de gerenciamento.
Requisição
curl "https://api.tokenlab.sh/v1/management/api-keys" \
-H "Authorization: Bearer mt-your-management-token"Resposta
{
"object": "list",
"data": [
{
"id": "key_abc123def456",
"name": "Backend Worker",
"key_prefix": "sk-abc123...",
"status": "active",
"limit_amount": 500.0,
"limit_amount_decimal": "500",
"used_amount": 148.25,
"used_amount_decimal": "148.25",
"models": [
"gpt-4o-mini",
"claude-3-7-sonnet"
],
"expires_at": "2026-04-30T00:00:00.000Z",
"last_used_at": "2026-03-27T08:12:45.000Z",
"created_at": "2026-03-01T10:00:00.000Z",
"delivery_policy": null
}
],
"pagination": {
"page": 1,
"limit": 50,
"total": 1,
"totalPages": 1
}
}