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

# Report creator spend per program

> Creator money for each visible program, using the same definition as the campaign pages in the dashboard.

`spend` is money sent to creators through Launchpoint (`paid`), money the brand paid creators directly (`paidOffPlatform`), and money still held for creators (`awaiting` is past its pay date, `tracking` is still inside its view window). Every field is returned in dollars and in cents.

This is different from `GET /payouts`, which lists money that left your own wallet. For an agency, a linked brand's wallet can fund the same creators, so summing the wallet ledger by program understates what creators earned. Use this endpoint for per-program spend reports.

`fromDate` and `toDate` pick posts by their publish day, the same rule as the dashboard date picker, not the day money moved. Rows are sorted by spend, and `summary` sums every program in the report, not only the current page.




## OpenAPI

````yaml /api-reference/openapi.json get /payouts/spend
openapi: 3.0.4
info:
  title: Launchpoint Public API
  version: 1.0.0
  description: >-
    **Private preview.** The Launchpoint Public API is in private preview and
    available only to trusted partners we work with directly. Access is not
    self-serve. Email hi@launchpointhq.com to ask about access.


    REST API for Launchpoint brands and agencies. Use an API key in the
    `x-api-key` header to authenticate.


    ## Requirements

    - Public API access must be enabled for the company. During private preview,
    access is limited to trusted partners.

    - Create and manage API keys in Dashboard → Settings → Developer.


    ## Creator privacy

    - Responses never include creator email addresses. Creator phone numbers are
    null when no number is stored or the workspace does not have access to
    creator contact details.


    ## Rate limits

    - Default: **100 requests per minute** per API key.

    - Approved partner accounts: **400 requests per minute**.

    - Every response includes `X-RateLimit-Limit`, `X-RateLimit-Remaining`, and
    `X-RateLimit-Reset`. Requests over the limit return `429`.


    ## Errors

    - Errors use `{ "error": "<message>" }` with the matching HTTP status. Some
    endpoints also include a `code`.


    ## Timestamps

    - Timestamps are Unix timestamps in milliseconds unless a field says
    otherwise.


    ## Pagination

    - Most list endpoints accept `page` and `limit` and return `{ data, page,
    total }`. Some also return `totalPages`.

    - `scope=company` is the default. A parent agency key can pass
    `scope=agency` on supported routes to include its own data and linked
    brands.
servers:
  - url: https://dashboard.launchpointhq.com/api/v1
    description: Live API server
security:
  - apiKeyAuth: []
tags:
  - name: Deals
    description: Public creator opportunities across Launchpoint
  - name: Programs
    description: Programs and campaign management
  - name: Posts
    description: Posts and social content
  - name: Analytics
    description: KPIs and performance metrics
  - name: Payouts
    description: Payouts, balances, and pending creator funds
  - name: Contracts
    description: Contracts and creator agreements
  - name: Creators
    description: Creator profiles and metrics
  - name: Applications
    description: Creator applications to Canvas programs
  - name: Messages
    description: Read and send creator messages
