> ## Documentation Index
> Fetch the complete documentation index at: https://www.helius.dev/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Dapatkan Penggunaan Proyek

> Ambil penggunaan kredit, detail langganan, dan jumlah permintaan per layanan untuk suatu proyek dalam siklus kredit saat ini.

## Ringkasan

Mengembalikan gambaran lengkap tentang konsumsi kredit proyek untuk siklus kredit saat ini, termasuk sisa kredit, detail paket langganan, dan perincian permintaan berdasarkan jenis layanan (RPC, DAS, gRPC, WebSocket, dan sebagainya).

Semua angka kredit dibatasi pada `creditCycle` — periode ketika kredit terakumulasi dan direset, yang ditentukan berdasarkan tanggal acuan penagihan langganan. Setiap proyek memilikinya, termasuk paket gratis. `subscriptionDetails.billingCycle` adalah periode pembuatan faktur; informasi ini hanya bersifat informatif dan bernilai `null` pada paket gratis, yang tidak pernah ditagih.

## Parameter Permintaan

<ParamField path="id" type="string" required>
  ID proyek yang penggunaan datanya akan diambil. Harus cocok dengan proyek yang terkait dengan kunci API yang digunakan untuk autentikasi.
</ParamField>

## Kolom Respons

<ParamField body="creditsRemaining" type="number">
  Kredit yang tersisa dalam siklus kredit saat ini. Dihitung sebagai batas kredit paket dikurangi kredit reguler yang digunakan, dengan nilai minimum nol.
</ParamField>

<ParamField body="creditsUsed" type="number">
  Total kredit yang digunakan dalam siklus kredit saat ini, termasuk kredit reguler dan prabayar.
</ParamField>

<ParamField body="prepaidCreditsRemaining" type="number">
  Kredit prabayar yang masih tersedia.
</ParamField>

<ParamField body="prepaidCreditsUsed" type="number">
  Kredit prabayar yang digunakan dalam siklus kredit saat ini.
</ParamField>

<ParamField body="creditCycle" type="object">
  Periode yang menjadi cakupan setiap angka kredit dalam respons ini — periode ketika kredit terakumulasi dan direset, yang ditentukan berdasarkan tanggal acuan penagihan langganan. Selalu tersedia untuk setiap paket, termasuk paket gratis.
</ParamField>

<ParamField body="creditCycle.start" type="string">
  Tanggal mulai siklus kredit dalam format `YYYY-MM-DD` (UTC).
</ParamField>

<ParamField body="creditCycle.end" type="string">
  Tanggal berakhirnya siklus kredit dalam format `YYYY-MM-DD` (UTC).
</ParamField>

<ParamField body="subscriptionDetails" type="object">
  Informasi paket langganan dan siklus pembuatan faktur.
</ParamField>

<ParamField body="subscriptionDetails.billingCycle" type="object | null">
  Tanggal mulai dan berakhirnya siklus pembuatan faktur saat ini. Hanya bersifat informatif — bernilai `null` pada paket gratis, yang tidak pernah ditagih. Pada paket berbayar, nilai ini biasanya cocok dengan `creditCycle`.
</ParamField>

<ParamField body="subscriptionDetails.billingCycle.start" type="string">
  Tanggal mulai siklus penagihan dalam format `YYYY-MM-DD`.
</ParamField>

<ParamField body="subscriptionDetails.billingCycle.end" type="string">
  Tanggal berakhirnya siklus penagihan dalam format `YYYY-MM-DD`.
</ParamField>

<ParamField body="subscriptionDetails.creditsLimit" type="number">
  Total alokasi kredit untuk siklus kredit berdasarkan paket Anda.
</ParamField>

<ParamField body="subscriptionDetails.plan" type="string">
  Nama paket langganan (misalnya, `"business"`, `"professional"`).
</ParamField>

<ParamField body="credits" type="object">
  Konsumsi kredit per produk untuk siklus kredit saat ini, dalam satuan kredit utuh. Mencakup setiap produk. Nilai mentah diakumulasikan dan dibulatkan satu kali pada akhir agar sesuai dengan penagihan, sehingga jumlah kredit per produk mungkin tidak sama persis dengan `creditsUsed` setelah pembulatan.
</ParamField>

<ParamField body="credits.rpc" type="number">
  Kredit yang digunakan oleh RPC Solana standar.
</ParamField>

