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

# GetGivingSummary

> GetGivingSummary retrieves published-claim platform projections, a verified
 tracked-platform annualized flow estimate, and claim-level provenance.
 Compatibility index/trend fields are explicitly marked unavailable.
 Empty/absent summary with fetched_at=0 or data_available=false means the
 snapshot is unavailable/degraded, not that giving activity is zero.



## OpenAPI

````yaml /api/GivingService.openapi.yaml get /api/giving/v1/get-giving-summary
openapi: 3.1.0
info:
  title: GivingService API
  version: 1.0.0
servers:
  - url: https://api.worldmonitor.app
security:
  - WorldMonitorKey: []
  - ApiKeyHeader: []
paths:
  /api/giving/v1/get-giving-summary:
    get:
      tags:
        - GivingService
      summary: GetGivingSummary
      description: >-
        GetGivingSummary retrieves published-claim platform projections, a
        verified
         tracked-platform annualized flow estimate, and claim-level provenance.
         Compatibility index/trend fields are explicitly marked unavailable.
         Empty/absent summary with fetched_at=0 or data_available=false means the
         snapshot is unavailable/degraded, not that giving activity is zero.
      operationId: GetGivingSummary
      parameters:
        - name: platform_limit
          in: query
          description: >-
            Number of platform rows to return (0 = all). Aggregates and
            provenance
             continue to describe the full snapshot.
          required: false
          example: 25
          schema:
            type: integer
            format: int32
        - name: category_limit
          in: query
          description: >-
            Number of category rows to return (0 = all). Aggregates and
            provenance
             continue to describe the full snapshot.
          required: false
          example: 25
          schema:
            type: integer
            format: int32
        - name: jmespath
          in: query
          description: >-
            Optional JMESPath expression applied server-side to project or
            reduce the JSON response before it is returned (mirrors the MCP
            jmespath argument). Invalid expressions, expressions larger than
            1024 UTF-8 bytes, or projections that exceed the 256 KB output cap
            return HTTP 400 with a {_jmespath_error, original_keys} envelope.
            Grammar and worked examples:
            https://www.worldmonitor.app/docs/mcp-jmespath.
          required: false
          example: keys(@)
          schema:
            type: string
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              example:
                dataAvailable: true
                fetchedAt: 1784894400000
                summary:
                  activityIndex: 0
                  activityIndexAvailable: false
                  categories:
                    - activeCampaigns: 0
                      category: Medical & Health
                      change24h: 0
                      share: 0
                      trending: false
                    - activeCampaigns: 0
                      category: Disaster Relief
                      change24h: 0
                      share: 0
                      trending: false
                    - activeCampaigns: 0
                      category: Education
                      change24h: 0
                      share: 0
                      trending: false
                    - activeCampaigns: 0
                      category: Community
                      change24h: 0
                      share: 0
                      trending: false
                    - activeCampaigns: 0
                      category: Memorials
                      change24h: 0
                      share: 0
                      trending: false
                    - activeCampaigns: 0
                      category: Animals & Pets
                      change24h: 0
                      share: 0
                      trending: false
                    - activeCampaigns: 0
                      category: Environment
                      change24h: 0
                      share: 0
                      trending: false
                    - activeCampaigns: 0
                      category: Hunger & Food
                      change24h: 0
                      share: 0
                      trending: false
                    - activeCampaigns: 0
                      category: Other
                      change24h: 0
                      share: 0
                      trending: false
                  crypto:
                    dailyInflowUsd: 0
                    pctOfTotal: 0
                    topReceivers: []
                    trackedWallets: 0
                    transactions24h: 0
                  dataMode: partial_estimate
                  estimatedDailyFlowUsd: 7353424.657534246
                  generatedAt: '2026-07-24T12:00:00.000Z'
                  institutional:
                    cafDataYear: 0
                    cafWorldGivingIndex: 0
                    candidGrantsTracked: 3000000
                    dataLag: Annual published context
                    oecdDataYear: 2023
                    oecdOdaAnnualUsdBn: 223.7
                  platforms:
                    - dailyVolumeUsd: 7123287.671232876
                      dataFreshness: annual
                      lastUpdated: ''
                      platform: GoFundMe
                    - dailyVolumeUsd: 230136.98630136985
                      dataFreshness: annual
                      lastUpdated: ''
                      platform: GlobalGiving
                    - dailyVolumeUsd: 0
                      dataFreshness: cumulative
                      lastUpdated: ''
                      platform: JustGiving
                  provenance:
                    - accessedAt: '2026-07-24'
                      coveredMetricPaths:
                        - summary.platforms[platform=GoFundMe].daily_volume_usd
                        - summary.estimated_daily_flow_usd
                      denominator: week
                      derivation: >-
                        50,000,000 USD/week * 52 weeks/year = at least
                        2,600,000,000 USD/year.
                      includedInHighlightedAggregate: true
                      measurementBasis: Published lower-bound weekly platform claim
                      notes: >-
                        Exact claim: "More than $50 million is raised each week
                        on GoFundMe." The source footnote says this is the
                        average amount raised per week in 2023 and 2024.
                      referencePeriod: Average week across 2023-2024
                      reportedUnit: USD
                      reportedValue: 50000000
                      sourceLocator: Homepage giving-volume claim and attached footnote 1
                      sourceName: GoFundMe
                      sourcePublishedAt: ''
                      sourceUrl: https://www.gofundme.com/?lang=en
                      status: verified
                      subject: GoFundMe weekly giving
                      valueQualifier: more_than
                    - accessedAt: '2026-07-24'
                      coveredMetricPaths:
                        - >-
                          summary.platforms[platform=GlobalGiving].daily_volume_usd
                        - summary.estimated_daily_flow_usd
                      denominator: year
                      derivation: >-
                        Reported 2024 amount is used as an at-least annual
                        estimate; no currency conversion.
                      includedInHighlightedAggregate: true
                      measurementBasis: Published lower-bound annual platform claim
                      notes: >-
                        Exact claim: GlobalGiving raised more than USD 84
                        million in 2024.
                      referencePeriod: '2024'
                      reportedUnit: USD
                      reportedValue: 84000000
                      sourceLocator: 2024 Year in Review, annual impact totals
                      sourceName: GlobalGiving
                      sourcePublishedAt: ''
                      sourceUrl: https://www.globalgiving.org/2024/
                      status: verified
                      subject: GlobalGiving 2024 giving
                      valueQualifier: more_than
                    - accessedAt: '2026-07-24'
                      coveredMetricPaths:
                        - >-
                          summary.platforms[platform=JustGiving].daily_volume_usd
                        - summary.provenance
                      denominator: 25 years cumulative
                      derivation: >-
                        No annualization or USD conversion; cumulative GBP is
                        provenance-only.
                      includedInHighlightedAggregate: false
                      measurementBasis: Published lower-bound cumulative platform claim
                      notes: >-
                        Exact claim: JustGiving has helped people raise more
                        than GBP 7 billion over 25 years.
                      referencePeriod: 25 years cumulative
                      reportedUnit: GBP
                      reportedValue: 7000000000
                      sourceLocator: About JustGiving, platform impact statement
                      sourceName: JustGiving
                      sourcePublishedAt: ''
                      sourceUrl: https://www.justgiving.com/about
                      status: verified
                      subject: JustGiving cumulative giving
                      valueQualifier: more_than
                    - accessedAt: '2026-07-24'
                      coveredMetricPaths:
                        - summary.institutional.oecd_oda_annual_usd_bn
                        - summary.institutional.oecd_data_year
                      denominator: year
                      derivation: >-
                        No derivation; retained in reported USD billions as
                        institutional context only.
                      includedInHighlightedAggregate: false
                      measurementBasis: Published annual institutional assistance context
                      notes: >-
                        Exact claim: official development assistance from DAC
                        members totalled USD 223.7 billion in 2023. This is
                        institutional context, not personal platform giving.
                      referencePeriod: '2023'
                      reportedUnit: USD billion
                      reportedValue: 223.7
                      sourceLocator: 2023 ODA Figures and Trends launch, total ODA statement
                      sourceName: OECD
                      sourcePublishedAt: ''
                      sourceUrl: >-
                        https://www.oecd.org/en/about/news/speech-statements/2024/04/2023-oda-figures-and-trends-launch-press-conference.html
                      status: verified
                      subject: OECD official development assistance
                      valueQualifier: reported
                    - accessedAt: '2026-07-24'
                      coveredMetricPaths:
                        - summary.institutional.candid_grants_tracked
                      denominator: year
                      derivation: >-
                        No derivation; replaces the unsupported legacy bare 18
                        million grant count.
                      includedInHighlightedAggregate: false
                      measurementBasis: Published approximate annual grants-data coverage
                      notes: >-
                        Exact claim: Candid data represents about 3 million
                        grants annually.
                      referencePeriod: Current fact sheet accessed 2026-07-24
                      reportedUnit: grants
                      reportedValue: 3000000
                      sourceLocator: >-
                        Grants data fact sheet, annual grants-data coverage
                        statement
                      sourceName: Candid
                      sourcePublishedAt: ''
                      sourceUrl: >-
                        https://candid.org/about/our-data/grants-data-fact-sheet/
                      status: verified
                      subject: Candid grants represented annually
                      valueQualifier: about
                    - accessedAt: '2026-07-24'
                      coveredMetricPaths:
                        - summary.provenance
                      denominator: year
                      derivation: No derivation; provenance-only institutional context.
                      includedInHighlightedAggregate: false
                      measurementBasis: Published approximate annual grants-data value
                      notes: >-
                        Exact claim: Candid data represents about USD 180
                        billion in grantmaking annually.
                      referencePeriod: Current fact sheet accessed 2026-07-24
                      reportedUnit: USD
                      reportedValue: 180000000000
                      sourceLocator: >-
                        Grants data fact sheet, annual grants-data coverage
                        statement
                      sourceName: Candid
                      sourcePublishedAt: ''
                      sourceUrl: >-
                        https://candid.org/about/our-data/grants-data-fact-sheet/
                      status: verified
                      subject: Candid annual grantmaking represented
                      valueQualifier: about
                    - accessedAt: '2026-07-24'
                      coveredMetricPaths:
                        - summary.crypto.daily_inflow_usd
                      denominator: purported year
                      derivation: >-
                        No derivation; unverified input is excluded from annual
                        and daily flow.
                      includedInHighlightedAggregate: false
                      measurementBasis: Unsupported legacy annual crypto-giving estimate
                      notes: >-
                        Exact legacy claim: total crypto giving was estimated at
                        approximately USD 2 billion per year. No stable primary
                        evidence was established, so the value is hidden and
                        excluded.
                      referencePeriod: Legacy 2024 estimate; reference period not verified
                      reportedUnit: USD
                      reportedValue: 2000000000
                      sourceLocator: 'Issue #5504, unsupported crypto estimate'
                      sourceName: 'WorldMonitor issue #5504'
                      sourcePublishedAt: ''
                      sourceUrl: https://github.com/koala73/worldmonitor/issues/5504
                      status: unverified
                      subject: Legacy crypto-giving annual volume
                      valueQualifier: approximately
                    - accessedAt: '2026-07-24'
                      coveredMetricPaths:
                        - summary.crypto.tracked_wallets
                        - summary.crypto.top_receivers
                        - summary.crypto.pct_of_total
                      denominator: snapshot
                      derivation: >-
                        No derivation; wallet count, receivers, and percentage
                        are hidden.
                      includedInHighlightedAggregate: false
                      measurementBasis: Unsupported legacy wallet/receiver coverage claim
                      notes: >-
                        Exact legacy claim: 150 charity wallets were tracked,
                        with named top receivers and an estimated 0.8 percent
                        share. No collector or stable primary evidence was
                        established.
                      referencePeriod: Legacy snapshot; reference period not verified
                      reportedUnit: wallets
                      reportedValue: 150
                      sourceLocator: 'Issue #5504, unsupported wallet and receiver metrics'
                      sourceName: 'WorldMonitor issue #5504'
                      sourcePublishedAt: ''
                      sourceUrl: https://github.com/koala73/worldmonitor/issues/5504
                      status: unverified
                      subject: Legacy crypto wallet and receiver coverage
                      valueQualifier: unverified
                    - accessedAt: '2026-07-24'
                      coveredMetricPaths:
                        - summary.institutional.caf_world_giving_index
                        - summary.institutional.caf_data_year
                      denominator: index
                      derivation: No derivation; value and year are hidden.
                      includedInHighlightedAggregate: false
                      measurementBasis: Unsupported legacy index context
                      notes: >-
                        Exact legacy claim: a global-average CAF World Giving
                        Index value of 34 for 2024. No stable primary evidence
                        for this exact displayed value was established.
                      referencePeriod: Purported 2024 value; source not verified
                      reportedUnit: index points
                      reportedValue: 34
                      sourceLocator: 'Issue #5504, unsupported CAF value'
                      sourceName: 'WorldMonitor issue #5504'
                      sourcePublishedAt: ''
                      sourceUrl: https://github.com/koala73/worldmonitor/issues/5504
                      status: unverified
                      subject: Legacy CAF World Giving Index context
                      valueQualifier: unverified
                    - accessedAt: '2026-07-24'
                      coveredMetricPaths:
                        - summary.categories[*].share
                        - summary.categories[*].change_24h
                        - summary.categories[*].active_campaigns
                        - summary.categories[*].trending
                      denominator: share of legacy distribution
                      derivation: >-
                        No derivation; shares are hidden and live fields remain
                        zero/false sentinels.
                      includedInHighlightedAggregate: false
                      measurementBasis: Unsupported static category distribution
                      notes: >-
                        Exact legacy claim: nine category shares totalled 1.0,
                        led by Medical & Health at 0.33. Stable primary evidence
                        for the displayed distribution was not established.
                      referencePeriod: Legacy snapshot; reference period not verified
                      reportedUnit: distribution total
                      reportedValue: 1
                      sourceLocator: >-
                        Issue #5504, unsupported category values and trending
                        semantics
                      sourceName: 'WorldMonitor issue #5504'
                      sourcePublishedAt: ''
                      sourceUrl: https://github.com/koala73/worldmonitor/issues/5504
                      status: unverified
                      subject: Legacy giving category shares
                      valueQualifier: unverified
                    - accessedAt: '2026-07-24'
                      coveredMetricPaths:
                        - summary.platforms[*].active_campaigns_sampled
                        - summary.platforms[*].new_campaigns_24h
                        - summary.platforms[*].donation_velocity
                        - summary.categories[*].change_24h
                        - summary.categories[*].active_campaigns
                        - summary.categories[*].trending
                        - summary.crypto.transactions_24h
                      denominator: not applicable
                      derivation: >-
                        No derivation; zero and false are compatibility
                        sentinels, not measured activity.
                      includedInHighlightedAggregate: false
                      measurementBasis: Explicit collection-status record
                      notes: >-
                        Exact collection status: no live campaign-sampling or
                        on-chain transaction collector populates these fields.
                      referencePeriod: Current v2 collection capability
                      reportedUnit: compatibility sentinel
                      reportedValue: 0
                      sourceLocator: 'Issue #5504, collector audit'
                      sourceName: 'WorldMonitor issue #5504'
                      sourcePublishedAt: ''
                      sourceUrl: https://github.com/koala73/worldmonitor/issues/5504
                      status: not_collected
                      subject: Live platform and category activity collection
                      valueQualifier: not_measured
                    - accessedAt: '2026-07-24'
                      coveredMetricPaths:
                        - summary.activity_index
                        - summary.activity_index_available
                        - summary.trend
                        - summary.trend_available
                      denominator: not applicable
                      derivation: >-
                        No derivation; retain activityIndex=0 and trend="stable"
                        only for wire compatibility.
                      includedInHighlightedAggregate: false
                      measurementBasis: Explicit compatibility-status record
                      notes: >-
                        Exact compatibility status: no measured activity index
                        or historical directional trend is available.
                      referencePeriod: Current v2 compatibility contract
                      reportedUnit: compatibility sentinel
                      reportedValue: 0
                      sourceLocator: 'Issue #5504, index and trend audit'
                      sourceName: 'WorldMonitor issue #5504'
                      sourcePublishedAt: ''
                      sourceUrl: https://github.com/koala73/worldmonitor/issues/5504
                      status: not_applicable
                      subject: Activity index and directional trend
                      valueQualifier: not_measured
                  trend: stable
                  trendAvailable: false
              schema:
                $ref: '#/components/schemas/GetGivingSummaryResponse'
        '400':
          description: Validation error
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/ValidationError'
                  - $ref: '#/components/schemas/JmespathProjectionError'
        '401':
          description: Missing or invalid API key.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthorizedError'
        '403':
          description: >-
            API access requires an active subscription (the API key's
            subscription is inactive or expired).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenError'
        '429':
          description: Rate limit exceeded.
          headers:
            X-RateLimit-Limit:
              description: Maximum requests allowed in the active rate-limit window.
              schema:
                type: string
            X-RateLimit-Remaining:
              description: Requests remaining in the active rate-limit window.
              schema:
                type: string
            X-RateLimit-Reset:
              description: >-
                Unix epoch milliseconds when the active rate-limit window
                resets.
              schema:
                type: string
            Retry-After:
              description: Seconds to wait before retrying the request.
              schema:
                type: string
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Error'
                  - $ref: '#/components/schemas/RateLimitError'
        default:
          description: Gateway or handler error response.
          content:
            application/json:
              schema:
                oneOf:
                  - $ref: '#/components/schemas/Error'
                  - $ref: '#/components/schemas/GatewayError'
