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

# List per-creator-per-day earnings across all agency creators

> Returns a single paginated stream of per-creator-per-day earnings rows across every creator the authenticated agency manages, sorted by most recent day first. Each row is bucketed by `paid_at` (UTC) and tagged with `creatorUuid` so consumers can group results without an additional join.

Only PAID earning invoices that count towards creator insights are included. Each `gross`/`net` figure is the sum of the day's invoices in USD cents (`currency` is always `"USD"`), so totals reconcile with the USD figure shown on the dashboard.
<Info>Requires: Agency admin access</Info>

<Info>
  **Required scopes**

  * `read:agency` — Read agency information, including the agency's team members.
  * `read:creator` — Access creator profiles, content, and creator-specific information.
</Info>


## OpenAPI

````yaml /openapi.json get /agencies/earnings
openapi: 3.1.0
info:
  title: Fanvue API
  version: '0.1'
servers: []
security: []
paths:
  /agencies/earnings:
    get:
      summary: List per-creator-per-day earnings across all agency creators
      description: >-
        Returns a single paginated stream of per-creator-per-day earnings rows
        across every creator the authenticated agency manages, sorted by most
        recent day first. Each row is bucketed by `paid_at` (UTC) and tagged
        with `creatorUuid` so consumers can group results without an additional
        join.


        Only PAID earning invoices that count towards creator insights are
        included. Each `gross`/`net` figure is the sum of the day's invoices in
        USD cents (`currency` is always `"USD"`), so totals reconcile with the
        USD figure shown on the dashboard.

        <Info>Requires: Agency admin access</Info>
      operationId: listAgencyEarningsByDay
      parameters:
        - $ref: '#/components/parameters/ApiVersionHeader'
        - schema:
            type: number
            minimum: 1
            default: 1
            description: Page number to retrieve (starts from 1)
          required: false
          description: Page number to retrieve (starts from 1)
          name: page
          in: query
        - schema:
            type: number
            minimum: 1
            maximum: 50
            default: 15
            description: 'Number of items to return per page (1-50, default: 15)'
          required: false
          description: 'Number of items to return per page (1-50, default: 15)'
          name: size
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              Start of the date range (inclusive). UTC ISO 8601 datetime with
              offset.
          required: true
          description: >-
            Start of the date range (inclusive). UTC ISO 8601 datetime with
            offset.
          name: startDate
          in: query
        - schema:
            type: string
            format: date-time
            description: >-
              End of the date range (exclusive). UTC ISO 8601 datetime with
              offset.
          required: true
          description: >-
            End of the date range (exclusive). UTC ISO 8601 datetime with
            offset.
          name: endDate
          in: query
        - schema:
            type: array
            items:
              type: string
              format: uuid
            maxItems: 50
            description: Comma-separated list of creator UUIDs (max 50)
          required: false
          description: >-
            Comma-separated list of creator UUIDs to restrict results to a
            subset of the agency's managed creators (max 50)
          name: creatorUuids
          in: query
          style: form
          explode: false
      responses:
        '200':
          description: >-
            Paginated list of per-creator-per-day earnings across the agency's
            creators
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        creatorUuid:
                          type: string
                          format: uuid
                          description: >-
                            UUID of the agency-managed creator the earnings row
                            belongs to
                        date:
                          type: string
                          format: date
                          description: >-
                            UTC calendar day the earnings were bucketed on
                            (YYYY-MM-DD)
                        gross:
                          type: integer
                          description: >-
                            Total gross earnings for the creator on this day, in
                            USD cents
                        net:
                          type: integer
                          description: >-
                            Total creator-net earnings (after platform fees) for
                            the creator on this day, in USD cents
                        currency:
                          type: string
                          enum:
                            - USD
                          description: >-
                            Always 'USD'. Earnings are summed in USD across all
                            of the day's invoices regardless of the local
                            currency the fan originally paid in, so the figure
                            reconciles with the USD dashboard total.
                      required:
                        - creatorUuid
                        - date
                        - gross
                        - net
                        - currency
                    description: >-
                      Array of per-creator-per-day earnings rows across the
                      agency's creators
                  pagination:
                    type: object
                    properties:
                      page:
                        type: number
                        description: Current page number
                      size:
                        type: number
                        description: Number of records returned in this response
                      hasMore:
                        type: boolean
                        description: >-
                          Whether there are more items available on subsequent
                          pages
                    required:
                      - page
                      - size
                      - hasMore
                    description: Pagination information
                required:
                  - data
                  - pagination
              example:
                data:
                  - creatorUuid: c3d4e5f6-7g8h-9i0j-1k2l-m3n4o5p6q7r8
                    date: '2024-01-15'
                    gross: 15000
                    net: 12750
                    currency: USD
                  - creatorUuid: c3d4e5f6-7g8h-9i0j-1k2l-m3n4o5p6q7r9
                    date: '2024-01-14'
                    gross: 8500
                    net: 7225
                    currency: USD
                pagination:
                  page: 1
                  size: 2
                  hasMore: true
        '400':
          description: >-
            Bad Request - API version not supported OR validation failed (dates,
            sources, cursor, pagination)
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/UnsupportedVersionError'
                  - $ref: '#/components/schemas/ValidationError'
        '401':
          $ref: '#/components/responses/UnauthorizedResponse'
        '403':
          $ref: '#/components/responses/UnauthorizedResponse'
        '410':
          $ref: '#/components/responses/SunsetVersionResponse'
        '429':
          $ref: '#/components/responses/RateLimitResponse'
      security:
        - BearerAuth:
            - read:agency
            - read:creator