<ParamField body="credits.enhancedApi" type="number">
  Kredit yang digunakan oleh Enhanced API (misalnya, transaksi yang telah diurai dan metadata token).
</ParamField>

<ParamField body="credits.walletApi" type="number">
  Kredit yang digunakan oleh Wallet API.
</ParamField>

<ParamField body="credits.das" type="number">
  Kredit yang digunakan oleh API DAS (Digital Asset Standard).
</ParamField>

<ParamField body="credits.webhooks" type="number">
  Kredit yang digunakan oleh webhook.
</ParamField>

<ParamField body="credits.laserstreamGrpc" type="number">
  Kredit yang digunakan oleh LaserStream gRPC (diukur berdasarkan bandwidth).
</ParamField>

<ParamField body="credits.laserstreamWebsocket" type="number">
  Kredit yang digunakan oleh LaserStream WebSocket (diukur berdasarkan bandwidth).
</ParamField>

<ParamField body="credits.preConfirmations" type="number">
  Kredit yang digunakan oleh Preconfirmations.
</ParamField>

<ParamField body="credits.archival" type="number">
  Kredit yang digunakan oleh layanan pengarsipan.
</ParamField>

<ParamField body="credits.photon" type="number">
  Kredit yang digunakan oleh Photon (Kompresi ZK).
</ParamField>

<ParamField body="credits.other" type="number">
  Kredit yang digunakan oleh penggunaan yang tidak dikategorikan.
</ParamField>

<ParamField body="requests" type="object">
  Jumlah permintaan untuk siklus kredit saat ini, hanya untuk produk yang diukur berdasarkan permintaan. Produk LaserStream yang diukur berdasarkan bandwidth (`laserstreamGrpc`, `laserstreamWebsocket`) tidak muncul di sini — lihat `dataTransfer`. Kolom: `rpc`, `enhancedApi`, `walletApi`, `das`, `webhooks`, `preConfirmations`, `archival`, `photon`, `other`.
</ParamField>

<ParamField body="dataTransfer" type="object">
  Byte yang ditransfer untuk siklus kredit saat ini, hanya untuk produk LaserStream yang diukur berdasarkan bandwidth. Produk ini ditagih berdasarkan data yang ditransfer, bukan jumlah permintaan, sehingga produk tersebut muncul di sini dan di `credits`, tetapi tidak pernah muncul di `requests`. Kolom: `laserstreamGrpc`, `laserstreamWebsocket`.
</ParamField>

## Parameter Permintaan

<ParamField body="id" type="string" required>
  ID proyek yang penggunaan datanya akan diambil. Harus cocok dengan proyek yang terkait dengan kunci API.
</ParamField>


## OpenAPI

````yaml id/openapi/admin-api/getProjectUsage.yaml GET /v0/admin/projects/{id}/usage
openapi: 3.0.3
info:
  title: Helius Admin API
  description: >
    Akses terprogram ke data penggunaan dan penagihan proyek.


    ## Autentikasi


    Semua permintaan memerlukan kunci API yang diteruskan melalui salah satu
    cara berikut:

    - Header: `X-Api-Key: YOUR_API_KEY`

    - Parameter kueri: `?api-key=YOUR_API_KEY`
  version: 1.0.0
  contact:
    name: Dukungan API
    url: https://helius.dev
servers:
  - url: https://admin-api.helius.xyz
    description: Server produksi
security:
  - ApiKeyQuery: []
  - ApiKeyHeader: []
