> ## 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.

# 프로젝트 사용량 가져오기

> 현재 크레딧 사이클 내에서 프로젝트의 크레딧 사용량, 구독 세부 정보 및 서비스별 요청 수를 검색합니다.

## 개요

현재 크레딧 사이클에 대한 프로젝트의 크레딧 소비에 대한 전체 그림을 반환하며, 남은 크레딧, 구독 계획 세부 정보 및 서비스 유형(RPC, DAS, gRPC, WebSocket 등)별 요청 분류를 포함합니다.

모든 크레딧 수치는 `creditCycle`에 맞추어 범위가 지정됩니다 — 크레딧이 누적되고 다시 설정되는 창으로, 구독의 청구 앵커에서 파생됩니다. 모든 프로젝트에는 하나가 포함되어 있으며, 무료 계획도 포함됩니다. `subscriptionDetails.billingCycle`은 송장 창이며 정보 제공 목적으로 사용됩니다. 청구되지 않는 무료 계획에는 적용되지 않습니다.

## 요청 매개변수

<ParamField path="id" type="string" required>
  사용량을 검색할 프로젝트 ID입니다. 인증에 사용되는 API 키와 연결된 프로젝트와 일치해야 합니다.
</ParamField>

## 응답 필드

<ParamField body="creditsRemaining" type="number">
  현재 크레딧 사이클에 남아 있는 크레딧입니다. 플랜의 크레딧 한도에서 사용된 일반 크레딧을 뺀 값으로, 0으로 바닥에 맞춰 계산됩니다.
</ParamField>

<ParamField body="creditsUsed" type="number">
  현재 크레딧 사이클에 소비된 총 크레딧으로, 일반 크레딧과 선불 크레딧이 모두 포함됩니다.
</ParamField>

<ParamField body="prepaidCreditsRemaining" type="number">
  아직 사용 가능한 선불 크레딧입니다.
</ParamField>

<ParamField body="prepaidCreditsUsed" type="number">
  현재 크레딧 사이클에 소비된 선불 크레딧입니다.
</ParamField>

<ParamField body="creditCycle" type="object">
  이 응답의 모든 크레딧 수치가 범위에 맞춰진 창입니다 — 크레딧이 누적되고 다시 설정되는 기간으로, 구독의 청구 앵커에서 파생됩니다. 모든 계획에 대해 항상 존재하며, 무료 계획도 포함됩니다.
</ParamField>

<ParamField body="creditCycle.start" type="string">
  `YYYY-MM-DD` 형식의 크레딧 사이클 시작 날짜 (UTC).
</ParamField>

<ParamField body="creditCycle.end" type="string">
  `YYYY-MM-DD` 형식의 크레딧 사이클 종료 날짜 (UTC).
</ParamField>

<ParamField body="subscriptionDetails" type="object">
  구독 계획 및 청구 사이클 정보입니다.
</ParamField>

<ParamField body="subscriptionDetails.billingCycle" type="object | null">
  현재 청구 사이클의 시작 및 종료 날짜입니다. 정보 제공 목적으로만 사용되며 — 무료 계획에는 적용되지 않습니다. 유료 계획에서는 보통 `creditCycle`와 일치합니다.
</ParamField>

<ParamField body="subscriptionDetails.billingCycle.start" type="string">
  `YYYY-MM-DD` 형식의 청구 사이클 시작 날짜.
</ParamField>

<ParamField body="subscriptionDetails.billingCycle.end" type="string">
  `YYYY-MM-DD` 형식의 청구 사이클 종료 날짜.
</ParamField>

<ParamField body="subscriptionDetails.creditsLimit" type="number">
  플랜에 따라 크레딧 사이클에 대한 총 크레딧 허용량입니다.
</ParamField>

<ParamField body="subscriptionDetails.plan" type="string">
  구독 계획의 이름입니다 (예: `"business"`, `"professional"`).
</ParamField>

<ParamField body="credits" type="object">
  현재 크레딧 사이클에 대한 제품별 크레딧 소비로, 전체 크레딧 단위로 표시됩니다. 모든 제품을 다룹니다. 값은 계산된 원본이며 마지막에 한 번 반올림하여 청구와 일치하도록 하므로, 제품별 크레딧이 반올림 후 `creditsUsed`에 정확히 합산되지 않을 수 있습니다.