components:
  parameters:
    ApiVersionHeader:
      name: X-Fanvue-API-Version
      in: header
      required: true
      schema:
        type: string
        default: '2025-06-26'
        example: '2025-06-26'
      description: API version to use for the request
  schemas:
    UnsupportedVersionError:
      type: object
      properties:
        error:
          type: string
        message:
          type: string
      required:
        - error
        - message
      description: API version not supported
    ValidationError:
      type: object
      properties:
        errors:
          type: array
          items:
            type: string
      required:
        - errors
      description: Request validation failed
  responses:
    UnauthorizedResponse:
      description: Unauthorized Response
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
            required:
              - error
    SunsetVersionResponse:
      description: API version no longer supported (sunset)
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
              message:
                type: string
              nextVersion:
                type: string
            required:
              - error
              - message
    RateLimitResponse:
      description: Too many requests - rate limit exceeded
      headers:
        Retry-After:
          description: Number of seconds to wait before retrying the request
          schema:
            type: integer
        X-RateLimit-Limit:
          description: The maximum number of requests allowed in the current window
          schema:
            type: integer
        X-RateLimit-Remaining:
          description: The number of requests remaining in the current window
          schema:
            type: integer
        X-RateLimit-Reset:
          description: The Unix timestamp (seconds) when the rate limit window resets
          schema:
            type: integer
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: string
            required:
              - error
  securitySchemes:
    BearerAuth:
      type: oauth2
      description: >-
        OAuth 2.0 access token, presented as a JWT bearer token in the
        `Authorization` header. Obtain a token via the authorization-code flow;
        the scopes granted to the token determine which operations it may call.
      flows:
        authorizationCode:
          authorizationUrl: https://auth.fanvue.com/oauth2/auth
          tokenUrl: https://auth.fanvue.com/oauth2/token
          refreshUrl: https://auth.fanvue.com/oauth2/token
          scopes:
            read:self: >-
              Access your own user profile information, including basic account
              details and settings.
            read:chat: >-
              Read chat conversations, messages, and chat-related data. This
              includes viewing chat lists and message history.
            write:chat: >-
              Create new chats and send messages. This scope is required for any
              chat-related actions that modify data.
            read:experience: >-
              Exchange a fan's experience token for the resolved experience and
              the fan's identity, so an embedded fan-facing experience can
              render the right content.
            write:experience: >-
              Request that the creator publish or unpublish a fan-facing
              experience. The app mints a request token; the creator confirms
              and Fanvue performs the change.
            read:fan: Access fan-related data and information within the platform.
            read:post: Read posts, including post details, comments, likes, and tips.
            write:post: Create, edit, and manage posts and content on behalf of users.
            read:media: Access media files, images, videos, and other content assets.
            write:media: >-
              Upload, modify, and manage media files and content assets. Also
              required for vault folder management.
            read:creator: >-
              Access creator profiles, content, and creator-specific
              information.
            write:creator: Modify creator profiles, settings, and creator-specific data.
            read:insights: >-
              Access analytics, metrics, and insights data for performance
              tracking.
            read:tracking_links: >-
              Read tracking links and the users associated with them, including
              per-user tracking metadata.
            write:tracking_links: Create and delete tracking links.
            read:agency: Read agency information, including the agency's team members.
            write:agency: >-
              Manage agency team members and invites, including inviting new
              team members and creators.

````