Gerenciamento de API Keys
Crie, liste, faça a rotação e exclua API keys da sua conta.
Autenticação
Os endpoints de gerenciamento de keys suportam autenticação por sessão do painel e autenticação por API key. Ao autenticar com uma API key, essa key precisa estar associada a uma conta de usuário do SharpAPI; keys internas ou de serviço sem user_id retornam 400 validation_error.
Segurança: As operações de gerenciamento de API keys são sensíveis. Execute-as apenas a partir de código no lado do servidor, nunca de uma aplicação no lado do cliente.
Listar API Keys
Recupere todas as API keys associadas à sua conta.
GET /api/v1/account/keysExemplo de Requisição
cURL
curl -X GET "https://api.sharpapi.io/api/v1/account/keys" \
-H "X-API-Key: YOUR_API_KEY"Resposta (200)
{
"success": true,
"data": [
{
"id": "key_abc123def456",
"id_masked": "...23def456",
"name": "Production",
"tier": "pro",
"is_active": true,
"created_at": "2025-10-15T08:30:00Z",
"updated_at": "2026-02-08T14:22:10Z"
}
],
"meta": {
"count": 1,
"max_keys": 1
}
}meta.max_keys reflete o limite de keys do seu tier: Free/Hobby/Pro = 1, Sharp = 2, Enterprise = personalizado.
Campos do Objeto Key
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador único da key. |
id_masked | string | Visualização mascarada do identificador da key (... mais os 8 últimos caracteres). |
name | string | null | Nome legível da key. |
tier | string | Tier de assinatura associado à key. |
is_active | boolean | Indica se a key está atualmente ativa. |
created_at | string | Timestamp ISO 8601 da criação da key. |
updated_at | string | Timestamp ISO 8601 da última atualização da key. |
Criar API Key
Gere uma nova API key para sua conta.
POST /api/v1/account/keysCorpo da Requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
name | string | Não | Nome descritivo para a key, no máximo 100 caracteres. Se omitido, a API atribui um nome padrão. |
Exemplo de Requisição
cURL
curl -X POST "https://api.sharpapi.io/api/v1/account/keys" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name": "Mobile App"}'Resposta (200)
{
"success": true,
"data": {
"id": "key_new345mno678",
"key": "sk_live_new345mno678...",
"name": "Mobile App",
"tier": "pro"
},
"meta": {
"warning": "This is the only time the key value will be shown. Store it securely."
}
}Importante: O valor completo da key é retornado apenas uma vez no momento da criação. Armazene-o com segurança imediatamente.
Excluir API Key
Revogue permanentemente uma API key.
DELETE /api/v1/account/keys/{keyId}Parâmetros de Caminho
| Parâmetro | Tipo | Descrição |
|---|---|---|
keyId | string | O identificador da key a ser excluída. |
Exemplo de Requisição
cURL
curl -X DELETE "https://api.sharpapi.io/api/v1/account/keys/key_xyz789ghi012" \
-H "X-API-Key: YOUR_API_KEY"Resposta (200)
{
"success": true,
"data": {
"deleted": true,
"key_id": "key_xyz789ghi012",
"message": "API key revoked successfully"
}
}Esta ação é irreversível. Qualquer aplicação que utilize a key excluída perderá imediatamente o acesso à API. Você não pode excluir a key que está sendo usada para autenticar a requisição atual.
Respostas de Erro
404 Key Não Encontrada
{
"error": {
"code": "not_found",
"message": "Key not found or not owned by you"
}
}400 Não é Possível Excluir a Key Atual
{
"error": {
"code": "validation_error",
"message": "Cannot delete the API key you are currently using"
}
}Rotacionar API Key
Gere um novo valor de key e substitua uma API key existente. Por padrão, a key antiga é revogada imediatamente. Você pode solicitar um período de carência de até 72 horas.
POST /api/v1/account/keys/{keyId}/rotateParâmetros de Caminho
| Parâmetro | Tipo | Descrição |
|---|---|---|
keyId | string | O identificador da key a ser rotacionada. |
Corpo da Requisição
| Campo | Tipo | Obrigatório | Descrição |
|---|---|---|---|
gracePeriodHours | number | Não | Mantém a key antiga válida por esta quantidade de horas, de 0 a 72. O padrão é 0. |
name | string | Não | Nome para a key substituta. Por padrão, o nome da key antiga. |
Exemplo de Requisição
cURL
curl -X POST "https://api.sharpapi.io/api/v1/account/keys/key_abc123def456/rotate" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"gracePeriodHours": 0}'Resposta (200)
{
"success": true,
"data": {
"new_key": {
"id": "key_new789abc012",
"key": "sk_live_rotated789abc012...",
"name": "Production",
"tier": "pro"
},
"old_key": {
"id": "key_abc123def456",
"revoked": true,
"expires_at": null
}
},
"meta": {
"warning": "The new key value is only shown once. Store it securely.",
"message": "Key rotated. Old key has been revoked immediately."
}
}Efeito imediato: A menos que você solicite um período de carência, o valor da key anterior é revogado no instante em que a rotação é concluída. Atualize a configuração da sua aplicação antes da próxima requisição à API. O novo valor da key é exibido apenas uma vez.
Cabeçalhos de Resposta
Os endpoints de gerenciamento de keys retornam cabeçalhos padrão de rate limit:
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 294
X-RateLimit-Reset: 1782851940
X-Data-Delay: 0
X-Request-Id: 1782851943426721-511042Boas Práticas
- Use nomes descritivos - Nomeie as keys de acordo com sua finalidade, como “Production Server” ou “Staging”.
- Faça a rotação regularmente - Rotacione as keys periodicamente, como a cada 90 dias.
- Use keys separadas por ambiente - Crie keys distintas para produção, staging e desenvolvimento.
- Revise keys inativas - Identifique e remova keys não utilizadas.
- Armazene keys em um gerenciador de segredos - Use variáveis de ambiente ou um gerenciador de segredos, nunca insira keys diretamente no código.
- Revogue keys comprometidas imediatamente - Se uma key for exposta, exclua-a ou rotacione-a imediatamente.
Endpoints Relacionados
- Informações da Conta - Detalhes da conta e acesso a recursos
- Estatísticas de Uso - Estatísticas de requisições e uso
- Autenticação - Como usar API keys para autenticação