API Keys
Direct API access with user-generated keys
Overview
API keys provide simple authentication for backend services and personal projects.
Format: ak_[timestamp]_[random]
Created via: Dashboard → Settings → API Keys or Management API
Use for: Backend services, scripts, personal projects
Types of Keys
User API Keys
Generated by users for their own use.
- Format:
ak_... - Endpoint:
/api/user/api-keys - Scopes: User-defined (ai:chat, ai:models, etc.)
- Billing: Uses user's personal team credits
See Management APIs → API Keys
Team OAuth Tokens
Personal OAuth tokens for teams (for SDKs like Continue.dev).
- Format: Standard OAuth access token
- Endpoint:
/api/teams/:id/oauth-tokens - Scopes: Team-defined
- Billing: Uses team credits
- Use with: OpenAI SDK, Replicate SDK, Continue.dev
Using API Keys
Include in the Authorization header:
const response = await fetch('https://hypery.ai/api/v1/chat/completions', {
headers: {
'Authorization': 'Bearer ak_1699564800_abc123...',
'Content-Type': 'application/json'
},
body: JSON.stringify({
model: 'anthropic/claude-3.5-sonnet',
messages: [{ role: 'user', content: 'Hello' }]
})
})import requests
response = requests.post(
'https://hypery.ai/api/v1/chat/completions',
headers={'Authorization': 'Bearer ak_1699564800_abc123...'},
json={
'model': 'anthropic/claude-3.5-sonnet',
'messages': [{'role': 'user', 'content': 'Hello'}]
}
)curl https://hypery.ai/api/v1/chat/completions \
-H "Authorization: Bearer ak_1699564800_abc123..." \
-H "Content-Type: application/json" \
-d '{
"model": "anthropic/claude-3.5-sonnet",
"messages": [{"role": "user", "content": "Hello"}]
}'Team OAuth Tokens
Teams can generate personal OAuth tokens for SDK use.
Create Team Token
Endpoint: POST /api/teams/:id/oauth-tokens
const response = await fetch(
`https://hypery.ai/api/teams/${teamId}/oauth-tokens`,
{
method: 'POST',
headers: {
'Authorization': `Bearer ${oauthToken}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'Continue.dev Token',
scopes: ['ai:chat', 'ai:models'],
expiresInDays: 365
})
}
)
const { token } = await response.json()
console.log('Access token:', token.accessToken)response = requests.post(
f'https://hypery.ai/api/teams/{team_id}/oauth-tokens',
headers={'Authorization': f'Bearer {oauth_token}'},
json={
'name': 'Continue.dev Token',
'scopes': ['ai:chat', 'ai:models'],
'expiresInDays': 365
}
)
token = response.json()['token']
print('Access token:', token['accessToken'])curl -X POST https://hypery.ai/api/teams/TEAM_ID/oauth-tokens \
-H "Authorization: Bearer OAUTH_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"name": "Continue.dev Token",
"scopes": ["ai:chat", "ai:models"],
"expiresInDays": 365
}'Input Parameters
Use the token with OpenAI SDK:
import OpenAI from 'openai'
const client = new OpenAI({
apiKey: 'oauth_token_from_above', // Use as API key
baseURL: 'https://hypery.ai/api/v1'
})Comparison
Security Best Practices
- Never expose in client-side code - Use only in backend/server
- Rotate regularly - Generate new keys periodically
- Use scoped permissions - Request only what you need
- Monitor usage - Check for suspicious activity
- Revoke unused keys - Delete keys you're not using