> ## Documentation Index
> Fetch the complete documentation index at: https://veniceai-mintlify-6ce01df5.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# 청구 사용량 분석 (Beta)

> **Beta**: This endpoint is currently in beta and may be unstable. Request/response schemas and behavior may change without notice.

Get aggregated usage analytics for the authenticated user with breakdowns by date, model, and API key. This endpoint provides summary views of your API usage, ideal for dashboards and usage monitoring. Data is cached for 10 minutes.

<Warning>
  이것은 베타 엔드포인트이며 불안정하거나 사전 통보 없이 변경될 수 있습니다.
</Warning>

날짜, 모델 및 API 키별 분석이 포함된 인증된 사용자의 집계된 사용량 분석을 가져옵니다. 이 엔드포인트는 대시보드 구축 및 소비 모니터링을 위한 API 사용 데이터의 요약 보기를 제공합니다. 데이터는 10분 동안 캐시됩니다.

## 쿼리 매개변수

다음 중 하나를 사용하여 분석 기간을 지정할 수 있습니다:

* **lookback**: "7d"(7일), "30d"(30일)와 같은 상대 기간, 최대 "90d"(90일)까지
* **startDate** 및 **endDate**: `YYYY-MM-DD` 형식의 사용자 지정 날짜 범위. 둘 중 하나가 제공되면 둘 다 필수입니다.

매개변수가 지정되지 않으면 기본 lookback 기간은 7일입니다.

## 응답 필드

### lookback

쿼리에 사용된 lookback 기간. "Nd" 형식(예: "7d") 또는 "startDate:endDate" 형식입니다.

### byDate

요청된 기간의 일일 사용량 합계.

* **date**: `YYYY-MM-DD` 형식의 날짜
* **USD**: 해당 일의 USD 총 사용량
* **DIEM**: 해당 일의 DIEM 총 사용량

### byModel

모델별 사용량 분석, 총 지출별로 정렬됨(높은 순).

* **modelName**: 모델의 표시 이름(예: "GLM 5")
* **unitType**: 소비된 단위 유형(tokens, images, chars, minutes, seconds)
* **modelType**: 모델 유형(LLM, IMAGE, TTS, ASR, VIDEO) 또는 null
* **totalUsd**: 이 모델에 지출된 총 USD
* **totalDiem**: 이 모델에 지출된 총 DIEM
* **totalUnits**: 이 모델에서 소비된 총 단위
* **breakdown**: 유형별 사용량 분석 배열(여러 유형이 있는 경우에만 표시). 각 항목에는 다음이 포함됩니다:
  * **type**: 토큰 유형(예: "Input", "Output", "Cache Read", "Cache Write")
  * **usd**: 이 분석의 USD 금액
  * **diem**: 이 분석의 DIEM 금액
  * **units**: 이 분석의 단위 수

### byModelDaily

상위 8개 모델에 대한 일일 차트 데이터. 각 항목에는 "date"(타임스탬프)와 키로 모델 이름, 값으로 DIEM 사용량이 포함됩니다.

### topModels

사용량 기준 상위 8개 모델 이름 배열, 차트 범례용.

### byKey

API 키별 사용량 분석, 총 지출별로 정렬됨(높은 순).

* **apiKeyId**: API 키 ID, 웹 앱에서 사용한 경우 null
* **description**: API 키 설명 또는 "Web App"
* **totalUsd**: 이 키를 통해 지출된 총 USD
* **totalDiem**: 이 키를 통해 지출된 총 DIEM
* **totalUnits**: 이 키를 통해 소비된 총 단위

### byKeyDaily

상위 8개 API 키에 대한 일일 차트 데이터. 각 항목에는 "date"(타임스탬프)와 키로 키 설명, 값으로 DIEM 사용량이 포함됩니다.

### topKeyNames

사용량 기준 상위 8개 API 키 설명 배열, 차트 범례용.

## 예제 사용법