paths:
  /payouts/spend:
    get:
      tags:
        - Payouts
      summary: Report creator spend per program
      description: >
        Creator money for each visible program, using the same definition as the
        campaign pages in the dashboard.


        `spend` is money sent to creators through Launchpoint (`paid`), money
        the brand paid creators directly (`paidOffPlatform`), and money still
        held for creators (`awaiting` is past its pay date, `tracking` is still
        inside its view window). Every field is returned in dollars and in
        cents.


        This is different from `GET /payouts`, which lists money that left your
        own wallet. For an agency, a linked brand's wallet can fund the same
        creators, so summing the wallet ledger by program understates what
        creators earned. Use this endpoint for per-program spend reports.


        `fromDate` and `toDate` pick posts by their publish day, the same rule
        as the dashboard date picker, not the day money moved. Rows are sorted
        by spend, and `summary` sums every program in the report, not only the
        current page.
      parameters:
        - $ref: '#/components/parameters/ScopeParam'
        - in: query
          name: page
          schema:
            type: integer
            minimum: 1
            default: 1
          description: Pagination page number
        - in: query
          name: limit
          schema:
            type: integer
            minimum: 1
            maximum: 100
            default: 25
          description: Programs to return per page
        - in: query
          name: programId
          schema:
            type: string
            format: uuid
          description: Narrow the report to one program
        - in: query
          name: fromDate
          schema:
            type: string
            format: date
          description: Count posts published on or after this day (YYYY-MM-DD)
        - in: query
          name: toDate
          schema:
            type: string
            format: date
          description: Count posts published on or before this day (YYYY-MM-DD)
      responses:
        '200':
          description: Program spend returned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    type: array
                    items:
                      type: object
                      properties:
                        programId:
                          type: string
                        programName:
                          type: string
                        status:
                          type: string
                          enum:
                            - draft
                            - active
                            - paused
                            - completed
                            - archived
                        currency:
                          type: string
                          enum:
                            - usd
                        spend:
                          type: number
                          description: >-
                            paid + paidOffPlatform + awaiting + tracking, in
                            dollars
                        spendCents:
                          type: integer
                          description: >-
                            paid + paidOffPlatform + awaiting + tracking, in
                            cents
                        paid:
                          type: number
                          description: >-
                            Money sent to creators through Launchpoint, in
                            dollars
                        paidCents:
                          type: integer
                          description: Money sent to creators through Launchpoint, in cents
                        paidOffPlatform:
                          type: number
                          description: >-
                            Money the brand paid creators directly, outside
                            Launchpoint, in dollars
                        paidOffPlatformCents:
                          type: integer
                          description: >-
                            Money the brand paid creators directly, outside
                            Launchpoint, in cents
                        awaiting:
                          type: number
                          description: >-
                            Money held for creators that is past its pay date,
                            in dollars
                        awaitingCents:
                          type: integer
                          description: >-
                            Money held for creators that is past its pay date,
                            in cents
                        tracking:
                          type: number
                          description: >-
                            Money held for creators that is still inside its
                            view-tracking window, in dollars
                        trackingCents:
                          type: integer
                          description: >-
                            Money held for creators that is still inside its
                            view-tracking window, in cents
                  page:
                    type: integer
                  limit:
                    type: integer
                  total:
                    type: integer
                  totalPages:
                    type: integer
                  fromDate:
                    type: string
                    nullable: true
                  toDate:
                    type: string
                    nullable: true
                  summary:
                    type: object
                    properties:
                      programCount:
                        type: integer
                        description: Programs in the whole report, not only this page
                      currency:
                        type: string
                        enum:
                          - usd
                      spend:
                        type: number
                        description: >-
                          paid + paidOffPlatform + awaiting + tracking, in
                          dollars
                      spendCents:
                        type: integer
                        description: paid + paidOffPlatform + awaiting + tracking, in cents
                      paid:
                        type: number
                        description: Money sent to creators through Launchpoint, in dollars
                      paidCents:
                        type: integer
                        description: Money sent to creators through Launchpoint, in cents
                      paidOffPlatform:
                        type: number
                        description: >-
                          Money the brand paid creators directly, outside
                          Launchpoint, in dollars
                      paidOffPlatformCents:
                        type: integer
                        description: >-
                          Money the brand paid creators directly, outside
                          Launchpoint, in cents
                      awaiting:
                        type: number
                        description: >-
                          Money held for creators that is past its pay date, in
                          dollars
                      awaitingCents:
                        type: integer
                        description: >-
                          Money held for creators that is past its pay date, in
                          cents
                      tracking:
                        type: number
                        description: >-
                          Money held for creators that is still inside its
                          view-tracking window, in dollars
                      trackingCents:
                        type: integer
                        description: >-
                          Money held for creators that is still inside its
                          view-tracking window, in cents
        '400':
          description: Invalid filters, such as fromDate after toDate
        '401':
          description: API key is invalid or missing
        '429':
          description: Request rate limit exceeded
        '500':
          description: Server error
components:
  parameters:
    ScopeParam:
      in: query
      name: scope
      required: false
      schema:
        type: string
        enum:
          - company
          - agency
        default: company
      description: >-
        Choose the data scope. `company` (default) limits results to the API key
        company's data. `agency` includes the parent agency and its linked
        brands. `scope=agency` requires a parent agency key; other keys receive
        `403`.
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key
      description: API key created in Dashboard → Settings → Developer

````