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

See Teams OAuth Tokens


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' }]
  })
})

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)

Input Parameters

ParameterTypeRequiredDescription
namestringYesToken name/description
scopesarrayYesScopes to grant
expiresInDaysnumberNoExpiration (default: 365 days)

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

TypeFormatCreated viaBest for
User API Keysak_...Dashboard or APIPersonal backend projects
Team OAuth TokensOAuth tokenTeam settingsSDKs (OpenAI, Replicate, Continue.dev)
OAuth App Credentialsclient_id + client_secretApp registrationThird-party apps with user consent

Security Best Practices

  1. Never expose in client-side code - Use only in backend/server
  2. Rotate regularly - Generate new keys periodically
  3. Use scoped permissions - Request only what you need
  4. Monitor usage - Check for suspicious activity
  5. Revoke unused keys - Delete keys you're not using

Next Steps