```bash theme={"system"}
# 지난 7일간의 사용량 분석 가져오기 (기본값)
curl -X GET "https://api.venice.ai/api/v1/billing/usage-analytics" \
  -H "Authorization: Bearer YOUR_API_KEY"

# 지난 30일간의 사용량 분석 가져오기
curl -X GET "https://api.venice.ai/api/v1/billing/usage-analytics?lookback=30d" \
  -H "Authorization: Bearer YOUR_API_KEY"

# 특정 날짜 범위의 사용량 분석 가져오기
curl -X GET "https://api.venice.ai/api/v1/billing/usage-analytics?startDate=2024-01-01&endDate=2024-01-31" \
  -H "Authorization: Bearer YOUR_API_KEY"
```


## OpenAPI

````yaml GET /billing/usage-analytics
openapi: 3.0.0
info:
  description: The Venice.ai API.
  termsOfService: https://venice.ai/legal/tos
  title: Venice.ai API
  version: '20260617.063120'
  x-guidance: >-
    Venice.ai is an OpenAI-compatible inference API supporting text, image,
    audio, and video generation.


    **Authentication options:**

    - API Key: Use Bearer token in Authorization header

    - x402 Wallet: Use USDC credits via EVM or Solana wallet (no account
    required)


    **For x402 wallet access:**

    1. POST /x402/top-up without headers to get payment requirements

    2. Choose one of the returned Base or Solana payment options and sign a USDC
    payment using the x402 SDK

    3. POST /x402/top-up with PAYMENT-SIGNATURE header to add credits

    4. Call any inference endpoint with SIGN-IN-WITH-X header


    **Pricing:** Prepaid credits consumed per request. Check /models for
    available models and their capabilities.
servers:
  - url: https://api.venice.ai/api/v1
security:
  - BearerAuth: []
tags:
  - description: >-
      Generate speech/audio, transcribe audio, and manage asynchronous audio
      generation jobs.
    name: Audio
  - description: >-
      Given a list of messages comprising a conversation, the model will return
      a response. Supports multimodal inputs including text, images, audio
      (input_audio), and video (video_url) for compatible models.
    name: Chat
  - description: List and describe the various models available in the API.
    name: Models
  - description: Generate and manipulate images using AI models.
    name: Image
  - description: Generate videos using AI models.
    name: Video
  - description: List and retrieve character information for use in completions.
    name: Characters
  - description: >-
      Billing and usage analytics. **Beta**: This API is currently in beta and
      may be unstable. Endpoints, request/response schemas, and behavior may
      change without notice.
    name: Billing
  - description: Proxy JSON-RPC requests to blockchain nodes. Billed per credit.
    name: Crypto RPC
  - description: >-
      Wallet-based API access using the x402 protocol. No API key required —
      authenticate with an EVM or Solana wallet.


      **How it works:**

      1. **Authenticate** — Send a `SIGN-IN-WITH-X` header (base64-encoded
      signed SIWX payload) with any request. EVM wallets sign an EIP-4361 SIWE
      message; Solana wallets sign the Solana SIWX message with Ed25519. See the
      `siwx` security scheme for the exact format.

      2. **Top up** — `POST /x402/top-up` without a payment header returns an
      `accepts` array with Base and Solana USDC payment options. Choose one
      entry, sign it using the x402 SDK (`npm install x402`), and re-submit with
      the `PAYMENT-SIGNATURE` header (the legacy `X-402-Payment` and `X-PAYMENT`
      names are also accepted).

      3. **Use any endpoint** — All inference endpoints (chat, image, audio,
      video, embeddings) accept `siwx` as an alternative to `BearerAuth`.
      Charges are deducted from your USDC credit balance.

      4. **Monitor balance** — `GET /x402/balance/{walletAddress}` returns your
      current balance. The `X-Balance-Remaining` response header on inference
      calls also reports it.


      **Quick start (5 lines):**

      ```

      import { VeniceClient } from '@venice-ai/x402-client'

      const venice = new VeniceClient(process.env.WALLET_KEY)

      await venice.topUp(10) // $10 USDC on a supported x402 rail

      const res = await venice.chat({ model: 'zai-org-glm-5-1', messages: [{
      role: 'user', content: 'Hello!' }] })

      ```


      **Payment:** USDC on Base (chain ID 8453) or Solana mainnet. Minimum
      top-up: $5. Alternatively, stake DIEM tokens for daily credits (1 DIEM =
      $1/day).
    name: x402
