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

# List campaigns

> List active campaigns. Paginated. Non-active campaigns are not returned.



## OpenAPI

````yaml https://www.donate.gg/api/v1/openapi get /campaigns
openapi: 3.0.0
info:
  title: Donate Developer API
  version: 1.0.0
  description: >-
    Public JSON API for charities, configs, campaigns, tokens, and related
    catalog reads. GET/HEAD catalog routes may omit `donate-api-key` and are IP
    rate-limited for anonymous callers (~20 req/min). Authenticated keys share
    one organization billing-tier bucket. Create/list/delete configs and project
    analytics require an API key. Spec routes (`/openapi`, `/postman`) are
    unauthenticated and unmetered.
servers:
  - url: /api/v1
    description: API v1 base path (relative to your dashboard origin)
security: []
paths:
  /campaigns:
    get:
      summary: List campaigns
      description: List active campaigns. Paginated. Non-active campaigns are not returned.
      parameters:
        - schema:
            type: integer
            minimum: 1
            maximum: 200
            description: Page size (min 1, max 200)
          required: false
          description: Page size (min 1, max 200)
          name: limit
          in: query
        - schema:
            type: string
            description: Cursor for next page (from previous pageKey)
          required: false
          description: Cursor for next page (from previous pageKey)
          name: cursor
          in: query
        - schema:
            type: string
            enum:
              - newest
              - oldest
              - total
          required: false
          name: orderMode
          in: query
        - schema:
            type: string
            minLength: 1
            maxLength: 200
          required: false
          name: categorySlug
          in: query
        - schema:
            type: string
            minLength: 1
            description: >-
              Optional. Omit for the anonymous IP budget (~20 req/min). Keys
              share their organization billing-tier limit.
          required: false
          description: >-
            Optional. Omit for the anonymous IP budget (~20 req/min). Keys share
            their organization billing-tier limit.
          name: donate-api-key
          in: header
      responses:
        '200':
          description: Paginated list of active campaigns with stats.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: Maximum requests allowed in the current window.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: integer
              description: Unix epoch seconds when the current window resets.
          content:
            application/json:
              schema:
                type: object
                properties:
                  pageKey:
                    type: string
                    nullable: true
                  response:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        slug:
                          type: string
                        title:
                          type: string
                        story:
                          type: string
                        goalUsdAmount:
                          type: number
                        status:
                          type: string
                          enum:
                            - active
                            - pending
                            - completed
                            - cancelled
                            - deactivated
                        creatorUser:
                          type: object
                          properties:
                            id:
                              type: string
                            username:
                              type: string
                            firstName:
                              type: string
                              nullable: true
                            lastName:
                              type: string
                              nullable: true
                            avatar:
                              type: string
                              nullable: true
                            twitter:
                              type: object
                              nullable: true
                              properties:
                                accountId:
                                  type: string
                                username:
                                  type: string
                                displayName:
                                  type: string
                                avatar:
                                  type: string
                                description:
                                  type: string
                                  nullable: true
                              required:
                                - accountId
                                - username
                                - displayName
                                - avatar
                                - description
                              additionalProperties: false
                            twitch:
                              type: object
                              nullable: true
                              properties:
                                accountId:
                                  type: string
                                username:
                                  type: string
                                displayName:
                                  type: string
                                avatar:
                                  type: string
                                description:
                                  type: string
                                  nullable: true
                              required:
                                - accountId
                                - username
                                - displayName
                                - avatar
                                - description
                              additionalProperties: false
                            configId:
                              type: string
                            createdAt:
                              type: string
                            updatedAt:
                              type: string
                          required:
                            - id
                            - username
                            - firstName
                            - lastName
                            - avatar
                            - twitter
                            - twitch
                            - configId
                            - createdAt
                            - updatedAt
                          additionalProperties: false
                        categoryId:
                          type: string
                        configId:
                          type: string
                        createdAt:
                          type: string
                        updatedAt:
                          type: string
                        config:
                          type: object
                          properties:
                            id:
                              type: string
                            feeBps:
                              type: string
                            developerProjectId:
                              type: string
                            createdAt:
                              type: string
                            updatedAt:
                              type: string
                            supportedChains:
                              type: array
                              items:
                                type: object
                                properties:
                                  id:
                                    type: number
                                  name:
                                    type: string
                                  type:
                                    type: string
                                    enum:
                                      - bitcoin
                                      - evm
                                      - solana
                                required:
                                  - id
                                  - name
                                  - type
                                additionalProperties: false
                            userBeneficiaries:
                              type: array
                              items:
                                type: object
                                properties:
                                  user:
                                    type: object
                                    properties:
                                      id:
                                        type: string
                                      username:
                                        type: string
                                      firstName:
                                        type: string
                                        nullable: true
                                      lastName:
                                        type: string
                                        nullable: true
                                      avatar:
                                        type: string
                                        nullable: true
                                      twitter:
                                        type: object
                                        nullable: true
                                        properties:
                                          accountId:
                                            type: string
                                          username:
                                            type: string
                                          displayName:
                                            type: string
                                          avatar:
                                            type: string
                                          description:
                                            type: string
                                            nullable: true
                                        required:
                                          - accountId
                                          - username
                                          - displayName
                                          - avatar
                                          - description
                                        additionalProperties: false
                                      twitch:
                                        type: object
                                        nullable: true
                                        properties:
                                          accountId:
                                            type: string
                                          username:
                                            type: string
                                          displayName:
                                            type: string
                                          avatar:
                                            type: string
                                          description:
                                            type: string
                                            nullable: true
                                        required:
                                          - accountId
                                          - username
                                          - displayName
                                          - avatar
                                          - description
                                        additionalProperties: false
                                      configId:
                                        type: string
                                      createdAt:
                                        type: string
                                      updatedAt:
                                        type: string
                                    required:
                                      - id
                                      - username
                                      - firstName
                                      - lastName
                                      - avatar
                                      - twitter
                                      - twitch
                                      - configId
                                      - createdAt
                                      - updatedAt
                                    additionalProperties: false
                                  weight:
                                    type: string
                                required:
                                  - user
                                  - weight
                                additionalProperties: false
                            charityBeneficiaries:
                              type: array
                              items:
                                type: object
                                properties:
                                  charity:
                                    type: object
                                    properties:
                                      id:
                                        type: string
                                      name:
                                        type: string
                                      slug:
                                        type: string
                                      logo:
                                        type: string
                                      website:
                                        type: string
                                      mission:
                                        type: string
                                      address:
                                        type: string
                                      city:
                                        type: string
                                      state:
                                        type: string
                                      country:
                                        type: string
                                        enum:
                                          - US
                                          - UK
                                          - CA
                                          - DE
                                          - ES
                                          - FR
                                          - IE
                                          - IT
                                          - NL
                                          - PT
                                          - AR
                                          - BR
                                          - CL
                                          - CO
                                          - PE
                                          - LEGACY
                                      zipCode:
                                        type: string
                                      taxId:
                                        type: string
                                      status:
                                        type: string
                                        enum:
                                          - ACTIVE_ONBOARDED
                                          - ACTIVE_NOT_ONBOARDED
                                          - SOFT_HIDDEN
                                          - PLATFORM_DISABLED
                                          - OPTED_OUT
                                      configId:
                                        type: string
                                      socials:
                                        type: object
                                        properties:
                                          blogUrl:
                                            type: string
                                            nullable: true
                                          twitterUrl:
                                            type: string
                                            nullable: true
                                          twitterHandle:
                                            type: string
                                            nullable: true
                                          facebookUrl:
                                            type: string
                                            nullable: true
                                          facebookHandle:
                                            type: string
                                            nullable: true
                                          instagramUrl:
                                            type: string
                                            nullable: true
                                          instagramHandle:
                                            type: string
                                            nullable: true
                                          linkedinUrl:
                                            type: string
                                            nullable: true
                                          linkedinHandle:
                                            type: string
                                            nullable: true
                                          youtubeUrl:
                                            type: string
                                            nullable: true
                                          youtubeHandle:
                                            type: string
                                            nullable: true
                                          youtubeChannelId:
                                            type: string
                                            nullable: true
                                        required:
                                          - blogUrl
                                          - twitterUrl
                                          - twitterHandle
                                          - facebookUrl
                                          - facebookHandle
                                          - instagramUrl
                                          - instagramHandle
                                          - linkedinUrl
                                          - linkedinHandle
                                          - youtubeUrl
                                          - youtubeHandle
                                          - youtubeChannelId
                                        additionalProperties: false
                                      createdAt:
                                        type: string
                                      updatedAt:
                                        type: string
                                    required:
                                      - id
                                      - name
                                      - slug
                                      - logo
                                      - website
                                      - mission
                                      - address
                                      - city
                                      - state
                                      - country
                                      - zipCode
                                      - taxId
                                      - status
                                      - configId
                                      - socials
                                      - createdAt
                                      - updatedAt
                                    additionalProperties: false
                                  weight:
                                    type: string
                                required:
                                  - charity
                                  - weight
                                additionalProperties: false
                          required:
                            - id
                            - feeBps
                            - developerProjectId
                            - createdAt
                            - updatedAt
                            - supportedChains
                            - userBeneficiaries
                            - charityBeneficiaries
                          additionalProperties: false
                        category:
                          type: object
                          properties:
                            id:
                              type: string
                            name:
                              type: string
                            slug:
                              type: string
                            imageUrl:
                              type: string
                              nullable: true
                            isHot:
                              type: boolean
                            createdAt:
                              type: string
                            updatedAt:
                              type: string
                          required:
                            - id
                            - name
                            - slug
                            - imageUrl
                            - isHot
                            - createdAt
                            - updatedAt
                          additionalProperties: false
                        media:
                          type: array
                          items:
                            type: object
                            properties:
                              id:
                                type: string
                              filename:
                                type: string
                              url:
                                type: string
                              size:
                                type: number
                              mediaType:
                                type: string
                                enum:
                                  - image
                                  - video
                                  - audio
                                  - document
                                  - youtube
                                  - other
                              mimeType:
                                type: string
                              originalMimeType:
                                type: string
                                nullable: true
                              userId:
                                type: string
                              createdAt:
                                type: string
                              updatedAt:
                                type: string
                            required:
                              - id
                              - filename
                              - url
                              - size
                              - mediaType
                              - mimeType
                              - originalMimeType
                              - userId
                              - createdAt
                              - updatedAt
                            additionalProperties: false
                        stats:
                          type: object
                          properties:
                            pendingUsdE6:
                              type: string
                            finalizedUsdE6:
                              type: string
                            displayedUsdE6:
                              type: string
                            pendingCount:
                              type: integer
                            finalizedCount:
                              type: integer
                            donationCount:
                              type: integer
                            firstDonationAt:
                              type: string
                              nullable: true
                            lastDonationAt:
                              type: string
                              nullable: true
                          required:
                            - pendingUsdE6
                            - finalizedUsdE6
                            - displayedUsdE6
                            - pendingCount
                            - finalizedCount
                            - donationCount
                            - firstDonationAt
                            - lastDonationAt
                          additionalProperties: false
                      required:
                        - id
                        - slug
                        - title
                        - story
                        - goalUsdAmount
                        - status
                        - creatorUser
                        - categoryId
                        - configId
                        - createdAt
                        - updatedAt
                        - config
                        - category
                        - media
                        - stats
                      additionalProperties: false
                required:
                  - pageKey
                  - response
                additionalProperties: false
        '400':
          description: Validation error.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: Maximum requests allowed in the current window.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: integer
              description: Unix epoch seconds when the current window resets.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
                required:
                  - error
                  - code
                additionalProperties: false
        '429':
          description: >-
            Rate limit exceeded. Retry after the period indicated by the
            Retry-After header.
          headers:
            X-RateLimit-Limit:
              schema:
                type: integer
              description: Maximum requests allowed in the current window.
            X-RateLimit-Remaining:
              schema:
                type: integer
              description: Requests remaining in the current window.
            X-RateLimit-Reset:
              schema:
                type: integer
              description: Unix epoch seconds when the current window resets.
            Retry-After:
              schema:
                type: integer
              description: Seconds until the client should retry.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                  code:
                    type: string
                required:
                  - error
                  - code
                additionalProperties: false
      security:
        - {}
        - ApiKeyAuth: []
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: donate-api-key
      description: >-
        Developer API key. Required for config create/list/delete and project
        analytics. Optional on public GET reads (anonymous callers are IP
        rate-limited). Obtain from the Developer dashboard.

````