</ParamField>

<ParamField body="credits.rpc" type="number">
  표준 Solana RPC에 의해 소비된 크레딧입니다.
</ParamField>

<ParamField body="credits.enhancedApi" type="number">
  Enhanced API(예: 분석된 트랜잭션, 토큰 메타데이터)에 의해 소비된 크레딧입니다.
</ParamField>

<ParamField body="credits.walletApi" type="number">
  Wallet API에 의해 소비된 크레딧입니다.
</ParamField>

<ParamField body="credits.das" type="number">
  DAS(Digital Asset Standard) API에 의해 소비된 크레딧입니다.
</ParamField>

<ParamField body="credits.webhooks" type="number">
  Webhooks에 의해 소비된 크레딧입니다.
</ParamField>

<ParamField body="credits.laserstreamGrpc" type="number">
  LaserStream gRPC(대역폭 기준)에 의해 소비된 크레딧입니다.
</ParamField>

<ParamField body="credits.laserstreamWebsocket" type="number">
  LaserStream WebSocket(대역폭 기준)에 의해 소비된 크레딧입니다.
</ParamField>

<ParamField body="credits.preConfirmations" type="number">
  선확인에 의해 소비된 크레딧입니다.
</ParamField>

<ParamField body="credits.archival" type="number">
  Archival에 의해 소비된 크레딧입니다.
</ParamField>

<ParamField body="credits.photon" type="number">
  Photon (ZK Compression)에 의해 소비된 크레딧입니다.
</ParamField>

<ParamField body="credits.other" type="number">
  분류되지 않은 사용에 의해 소비된 크레딧입니다.
</ParamField>

<ParamField body="requests" type="object">
  요청 수는 요청 기반 제품에 대해 현재 크레딧 사이클에 대한 것입니다. 대역폭 기준 LaserStream 제품(`laserstreamGrpc`, `laserstreamWebsocket`)은 여기 나타나지 않으며 `dataTransfer`를 참조하십시오. 필드: `rpc`, `enhancedApi`, `walletApi`, `das`, `webhooks`, `preConfirmations`, `archival`, `photon`, `other`.
</ParamField>

<ParamField body="dataTransfer" type="object">
  대역폭 기준 LaserStream 제품에 대한 현재 크레딧 사이클 동안 전송된 바이트수입니다. 이 제품들은 요청 수가 아닌 전송된 데이터로 청구되므로 여기와 `credits`에 나타나지만, `requests`에는 절대 나타나지 않습니다. 필드: `laserstreamGrpc`, `laserstreamWebsocket`.
</ParamField>

## 요청 매개변수

<ParamField body="id" type="string" required>
  사용량을 검색할 프로젝트 ID입니다. API 키와 연결된 프로젝트와 일치해야 합니다.
</ParamField>


## OpenAPI

````yaml ko/openapi/admin-api/getProjectUsage.yaml GET /v0/admin/projects/{id}/usage
openapi: 3.0.3
info:
  title: Helius Admin API
  description: |
    프로젝트 사용량 및 청구 데이터에 대한 프로그래밍 방식으로 접근.

    ## 인증

    모든 요청에는 다음 중 하나의 방식으로 API 키가 필요합니다:
    - 헤더: `X-Api-Key: YOUR_API_KEY`
    - 쿼리 매개 변수: `?api-key=YOUR_API_KEY`
  version: 1.0.0
  contact:
    name: API 지원
    url: https://helius.dev
servers:
  - url: https://admin-api.helius.xyz
    description: 프로덕션 서버
security:
  - ApiKeyQuery: []
  - ApiKeyHeader: []
