App Analytics

View usage statistics and analytics for OAuth apps

Overview

Track how your OAuth app is being used.

Authentication: OAuth token
Required Scopes: apps:read


Get App Analytics

View detailed usage statistics.

Endpoint: GET /api/apps/:id/analytics

const response = await fetch(
  `https://hypery.ai/api/apps/${appId}/analytics`,
  { headers: { 'Authorization': `Bearer ${oauthToken}` } }
)
 
const { analytics } = await response.json()

Response:

{
  "success": true,
  "analytics": {
    "totalRequests": 5420,
    "totalUsers": 127,
    "totalCost": 234,
    "period": "month",
    "breakdown": {
      "chat": 4200,
      "images": 1220
    },
    "topModels": [
      {
        "model": "anthropic/claude-3.5-sonnet",
        "requests": 3100,
        "cost": 156
      }
    ]
  }
}

Output Fields

FieldTypeDescription
totalRequestsnumberTotal API calls
totalUsersnumberUnique users
totalCostnumberTotal credits spent
periodstringTime period (day, week, month)
breakdownobjectRequests by API type
topModelsarrayMost used models

Get Engagement Metrics

View user engagement statistics.

Endpoint: GET /api/apps/:id/engagement

const response = await fetch(
  `https://hypery.ai/api/apps/${appId}/engagement`,
  { headers: { 'Authorization': `Bearer ${oauthToken}` } }
)
 
const { engagement } = await response.json()

Get App Status

Check app approval status.

Endpoint: GET /api/apps/:id/status

const response = await fetch(
  `https://hypery.ai/api/apps/${appId}/status`,
  { headers: { 'Authorization': `Bearer ${oauthToken}` } }
)
 
const { status } = await response.json()
console.log(status)  // "draft", "pending", "approved", "rejected"

Status values:

  • draft - Not submitted for review
  • pending - Under review
  • approved - Live and available
  • rejected - Rejected (see rejection reason)

Transfer App

Transfer app ownership to another team.

Endpoint: POST /api/apps/:id/transfer

await fetch(`https://hypery.ai/api/apps/${appId}/transfer`, {
  method: 'POST',
  headers: {
    'Authorization': `Bearer ${oauthToken}`,
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({
    teamId: 'new_team_id'
  })
})

Input Parameters

ParameterTypeRequiredDescription
teamIdstringYesDestination team ID

Next Steps