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

# Project Statistics

> 
Usage and cost for a single project, bucketed by day or by calendar month over the date range you ask for.

Figures are recomputed every 15 minutes from closed billing records, so the current day stays partial until it ends (UTC) and may still move slightly afterwards.

`startDate` and `endDate` are both inclusive, and days are counted in UTC — a range of `2026-07-01` to `2026-07-31` covers the whole of July.




## OpenAPI

````yaml GET /cs/v1/content_creation/statistics/project
openapi: 3.1.0
info:
  title: DumGum
  version: '2.0'
servers:
  - url: https://api.dumgum.com
security:
  - bearerAuth: []
paths:
  /cs/v1/content_creation/statistics/project:
    get:
      tags:
        - content-creation
      summary: Retrieve project statistics
      description: >

        Usage and cost for a single project, bucketed by day or by calendar
        month over the date range you ask for.


        Figures are recomputed every 15 minutes from closed billing records, so
        the current day stays partial until it ends (UTC) and may still move
        slightly afterwards.


        `startDate` and `endDate` are both inclusive, and days are counted in
        UTC — a range of `2026-07-01` to `2026-07-31` covers the whole of July.
      operationId: content-creation-project-statistics
      parameters:
        - name: projectGid
          in: query
          description: >-
            The project to report on. When you authenticate with an access key,
            this must be the project that key belongs to.
          required: true
          schema:
            type: string
          example: proj_V1StGXR8Z5jdHi6B
        - name: startDate
          in: query
          description: First day to include, as `YYYY-MM-DD` (UTC). Inclusive.
          required: true
          schema:
            type: string
          example: '2026-07-01'
        - name: endDate
          in: query
          description: Last day to include, as `YYYY-MM-DD` (UTC). Inclusive.
          required: true
          schema:
            type: string
          example: '2026-07-31'
        - name: groupBy
          in: query
          description: >-
            Size of each bucket in `rows`: one row per day, or one row per
            calendar month.
          required: false
          schema:
            type: string
            default: DAILY
            enum:
              - DAILY
              - MONTHLY
      responses:
        '200':
          description: OK
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/Statistics'
components:
  schemas:
    Statistics:
      type: object
      description: >

        Usage and cost for a project over the requested range, split into
        buckets plus a grand total.


        Every amount is in your account currency, as a decimal string so no
        precision is lost when you parse it.
      properties:
        rows:
          type: array
          description: >-
            One entry per bucket that recorded activity, most recent first.
            Buckets with no activity at all are omitted.
          items:
            $ref: '#/components/schemas/StatisticsRow'
        total:
          $ref: '#/components/schemas/StatisticsMetrics'
          description: >-
            The same metrics summed over every returned bucket, so you don't
            have to add up `rows` yourself.
      required:
        - rows
        - total
    StatisticsRow:
      type: object
      description: Usage and cost recorded for one bucket of the requested range.
      properties:
        date:
          type: string
          description: >-
            The bucket, as `YYYY-MM-DD`. With `groupBy=MONTHLY` this is the
            first day of that month.
          examples:
            - '2026-07-14'
        metrics:
          $ref: '#/components/schemas/StatisticsMetrics'
      required:
        - date
        - metrics
    StatisticsMetrics:
      type: object
      description: >

        What the project used and what it cost, over one bucket or over the
        whole requested range.


        Counts are integers. Amounts are in your account currency, as plain
        decimal strings (`21.25`, `0.0`) so no precision is lost when you parse
        them.
      properties:
        answerMessageCount:
          type: integer
          format: int64
          description: >-
            How many of your users' messages the answers of this bucket replied
            to.
          examples:
            - '1420'
        answerHumanCount:
          type: integer
          format: int64
          description: Answers written by a human operator, in `HUMAN` reply mode.
          examples:
            - '12'
        answerHumanCost:
          type: string
          description: What those human-written answers cost you.
          examples:
            - '0.3'
        answerAiCount:
          type: integer
          format: int64
          description: Answers generated by the model, in `AI` reply mode.
          examples:
            - '838'
        answerAiCost:
          type: string
          description: What those AI answers cost you.
          examples:
            - '20.95'
        messageDroppedCount:
          type: integer
          format: int64
          description: >-
            Generation requests that ended without a reply — dropped by a
            guardrail, or with nothing to answer. Not billed.
          examples:
            - '7'
        answerActionCount:
          type: integer
          format: int64
          description: >-
            Answers carrying an action rather than a text reply (`ACTION_*`
            types: pokes, picture requests, profile reports, …).
          examples:
            - '23'
        cost:
          type: string
          description: >

            Everything billed on the answers of this bucket — AI and human
            replies, plus any Smart Fetch performed while writing them. This is
            the figure to use for a project's answer spend.


            Photo Analyses and suggestion requests are billed outside of
            answers, so they are **not** part of this amount. They appear here
            as counts (`photoAnalysisCount`, `icebreakerSuggestionCount`,
            `followupSuggestionCount`) — multiply them by your per-unit price to
            get their spend.
          examples:
            - '21.25'
        answerFreeCount:
          type: integer
          format: int64
          description: >-
            Answers that were not billed — mostly the follow-up messages of a
            multi-message reply, which is billed once on the first answer.
          examples:
            - '134'
        photoAnalysisCount:
          type: integer
          format: int64
          description: >-
            Photo Analyses run on pictures your users sent. Billed outside of
            answers — see `cost`.
          examples:
            - '58'
        webSearchCount:
          type: integer
          format: int64
          description: Smart Fetch lookups performed while writing answers.
          examples:
            - '16'
        webSearchCost:
          type: string
          description: What those Smart Fetch lookups cost you. Already included in `cost`.
          examples:
            - '0.8'
        icebreakerSuggestionCount:
          type: integer
          format: int64
          description: >-
            Icebreaker suggestions requested — a suggestion call on a
            conversation with no history. Billed outside of answers.
          examples:
            - '31'
        followupSuggestionCount:
          type: integer
          format: int64
          description: >-
            Follow-up suggestions requested — a suggestion call on a
            conversation that already has messages. Billed outside of answers.
          examples:
            - '44'
      required:
        - answerActionCount
        - answerAiCost
        - answerAiCount
        - answerFreeCount
        - answerHumanCost
        - answerHumanCount
        - answerMessageCount
        - cost
        - followupSuggestionCount
        - icebreakerSuggestionCount
        - messageDroppedCount
        - photoAnalysisCount
        - webSearchCost
        - webSearchCount
  securitySchemes:
    bearerAuth:
      type: http
      description: >-
        Bearer authentication header of the form `Bearer <token>`, where
        `<token>` is an access key.


        Example: `Authorization: Bearer sk-proj-XXXXXXXXX`
      scheme: bearer
      bearerFormat: JWT | Access Key

````