paths:
  /v0/admin/projects/{id}/usage:
    get:
      tags:
        - Admin
      summary: 프로젝트 사용량 가져오기
      description: >
        현재 크레딧 주기 내에서 프로젝트에 대한 크레딧 사용, 구독 세부 사항 및 서비스별 요청 수를 검색합니다 — 코드
        `creditCycle` 필드에 보고되는 크레딧이 축적되고 초기화되는 기간.


        인증에 사용되는 API 키는 경로에서 지정된 프로젝트에 속해야 합니다. API 키의 프로젝트가 `id` 매개 변수와 일치하지 않는
        요청은 `400` 오류를 반환합니다.
      operationId: getProjectUsage
      parameters:
        - name: id
          in: path
          required: true
          description: 사용량을 검색할 프로젝트 ID입니다. API 키와 연관된 프로젝트와 일치해야 합니다.
          schema:
            type: string
            format: uuid
            example: a1b2c3d4-e5f6-7890-abcd-ef1234567890
      responses:
        '200':
          description: 프로젝트 사용량을 성공적으로 검색했습니다.
          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: 잘못된 요청 — 경로의 프로젝트 ID가 API 키와 연관된 프로젝트와 일치하지 않습니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 400
                message: 유효하지 않은 프로젝트 id
                error: 잘못된 요청
        '401':
          description: 승인되지 않음 — API 키가 누락되었거나 형식이 잘못되었거나 찾을 수 없습니다.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 401
                message: API 키가 누락되었거나 유효하지 않음
                error: 승인되지 않음
        '403':
          description: 금지됨 — 이 프로젝트에 대해 Admin API가 활성화되지 않음.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 403
                message: 이 프로젝트에 대해 관리 API가 활성화되지 않음
                error: 금지됨
        '429':
          description: 요청이 너무 많음 — 초당 5개의 요청 한도 초과.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 429
                message: 'ThrottlerException: 요청이 너무 많음'
                error: 요청이 너무 많음
        '500':
          description: '내부 서버 오류 — 서버측 오류 발생 (예: 누락된 청구 데이터).'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 500
                message: 내부 서버 오류
                error: 내부 서버 오류