paths:
  /v0/admin/projects/{id}/usage:
    get:
      tags:
        - Admin
      summary: Dapatkan Penggunaan Proyek
      description: >
        Ambil penggunaan kredit, detail langganan, dan jumlah permintaan per
        layanan untuk sebuah proyek dalam siklus kredit saat ini — rentang waktu
        akumulasi dan pengaturan ulang kredit, yang dilaporkan dalam bidang
        `creditCycle`.


        Kunci API yang digunakan untuk autentikasi harus dimiliki oleh proyek
        yang ditentukan dalam jalur. Permintaan dengan proyek kunci API yang
        tidak cocok dengan parameter `id` akan mengembalikan kesalahan `400`.
      operationId: getProjectUsage
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            ID proyek yang penggunaan datanya akan diambil. Harus cocok dengan
            proyek yang terkait dengan kunci API.
          schema:
            type: string
            format: uuid
            example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
      responses:
        '200':
          description: Penggunaan proyek berhasil diambil.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProjectUsageResponse'
              example:
                creditsRemaining: 486100
                creditsUsed: 13900
                prepaidCreditsRemaining: 50000
                prepaidCreditsUsed: 0
                creditCycle:
                  start: '2026-04-01'
                  end: '2026-05-01'
                subscriptionDetails:
                  billingCycle:
                    start: '2026-04-01'
                    end: '2026-05-01'
                  creditsLimit: 500000
                  plan: business
                credits:
                  rpc: 4500
                  enhancedApi: 1200
                  walletApi: 0
                  das: 5000
                  webhooks: 800
                  laserstreamGrpc: 1500
                  laserstreamWebsocket: 800
                  preConfirmations: 100
                  archival: 0
                  photon: 0
                  other: 0
                requests:
                  rpc: 4500
                  enhancedApi: 1200
                  walletApi: 0
                  das: 5000
                  webhooks: 800
                  preConfirmations: 50
                  archival: 0
                  photon: 0
                  other: 0
                dataTransfer:
                  laserstreamGrpc: 15000000
                  laserstreamWebsocket: 8000000
        '400':
          description: >-
            Permintaan Tidak Valid — ID proyek dalam jalur tidak cocok dengan
            proyek yang terkait dengan kunci API.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 400
                message: Invalid project id
                error: Bad Request
        '401':
          description: >-
            Tidak Terautentikasi — kunci API tidak tersedia, formatnya salah,
            atau tidak ditemukan.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 401
                message: Missing or invalid API key
                error: Unauthorized
        '403':
          description: Dilarang — Admin API tidak diaktifkan untuk proyek ini.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 403
                message: Admin API not enabled for this project
                error: Forbidden
        '429':
          description: >-
            Terlalu Banyak Permintaan — batas laju sebesar 5 permintaan per
            detik terlampaui.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 429
                message: 'ThrottlerException: Too Many Requests'
                error: Too Many Requests
        '500':
          description: >-
            Kesalahan Server Internal — terjadi kesalahan pada sisi server
            (misalnya, data penagihan tidak tersedia).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 500
                message: Internal server error
                error: Internal Server Error