components:
  schemas:
    GetGivingSummaryResponse:
      type: object
      properties:
        summary:
          $ref: '#/components/schemas/GivingSummary'
        fetchedAt:
          type: integer
          format: int64
          description: >-
            Cache/response materialization time as Unix epoch milliseconds. This
            is not
             source publication or observation time. A value of 0 means the snapshot is
             unavailable/degraded, not that giving activity is zero.. Warning: Values > 2^53 may lose precision in JavaScript
        dataAvailable:
          type: boolean
          description: >-
            True when a summary payload is populated. False means an
            absent/empty
             summary is graceful degradation because the snapshot is unavailable;
             provenance and data mode are not required on that degraded shape.
      description: GetGivingSummaryResponse contains a cacheable published-claim snapshot.
    ValidationError:
      type: object
      properties:
        violations:
          type: array
          items:
            $ref: '#/components/schemas/FieldViolation'
          description: List of validation violations
      required:
        - violations
      description: >-
        ValidationError is returned when request validation fails. It contains a
        list of field violations describing what went wrong.
    JmespathProjectionError:
      description: >-
        Returned when a REST jmespath projection is invalid or exceeds the
        expression/output byte limits.
      properties:
        _jmespath_error:
          description: Projection error discriminator and details.
          type: string
        original_keys:
          description: Top-level keys or shape of the unprojected response.
          items:
            type: string
          type: array
      required:
        - _jmespath_error
        - original_keys
      type: object
    UnauthorizedError:
      type: object
      properties:
        error:
          type: string
          description: Human-readable error message.
      required:
        - error
      description: >-
        Returned when the API key is missing, malformed, or lacks current API
        access.
    ForbiddenError:
      type: object
      properties:
        error:
          type: string
          description: Human-readable entitlement failure reason.
        requiredTier:
          type: integer
          format: int32
          description: Minimum entitlement tier required for this endpoint.
        currentTier:
          type: integer
          format: int32
          description: Caller entitlement tier when known.
        planKey:
          type: string
          description: Caller plan key when known.
      required:
        - error
      description: >-
        Returned when a PRO-gated endpoint denies access because the caller has
        no resolved authenticated user, entitlements cannot be verified, or the
        caller lacks the required entitlement tier.
    Error:
      type: object
      properties:
        message:
          type: string
          description: Error message (e.g., 'user not found', 'database connection failed')
      description: >-
        Error is returned when a handler encounters an error. It contains a
        simple error message that the developer can customize.
    RateLimitError:
      type: object
      description: Returned when a gateway or handler rate limit rejects the request.
      properties:
        error:
          type: string
          description: Human-readable rate-limit failure reason.
      required:
        - error
    GatewayError:
      type: object
      description: >-
        Returned by gateway infrastructure errors before an RPC handler runs,
        such as origin, routing, method, authentication, or quota checks.
      properties:
        error:
          oneOf:
            - type: string
            - type: object
              additionalProperties: true
          description: Gateway error reason or structured gateway failure details.
      required:
        - error
    GivingSummary:
      type: object
      properties:
        generatedAt:
          type: string
          description: >-
            Response summary generation time (ISO 8601). This is a
            transport/cache
             timestamp, not a source publication or observation time.
        activityIndex:
          type: number
          format: double
          description: >-
            Legacy numeric compatibility sentinel. Corrected snapshots emit 0
            and
             activity_index_available=false; this is not a measured score.
        trend:
          type: string
          description: >-
            Legacy string compatibility sentinel. Corrected snapshots retain
            "stable"
             with trend_available=false; this is not a measured directional trend.
        estimatedDailyFlowUsd:
          type: number
          format: double
          description: |-
            Daily USD equivalent of only aggregate-eligible, verified annual or
             defensibly annualized tracked-platform claims. It is not a live daily
             observation or an estimate of all global giving.
        platforms:
          type: array
          items:
            $ref: '#/components/schemas/PlatformGiving'
        categories:
          type: array
          items:
            $ref: '#/components/schemas/CategoryBreakdown'
        crypto:
          $ref: '#/components/schemas/CryptoGivingSummary'
        institutional:
          $ref: '#/components/schemas/InstitutionalGiving'
        dataMode:
          type: string
          description: >-
            Evidence mode: "published_estimate" or "partial_estimate". If absent
            in an
             older payload, consumers must treat the payload as legacy/unknown, never as
             a published estimate by proto scalar default.
        trendAvailable:
          type: boolean
          description: >-
            True only when trend contains a measured directional trend.
            Corrected
             published-claim snapshots emit false.
        provenance:
          type: array
          items:
            $ref: '#/components/schemas/GivingProvenance'
        activityIndexAvailable:
          type: boolean
          description: |-
            True only when activity_index contains a measured score. Corrected
             published-claim snapshots emit false.
      description: |-
        GivingSummary is a cacheable snapshot of published giving claims. Source
         reference periods live in provenance; generated_at is only the time this
         response snapshot was materialized.
    FieldViolation:
      type: object
      properties:
        field:
          type: string
          description: >-
            The field path that failed validation (e.g., 'user.email' for nested
            fields). For header validation, this will be the header name (e.g.,
            'X-API-Key')
        description:
          type: string
          description: >-
            Human-readable description of the validation violation (e.g., 'must
            be a valid email address', 'required field missing')
      required:
        - field
        - description
      description: FieldViolation describes a single validation error for a specific field.
    PlatformGiving:
      type: object
      properties:
        platform:
          type: string
          minLength: 1
          description: Platform name (e.g., "GoFundMe", "GlobalGiving", "JustGiving").
        dailyVolumeUsd:
          type: number
          format: double
          description: >-
            Daily USD equivalent derived from an aggregate-eligible published
            claim.
             Zero means no eligible conversion, not measured zero giving.
        activeCampaignsSampled:
          type: integer
          format: int32
          description: >-
            Legacy live-sampling field. Zero is a not-collected compatibility
            sentinel
             unless provenance says otherwise.
        newCampaigns24h:
          type: integer
          format: int32
          description: >-
            Legacy 24-hour field. Zero is a not-collected compatibility sentinel
            unless
             provenance says otherwise.
        donationVelocity:
          type: number
          format: double
          description: >-
            Legacy live-velocity field. Zero is a not-collected compatibility
            sentinel
             unless provenance says otherwise.
        dataFreshness:
          type: string
          description: >-
            Legacy source basis/cadence ("annual", "cumulative", or "unknown"),
            not
             response freshness or source age.
        lastUpdated:
          type: string
          description: >-
            Verified source publication date only. Empty when no publication
            date was
             verified; request/cache time must never be substituted.
      required:
        - platform
      description: >-
        PlatformGiving represents aggregated giving data from a single
        crowdfunding platform.
    CategoryBreakdown:
      type: object
      properties:
        category:
          type: string
          description: Category name (e.g., "Medical", "Disaster Relief", "Education").
        share:
          type: number
          format: double
          description: >-
            Published share (0-1) when verified. Zero is an unavailable sentinel
            when
             the category evidence is unverified.
        change24h:
          type: number
          format: double
          description: >-
            Legacy 24-hour change. Zero is a not-collected compatibility
            sentinel.
        activeCampaigns:
          type: integer
          format: int32
          description: >-
            Legacy live campaign count. Zero is a not-collected compatibility
            sentinel.
        trending:
          type: boolean
          description: >-
            Legacy live trending indicator. Corrected static snapshots emit
            false.
      description: CategoryBreakdown retains the legacy wire shape for category claims.
    CryptoGivingSummary:
      type: object
      properties:
        dailyInflowUsd:
          type: number
          format: double
          description: Daily USD equivalent from a verified annual claim, if available.
        trackedWallets:
          type: integer
          format: int32
          description: Verified tracked-wallet count, if available.
        transactions24h:
          type: integer
          format: int32
          description: Measured transactions in the last 24 hours, if a collector exists.
        topReceivers:
          type: array
          items:
            type: string
            description: Verified receiving platforms or organizations, if available.
        pctOfTotal:
          type: number
          format: double
          description: >-
            Verified on-chain share of the relevant giving denominator, if
            available.
      description: >-
        CryptoGivingSummary retains the legacy wire shape. Corrected snapshots
        expose
         only verified values; zero/empty fields are unavailable compatibility
         sentinels, not measured on-chain activity.
    InstitutionalGiving:
      type: object
      properties:
        oecdOdaAnnualUsdBn:
          type: number
          format: double
          description: Latest OECD ODA total (annual, USD billions).
        oecdDataYear:
          type: integer
          format: int32
          description: Year of latest OECD data.
        cafWorldGivingIndex:
          type: number
          format: double
          description: CAF World Giving Index score (latest).
        cafDataYear:
          type: integer
          format: int32
          description: Year of latest CAF data.
        candidGrantsTracked:
          type: integer
          format: int32
          description: Number of foundation grants tracked (Candid).
        dataLag:
          type: string
          description: Data lag description (e.g., "Quarterly", "Annual").
      description: InstitutionalGiving tracks large-scale structured philanthropy and ODA.
    GivingProvenance:
      type: object
      properties:
        subject:
          type: string
          description: Human-readable subject of the claim or collection-status record.
        sourceName:
          type: string
          description: Publisher or authority responsible for the referenced claim.
        sourceUrl:
          type: string
          description: HTTPS URL for the source or stable audit record.
        referencePeriod:
          type: string
          description: >-
            Period covered by the source claim (for example, "2024" or "25 years
            cumulative").
        sourcePublishedAt:
          type: string
          description: >-
            Verified source publication date when known. Empty means not
            verified; it
             must never fall back to generated_at, fetched_at, or access time.
        measurementBasis:
          type: string
          description: >-
            What the reported number measures (annual, weekly average,
            cumulative,
             institutional context, compatibility sentinel, or collection status).
        status:
          type: string
          description: >-
            Verification status. Allowed values: "verified",
            "partially_verified",
             "unverified", "not_collected", "not_applicable". Consumers must treat
             unknown future values as "unverified".
        coveredMetricPaths:
          type: array
          items:
            type: string
            description: >-
              Stable proto response field paths covered by this evidence record.
              Field
               names use the proto snake_case spelling (for example,
               "summary.estimated_daily_flow_usd").
        includedInHighlightedAggregate:
          type: boolean
          description: >-
            Whether this claim contributes to the highlighted tracked-platform
            aggregate.
        reportedValue:
          type: number
          format: double
          description: >-
            Numeric value exactly as reported or recorded for the compatibility
            status.
        reportedUnit:
          type: string
          description: >-
            Unit attached to reported_value without implicit currency
            conversion.
        notes:
          type: string
          description: Exact-claim text and any limitations needed to audit the record.
        valueQualifier:
          type: string
          description: >-
            Source qualifier such as "more_than", "about", "reported", or
            "not_measured".
        sourceLocator:
          type: string
          description: Stable location within the source where the claim can be found.
        accessedAt:
          type: string
          description: >-
            Date the source was checked (YYYY-MM-DD); not a source observation
            time.
        denominator:
          type: string
          description: Time/value denominator used by the source claim.
        derivation:
          type: string
          description: >-
            Explicit derivation applied to the claim, or why no derivation is
            allowed.
      description: |-
        GivingProvenance records one auditable published claim or one explicit
         collection/compatibility status. No field represents a source observation
         time; source reference periods and verified publication dates stay separate
         from response/cache timestamps.
  securitySchemes:
    WorldMonitorKey:
      type: apiKey
      in: header
      name: X-WorldMonitor-Key
      description: User-issued WorldMonitor API key.
    ApiKeyHeader:
      type: apiKey
      in: header
      name: X-Api-Key
      description: Alias header for the WorldMonitor API key (X-WorldMonitor-Key).

````