API Reference

UPAI REST & Streaming API Specification

All endpoints are served over HTTPS with request correlation IDs and rate limiting. Requests must send and accept application/json unless streaming SSE.

POST/v1/chat/completions
Auth: Bearer API Key

Creates a model completion or SSE stream using Gemini 3.6 Flash.

// Request Body

{
  "model": "gemini-3.6-flash",
  "messages": [
    {"role": "user", "content": "string"}
  ],
  "stream": true,
  "temperature": 0.7
}

// Response Payload

{
  "id": "chatcmpl_abc123",
  "object": "chat.completion.chunk",
  "created": 1726230000,
  "model": "gemini-3.6-flash",
  "choices": [
    {
      "delta": {"content": "text chunk"},
      "index": 0,
      "finish_reason": null
    }
  ]
}
GET/v1/health
Auth: None (Public)

Retrieves public system and subsystem availability statuses.

// Request Body

None

// Response Payload

{
  "status": "healthy",
  "timestamp": "2026-09-13T13:45:00.000Z",
  "services": {
    "platform": "OPERATIONAL",
    "database": "OPERATIONAL",
    "api": "OPERATIONAL",
    "auth": "OPERATIONAL",
    "payments": "OPERATIONAL"
  }
}
POST/v1/billing/paytm/initiate
Auth: Session Cookie / Bearer

Initiates a Paytm AutoPay recurring subscription order & mandate.

// Request Body

{
  "planId": "go",
  "frequency": "MONTHLY"
}

// Response Payload

{
  "mandateId": "mandate_12345",
  "orderId": "UPAI_ORD_1726230000",
  "isConfigured": true,
  "paytmParams": {
    "MID": "YOUR_PAYTM_MID",
    "ORDER_ID": "UPAI_ORD_1726230000",
    "TXN_AMOUNT": "399",
    "CHECKSUMHASH": "hmac_signature_hex"
  }
}
GET/v1/entitlements
Auth: Session Cookie / Bearer

Resolves server-authoritative entitlements for the authenticated identity.

// Request Body

None

// Response Payload

{
  "userId": "usr_987",
  "plan": "plus",
  "accountStatus": "ACTIVE",
  "entitlements": {
    "ultron.chat": true,
    "ultron.web_search": true,
    "ultron.deep_research": true,
    "ultron.file_analysis": true,
    "ultron.image_generation": true,
    "ultron.integrations": true,
    "developer.api": true,
    "developer.cli": true,
    "developer.advanced_limits": false
  }
}