externalDocs:
  description: Venice.ai API documentation
  url: https://docs.venice.ai
paths:
  /billing/usage-analytics:
    get:
      tags:
        - Billing
      summary: /api/v1/billing/usage-analytics
      description: >-
        **Beta**: This endpoint is currently in beta and may be unstable.
        Request/response schemas and behavior may change without notice.


        Get aggregated usage analytics for the authenticated user with
        breakdowns by date, model, and API key. This endpoint provides summary
        views of your API usage, ideal for dashboards and usage monitoring. Data
        is cached for 10 minutes.
      operationId: getBillingUsageAnalytics
      parameters:
        - schema:
            type: string
            pattern: ^[1-9]\d*d$
            default: 7d
            description: >-
              Lookback period for usage data. Format: number followed by "d"
              (e.g., "7d", "30d"). Maximum: 90d
            example: 7d
          required: false
          name: lookback
          in: query
        - schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
            description: >-
              Start date for filtering records (YYYY-MM-DD). If provided,
              endDate is also required.
            example: '2024-01-01T00:00:00.000Z'
          required: false
          name: startDate
          in: query
        - schema:
            type: string
            pattern: ^\d{4}-\d{2}-\d{2}$
            description: >-
              End date for filtering records (YYYY-MM-DD). If provided,
              startDate is also required.
            example: '2024-01-31T00:00:00.000Z'
          required: false
          name: endDate
          in: query
      responses:
        '200':
          description: Successful response with aggregated usage analytics
          content:
            application/json:
              schema:
                type: object
                properties:
                  lookback:
                    type: string
                    description: >-
                      The lookback period used for the query. Either "Nd" format
                      or "startDate:endDate" format.
                    example: 7d
                  byDate:
                    type: array
                    items:
                      type: object
                      properties:
                        date:
                          type: string
                          description: Date in YYYY-MM-DD format
                          example: '2024-01-15T00:00:00.000Z'
                        USD:
                          type: number
                          description: Total USD usage for this date
                        DIEM:
                          type: number
                          description: Total DIEM usage for this date
                      required:
                        - date
                        - USD
                        - DIEM
                    description: Daily usage totals for the requested period
                  byModel:
                    type: array
                    items:
                      type: object
                      properties:
                        modelName:
                          type: string
                          description: Display name of the model
                          example: GLM 5.1
                        unitType:
                          type: string
                          description: >-
                            Type of units (tokens, images, chars, minutes,
                            seconds)
                          example: tokens
                        modelType:
                          type: string
                          nullable: true
                          description: Type of model (LLM, IMAGE, TTS, ASR, VIDEO)
                          example: LLM
                        totalUsd:
                          type: number
                          description: Total USD usage for this model
                        totalDiem:
                          type: number
                          description: Total DIEM usage for this model
                        totalUnits:
                          type: number
                          description: Total units consumed for this model
                        breakdown:
                          type: array
                          items:
                            type: object
                            properties:
                              type:
                                type: string
                                description: >-
                                  Token type (e.g., "Input", "Output", "Cache
                                  Read", "Cache Write")
                              usd:
                                type: number
                                description: USD amount for this breakdown
                              diem:
                                type: number
                                description: DIEM amount for this breakdown
                              units:
                                type: number
                                description: Number of units for this breakdown
                            required:
                              - type
                              - usd
                              - diem
                              - units
                          description: >-
                            Breakdown by token type (only present if multiple
                            types)
                      required:
                        - modelName
                        - unitType
                        - modelType
                        - totalUsd
                        - totalDiem
                        - totalUnits
                    description: >-
                      Usage breakdown by model, sorted by total spend (highest
                      first)
                  byModelDaily:
                    type: array
                    items:
                      type: object
                      additionalProperties:
                        type: number
                    description: >-
                      Daily chart data for top 8 models. Each entry has "date"
                      (timestamp) plus model names as keys.
                  topModels:
                    type: array
                    items:
                      type: string
                    description: Names of the top 8 models by usage (for chart legends)
                  byKey:
                    type: array
                    items:
                      type: object
                      properties:
                        apiKeyId:
                          type: string
                          nullable: true
                          description: API key ID, or null if usage was from web app
                        description:
                          type: string
                          description: API key description or "Web App"
                          example: My Production Key
                        totalUsd:
                          type: number
                          description: Total USD usage for this key
                        totalDiem:
                          type: number
                          description: Total DIEM usage for this key
                        totalUnits:
                          type: number
                          description: Total units consumed for this key
                      required:
                        - apiKeyId
                        - description
                        - totalUsd
                        - totalDiem
                        - totalUnits
                    description: >-
                      Usage breakdown by API key, sorted by total spend (highest
                      first)
                  byKeyDaily:
                    type: array
                    items:
                      type: object
                      additionalProperties:
                        type: number
                    description: >-
                      Daily chart data for top 8 API keys. Each entry has "date"
                      (timestamp) plus key descriptions as keys.
                  topKeyNames:
                    type: array
                    items:
                      type: string
                    description: >-
                      Descriptions of the top 8 API keys by usage (for chart
                      legends)
                required:
                  - lookback
                  - byDate
                  - byModel
                  - byModelDaily
                  - topModels
                  - byKey
                  - byKeyDaily
                  - topKeyNames
                additionalProperties: false
                description: >-
                  Aggregated usage analytics response with breakdowns by date,
                  model, and API key
                example:
                  lookback: 7d
                  byDate:
                    - date: '2024-01-15T00:00:00.000Z'
                      USD: 0.5
                      DIEM: 10.25
                    - date: '2024-01-14T00:00:00.000Z'
                      USD: 0.3
                      DIEM: 8.75
                  byModel:
                    - modelName: GLM 5.1
                      unitType: tokens
                      modelType: LLM
                      totalUsd: 0.4
                      totalDiem: 12.5
                      totalUnits: 50000
                      breakdown:
                        - type: Output
                          usd: 0.3
                          diem: 10
                          units: 35000
                        - type: Input
                          usd: 0.1
                          diem: 2.5
                          units: 15000
                  byModelDaily:
                    - date: 1705276800000
                      GLM 5.1: 5.5
                      Kimi K2.6: 3.2
                  topModels:
                    - GLM 5.1
                    - Kimi K2.6
                  byKey:
                    - apiKeyId: key_abc123
                      description: Production Key
                      totalUsd: 0.8
                      totalDiem: 15
                      totalUnits: 75000
                    - apiKeyId: null
                      description: Web App
                      totalUsd: 0
                      totalDiem: 4
                      totalUnits: 25000
                  byKeyDaily:
                    - date: 1705276800000
                      Production Key: 8.5
                      Web App: 2
                  topKeyNames:
                    - Production Key
                    - Web App
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailedError'
        '401':
          description: Authentication failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardError'
        '500':
          description: Inference processing failed
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/StandardError'
        '504':
          description: Query timed out - try reducing the lookback period
          content:
            application/json:
              schema:
                properties:
                  error:
                    description: Error message indicating query timeout
                    type: string
                type: object
components:
  schemas:
    DetailedError:
      type: object
      properties:
        details:
          type: object
          properties: {}
          description: Details about the incorrect input
          example:
            _errors: []
            field:
              _errors:
                - Field is required
        error:
          type: string
          description: A description of the error
      required:
        - error
    StandardError:
      type: object
      properties:
        error:
          type: string
          description: A description of the error
      required:
        - error
  securitySchemes:
    BearerAuth:
      bearerFormat: JWT
      scheme: bearer
      type: http

````