components:
  schemas:
    ProjectUsageResponse:
      type: object
      properties:
        creditsRemaining:
          type: number
          description: >-
            Jumlah kredit yang tersisa dalam siklus kredit saat ini. Dihitung
            sebagai `creditsLimit - regularCreditsUsed`, dengan nilai minimum 0.
          example: 487500
        creditsUsed:
          type: number
          description: >-
            Total kredit yang digunakan dalam siklus kredit saat ini, termasuk
            kredit reguler dan prabayar.
          example: 12500
        prepaidCreditsRemaining:
          type: number
          description: Jumlah kredit prabayar yang tersisa.
          example: 50000
        prepaidCreditsUsed:
          type: number
          description: Jumlah kredit prabayar yang digunakan dalam siklus kredit saat ini.
          example: 0
        creditCycle:
          type: object
          description: >
            Rentang waktu yang menjadi cakupan setiap angka kredit dalam respons
            ini — periode

            akumulasi dan pengaturan ulang kredit, yang ditentukan berdasarkan
            patokan

            penagihan langganan. Selalu tersedia untuk setiap paket, termasuk
            paket gratis

            yang tidak pernah ditagih.
          properties:
            start:
              type: string
              description: Tanggal mulai siklus kredit (`YYYY-MM-DD`, UTC).
              example: '2026-04-01'
            end:
              type: string
              description: Tanggal berakhirnya siklus kredit (`YYYY-MM-DD`, UTC).
              example: '2026-05-01'
        subscriptionDetails:
          type: object
          description: Detail tentang paket langganan dan siklus penagihan proyek.
          properties:
            billingCycle:
              type: object
              nullable: true
              description: >
                Tanggal mulai dan berakhirnya siklus penagihan saat ini. Hanya
                bersifat informatif —

                `null` pada paket gratis yang tidak pernah ditagih. Pada paket
                berbayar, nilai ini

                biasanya sesuai dengan `creditCycle`.
              properties:
                start:
                  type: string
                  description: Tanggal mulai siklus penagihan.
                  example: '2026-04-01'
                end:
                  type: string
                  description: Tanggal berakhirnya siklus penagihan.
                  example: '2026-05-01'
            creditsLimit:
              type: number
              description: >-
                Total alokasi kredit untuk siklus kredit saat ini berdasarkan
                paket.
              example: 500000
            plan:
              type: string
              description: Nama paket langganan.
              example: business
        credits:
          type: object
          description: >
            Penggunaan kredit per produk untuk siklus kredit saat ini, dalam
            kredit bulat.

            Mencakup setiap produk. Nilai mentah diakumulasikan dan dibulatkan
            satu kali di akhir agar

            sesuai dengan penagihan. Karena itu, total kredit per produk mungkin
            tidak sama persis dengan

            `creditsUsed` setelah pembulatan.
          properties:
            rpc:
              type: number
              description: Kredit yang digunakan oleh RPC Solana standar.
              example: 4500
            enhancedApi:
              type: number
              description: >-
                Kredit yang digunakan oleh Enhanced API (misalnya, transaksi
                yang diuraikan dan metadata token).
              example: 1200
            walletApi:
              type: number
              description: Kredit yang digunakan oleh Wallet API.
              example: 0
            das:
              type: number
              description: Kredit yang digunakan oleh API DAS (Digital Asset Standard).
              example: 5000
            webhooks:
              type: number
              description: Kredit yang digunakan oleh webhook.
              example: 800
            laserstreamGrpc:
              type: number
              description: >-
                Kredit yang digunakan oleh LaserStream gRPC (diukur berdasarkan
                bandwidth).
              example: 1500
            laserstreamWebsocket:
              type: number
              description: >-
                Kredit yang digunakan oleh LaserStream WebSocket (diukur
                berdasarkan bandwidth).
              example: 800
            preConfirmations:
              type: number
              description: Kredit yang digunakan oleh Preconfirmations.
              example: 100
            archival:
              type: number
              description: Kredit yang digunakan oleh Archival.
              example: 0
            photon:
              type: number
              description: Kredit yang digunakan oleh Photon (ZK Compression).
              example: 0
            other:
              type: number
              description: Kredit yang digunakan oleh penggunaan yang tidak dikategorikan.
              example: 0
        requests:
          type: object
          description: >
            Jumlah permintaan untuk siklus kredit saat ini, hanya untuk produk
            yang diukur berdasarkan permintaan.

            Produk LaserStream yang diukur berdasarkan bandwidth
            (`laserstreamGrpc`, `laserstreamWebsocket`)

            tidak ditampilkan di sini — lihat `dataTransfer`.
          properties:
            rpc:
              type: number
              description: Jumlah permintaan RPC Solana standar.
              example: 4500
            enhancedApi:
              type: number
              description: Jumlah permintaan Enhanced API.
              example: 1200
            walletApi:
              type: number
              description: Jumlah permintaan Wallet API.
              example: 0
            das:
              type: number
              description: Jumlah permintaan API DAS (Digital Asset Standard).
              example: 5000
            webhooks:
              type: number
              description: Jumlah peristiwa pengiriman webhook.
              example: 800
            preConfirmations:
              type: number
              description: Jumlah permintaan Preconfirmations.
              example: 50
            archival:
              type: number
              description: Jumlah permintaan RPC arsip.
              example: 0
            photon:
              type: number
              description: Jumlah permintaan Photon (ZK Compression).
              example: 0
            other:
              type: number
              description: Jumlah permintaan yang tidak dikategorikan.
              example: 0
        dataTransfer:
          type: object
          description: >
            Jumlah byte yang ditransfer untuk siklus kredit saat ini, hanya
            untuk produk

            LaserStream yang diukur berdasarkan bandwidth. Produk ini ditagih
            berdasarkan data yang ditransfer,

            bukan jumlah permintaan. Karena itu, produk tersebut ditampilkan di
            sini dan di `credits`, tetapi tidak pernah di `requests`.
          properties:
            laserstreamGrpc:
              type: number
              description: Jumlah byte yang ditransfer melalui LaserStream gRPC.
              example: 15000000
            laserstreamWebsocket:
              type: number
              description: Jumlah byte yang ditransfer melalui LaserStream WebSocket.
              example: 8000000
    ErrorResponse:
      type: object
      properties:
        statusCode:
          type: integer
          description: Kode status HTTP.
        message:
          type: string
          description: Pesan kesalahan yang dapat dibaca manusia.
        error:
          type: string
          description: Nama kesalahan HTTP.
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: Kunci API yang diteruskan sebagai parameter kueri.
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-Api-Key
      description: Kunci API yang diteruskan sebagai header permintaan.

````