> ## 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` — это период выставления счетов; он приводится только для информации и имеет значение `null` для бесплатных планов, по которым счета никогда не выставляются.

## Параметры запроса

<ParamField path="id" type="string" required>
  Идентификатор проекта, для которого нужно получить данные об использовании. Должен совпадать с проектом, связанным с API-ключом, который используется для аутентификации.
</ParamField>

## Поля ответа

<ParamField body="creditsRemaining" type="number">
  Количество кредитов, оставшихся в текущем кредитном цикле. Рассчитывается как лимит кредитов плана за вычетом израсходованных обычных кредитов, но не может быть меньше нуля.
</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">
  Даты начала и окончания текущего цикла выставления счетов. Приводятся только для информации. Для бесплатных планов, по которым счета никогда не выставляются, значение равно `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">
  Кредиты, израсходованные API DAS (Digital Asset Standard).
</ParamField>

<ParamField body="credits.webhooks" type="number">
  Кредиты, израсходованные вебхуками.
</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">
  Кредиты, израсходованные Preconfirmations.
</ParamField>

<ParamField body="credits.archival" type="number">
  Кредиты, израсходованные Archival.
</ParamField>

<ParamField body="credits.photon" type="number">
  Кредиты, израсходованные Photon (ZK-сжатие).
</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>
  Идентификатор проекта, для которого нужно получить данные об использовании. Должен совпадать с проектом, связанным с API-ключом.
</ParamField>


## OpenAPI

````yaml ru/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:
        - Администрирование
      summary: Получение данных об использовании проекта
      description: >
        Получите данные об использовании кредитов, сведения о подписке и
        количество запросов к каждому сервису для проекта в пределах текущего
        кредитного цикла — периода накопления и сброса кредитов, указанного в
        поле `creditCycle`.


        Ключ API, используемый для аутентификации, должен принадлежать проекту,
        указанному в пути. Если проект ключа API не соответствует параметру
        `id`, запрос вернет ошибку `400`.
      operationId: getProjectUsage
      parameters:
        - name: id
          in: path
          required: true
          description: >-
            Идентификатор проекта, для которого необходимо получить данные об
            использовании. Должен соответствовать проекту, связанному с ключом
            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: >-
            Некорректный запрос — идентификатор проекта в пути не соответствует
            проекту, связанному с ключом API.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 400
                message: Invalid project id
                error: Bad Request
        '401':
          description: >-
            Не авторизовано — ключ API отсутствует, имеет неверный формат или не
            найден.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 401
                message: Missing or invalid API key
                error: Unauthorized
        '403':
          description: Доступ запрещен — Admin API не включен для этого проекта.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 403
                message: Admin API not enabled for this project
                error: Forbidden
        '429':
          description: >-
            Слишком много запросов — превышено ограничение в 5 запросов в
            секунду.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
              example:
                statusCode: 429
                message: 'ThrottlerException: Too Many Requests'
                error: Too Many Requests
        '500':
          description: >-
            Внутренняя ошибка сервера — произошла ошибка на стороне сервера
            (например, отсутствуют данные для выставления счетов).
          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: >-
            Количество кредитов, оставшихся в текущем кредитном цикле.
            Рассчитывается как `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: Кредиты, израсходованные API DAS (Digital Asset Standard).
              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: Кредиты, израсходованные архивным сервисом.
              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: Количество запросов API DAS (Digital Asset Standard).
              example: 5000
            webhooks:
              type: number
              description: Количество событий доставки вебхуков.
              example: 800
            preConfirmations:
              type: number
              description: Количество запросов Preconfirmations.
              example: 50
            archival:
              type: number
              description: Количество архивных запросов 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, переданный в заголовке запроса.

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.