components:
  schemas:
    ProjectUsageResponse:
      type: object
      properties:
        creditsRemaining:
          type: number
          description: >-
            현재 크레딧 주기에서 남아 있는 크레딧 수. `creditsLimit - regularCreditsUsed`로 계산되며,
            0으로 내림 됩니다.
          example: 487500
        creditsUsed:
          type: number
          description: 현재 크레딧 주기에서 소모된 총 크레딧 수로, 일반 및 선불 크레딧 모두를 포함합니다.
          example: 12500
        prepaidCreditsRemaining:
          type: number
          description: 남아 있는 선불 크레딧 수.
          example: 50000
        prepaidCreditsUsed:
          type: number
          description: 현재 크레딧 주기에서 소모된 선불 크레딧 수.
          example: 0
        creditCycle:
          type: object
          description: >
            이 응답의 모든 크레딧 수치가 적용되는 기간 — 크레딧이 축적되고 초기화되는 기간으로, 구독의 청구 기준 날짜에서
            도출됩니다. 모든 계획에 대해 항상 존재하며, 청구되지 않는 무료 계획도 포함됩니다.
          properties:
            start:
              type: string
              description: 크레딧 주기 시작 날짜 (`YYYY-MM-DD`, UTC).
              example: '2026-04-01'
            end:
              type: string
              description: 크레딧 주기 종료 날짜 (`YYYY-MM-DD`, UTC).
              example: '2026-05-01'
        subscriptionDetails:
          type: object
          description: 프로젝트의 구독 계획 및 청구 주기에 대한 세부 정보입니다.
          properties:
            billingCycle:
              type: object
              nullable: true
              description: >
                현재 청구 주기의 시작과 종료 날짜입니다. 정보 제공만을 위한 용도이며, 청구되지 않는 무료 계획에서는
                `null`입니다. 유료 계획에서는 일반적으로 `creditCycle`과 일치합니다.
              properties:
                start:
                  type: string
                  description: 청구 주기 시작 날짜.
                  example: '2026-04-01'
                end:
                  type: string
                  description: 청구 주기 종료 날짜.
                  example: '2026-05-01'
            creditsLimit:
              type: number
              description: 플랜에 기반한 현재 크레딧 주기의 총 크레딧 허용량입니다.
              example: 500000
            plan:
              type: string
              description: 구독 계획의 이름.
              example: business
        credits:
          type: object
          description: |
            현재 크레딧 주기 동안 각 제품의 크레딧 소비량을 정수로 나타냅니다.
            모든 제품을 포괄합니다. 값은 원시 상태로 누적되며, 청구와 일치하도록 마지막에 한 번 반올림됩니다.
            따라서 반올림 후 각 제품의 크레딧이 `creditsUsed`와 정확히 일치하지 않을 수 있습니다.
          properties:
            rpc:
              type: number
              description: 표준 Solana RPC에 의해 소비된 크레딧입니다.
              example: 4500
            enhancedApi:
              type: number
              description: 'Enhanced API(예: 파싱된 트랜잭션, 토큰 메타데이터)에 의해 소비된 크레딧입니다.'
              example: 1200
            walletApi:
              type: number
              description: Wallet API에 의해 소비된 크레딧입니다.
              example: 0
            das:
              type: number
              description: DAS(Digital Asset Standard) API에 의해 소비된 크레딧입니다.
              example: 5000
            webhooks:
              type: number
              description: 웹훅에 의해 소비된 크레딧입니다.
              example: 800
            laserstreamGrpc:
              type: number
              description: LaserStream gRPC(대역폭 측정)에 의해 소비된 크레딧입니다.
              example: 1500
            laserstreamWebsocket:
              type: number
              description: LaserStream WebSocket(대역폭 측정)에 의해 소비된 크레딧입니다.
              example: 800
            preConfirmations:
              type: number
              description: Preconfirmations에 의해 소비된 크레딧입니다.
              example: 100
            archival:
              type: number
              description: Archival에 의해 소비된 크레딧입니다.
              example: 0
            photon:
              type: number
              description: Photon(ZK Compression)에 의해 소비된 크레딧입니다.
              example: 0
            other:
              type: number
              description: 분류되지 않은 사용량에 의해 소비된 크레딧입니다.
              example: 0
        requests:
          type: object
          description: >
            현재 크레딧 주기 동안 요청 기반 제품에 대해서만 요청 수를 나타냅니다.

            대역폭 기반 LaserStream 제품(`laserstreamGrpc`, `laserstreamWebsocket`)은 여기
            나타나지 않으며, `dataTransfer`를 참조하세요.
          properties:
            rpc:
              type: number
              description: 표준 Solana RPC 요청 수입니다.
              example: 4500
            enhancedApi:
              type: number
              description: Enhanced API 요청 수입니다.
              example: 1200
            walletApi:
              type: number
              description: Wallet API 요청 수입니다.
              example: 0
            das:
              type: number
              description: DAS(Digital Asset Standard) API 요청 수입니다.
              example: 5000
            webhooks:
              type: number
              description: 웹훅 전달 이벤트 수입니다.
              example: 800
            preConfirmations:
              type: number
              description: Preconfirmations 요청 수입니다.
              example: 50
            archival:
              type: number
              description: Archival RPC 요청 수입니다.
              example: 0
            photon:
              type: number
              description: Photon(ZK Compression) 요청 수입니다.
              example: 0
            other:
              type: number
              description: 분류되지 않은 요청 수입니다.
              example: 0
        dataTransfer:
          type: object
          description: >
            대역폭 기반 LaserStream 제품에 대해서만 현재 크레딧 주기 동안 전송된 바이트 양입니다. 이러한 제품은 요청 수가
            아니라 전송된 데이터로 청구되므로 여기 및 `credits`에 나타나지만 `requests`에는 전혀 나타나지 않습니다.
          properties:
            laserstreamGrpc:
              type: number
              description: LaserStream gRPC를 통해 전송된 바이트 수입니다.
              example: 15000000
            laserstreamWebsocket:
              type: number
              description: LaserStream WebSocket을 통해 전송된 바이트 수입니다.
              example: 8000000
    ErrorResponse:
      type: object
      properties:
        statusCode:
          type: integer
          description: HTTP 상태 코드.
        message:
          type: string
          description: 사람이 읽을 수 있는 오류 메시지입니다.
        error:
          type: string
          description: HTTP 오류 이름.
  securitySchemes:
    ApiKeyQuery:
      type: apiKey
      in: query
      name: api-key
      description: 쿼리 매개 변수로 전달된 API 키입니다.
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-Api-Key
      description: 요청 헤더로 전달된 API 키입니다.

````