---
title: "Get Creator Hub overview events feed"
method: GET
path: "/creator-hub/overview/events"
tags: ["Creator Hub Analytics"]
---

# Get Creator Hub overview events feed

`GET /creator-hub/overview/events`

## Request

- Base URL: `https://viral.app/api/v1`
- URL: `https://viral.app/api/v1/creator-hub/overview/events`
- Auth: API key in header `x-api-key`

Returns timeline events across campaign lifecycle, creator assignments, posted videos, cycles, and payouts. Pages by digest: posted videos fold into one digest per day, campaign, and creator, and billing-cycle starts and ends into one per day, so perPage, pageCount, and totalRows count digests and a page carries every event of its digests.

## Query parameters

- `page` number: Page number (1-based index)
- `perPage` number: Digests per page (see the response's totalRows): a page carries every event of its digests, so it can hold more events than this.
- `scope` 'dateRange' | 'allTime'
- `dateRange` object, required: Date range filter for analytics queries
  - `from` string, required: Start date in ISO format (YYYY-MM-DD)
  - `to` string, required: End date in ISO format (YYYY-MM-DD)
- `campaignIds` string[]
- `creatorIds` string[]
- `publicationMode` 'allEligible' | 'onlyPublished'
- `eventCategory` 'all' | 'campaign' | 'videos'

## Response `200`

OK

- object
  - `data` union[], required: Every event of the page's digests, newest first. Posted videos fold into one digest per day, campaign, and creator; billing-cycle starts and ends into one per day.
    - union
      - object
        - `id` string, required
        - `occurredAt` string, required
        - `campaign` object, required
          - `id` string, required: Campaign ID with orgcamp_ prefix
          - `name` string, required
          - `status` 'upcoming' | 'active' | 'closing' | 'ended', required: Campaign lifecycle status derived from validity window. upcoming: validFrom in the future; active: started with no end date; closing: started and has an end date in the present/future; ended: end date is in the past.
          - `validFrom` string, required
          - `validUntil` string, nullable, required
        - `type` 'campaign_created', required
      - object
        - `id` string, required
        - `occurredAt` string, required
        - `campaign` object, required
          - `id` string, required: Campaign ID with orgcamp_ prefix
          - `name` string, required
          - `status` 'upcoming' | 'active' | 'closing' | 'ended', required: Campaign lifecycle status derived from validity window. upcoming: validFrom in the future; active: started with no end date; closing: started and has an end date in the present/future; ended: end date is in the past.
          - `validFrom` string, required
          - `validUntil` string, nullable, required
        - `type` 'campaign_started', required
      - object
        - `id` string, required
        - `occurredAt` string, required
        - `campaign` object, required
          - `id` string, required: Campaign ID with orgcamp_ prefix
          - `name` string, required
          - `status` 'upcoming' | 'active' | 'closing' | 'ended', required: Campaign lifecycle status derived from validity window. upcoming: validFrom in the future; active: started with no end date; closing: started and has an end date in the present/future; ended: end date is in the past.
          - `validFrom` string, required
          - `validUntil` string, nullable, required
        - `type` 'campaign_ended', required
      - object
        - `id` string, required
        - `occurredAt` string, required
        - `campaign` object, required
          - `id` string, required: Campaign ID with orgcamp_ prefix
          - `name` string, required
          - `status` 'upcoming' | 'active' | 'closing' | 'ended', required: Campaign lifecycle status derived from validity window. upcoming: validFrom in the future; active: started with no end date; closing: started and has an end date in the present/future; ended: end date is in the past.
          - `validFrom` string, required
          - `validUntil` string, nullable, required
        - `type` 'creator_joined_campaign', required
        - `creator` object, required
          - `id` string, required: Organization creator ID with orgcre_ prefix
          - `userId` string, required: User ID with user_ prefix
          - `name` string, nullable, required
          - `email` string, required
          - `image` string, nullable, required
      - object
        - `id` string, required
        - `occurredAt` string, required
        - `campaign` object, required
          - `id` string, required: Campaign ID with orgcamp_ prefix
          - `name` string, required
          - `status` 'upcoming' | 'active' | 'closing' | 'ended', required: Campaign lifecycle status derived from validity window. upcoming: validFrom in the future; active: started with no end date; closing: started and has an end date in the present/future; ended: end date is in the past.
          - `validFrom` string, required
          - `validUntil` string, nullable, required
        - `type` 'creator_left_campaign', required
        - `creator` object, required
          - `id` string, required: Organization creator ID with orgcre_ prefix
          - `userId` string, required: User ID with user_ prefix
          - `name` string, nullable, required
          - `email` string, required
          - `image` string, nullable, required
      - object
        - `id` string, required
        - `occurredAt` string, required
        - `campaign` object, required
          - `id` string, required: Campaign ID with orgcamp_ prefix
          - `name` string, required
          - `status` 'upcoming' | 'active' | 'closing' | 'ended', required: Campaign lifecycle status derived from validity window. upcoming: validFrom in the future; active: started with no end date; closing: started and has an end date in the present/future; ended: end date is in the past.
          - `validFrom` string, required
          - `validUntil` string, nullable, required
        - `type` 'creator_posted_video', required
        - `creator` object, required
          - `id` string, required: Organization creator ID with orgcre_ prefix
          - `userId` string, required: User ID with user_ prefix
          - `name` string, nullable, required
          - `email` string, required
          - `image` string, nullable, required
        - `video` object, required
          - `platform` 'facebook' | 'instagram' | 'tiktok' | 'youtube' | 'snapchat', required: Social media platform (facebook, instagram, tiktok, youtube, snapchat)
          - `platformVideoId` string, required
          - `caption` string, nullable, required
          - `thumbnailUrl` string, nullable, required
      - object
        - `id` string, required
        - `occurredAt` string, required
        - `campaign` object, required
          - `id` string, required: Campaign ID with orgcamp_ prefix
          - `name` string, required
          - `status` 'upcoming' | 'active' | 'closing' | 'ended', required: Campaign lifecycle status derived from validity window. upcoming: validFrom in the future; active: started with no end date; closing: started and has an end date in the present/future; ended: end date is in the past.
          - `validFrom` string, required
          - `validUntil` string, nullable, required
        - `type` 'campaign_cycle_started', required
        - `cycle` object, required
          - `windowStart` string, required
          - `windowEnd` string, required
          - `interval` 'day' | 'week' | 'month', required
          - `intervalCount` integer, required
          - `billingAnchor` 'fixed' | 'rolling', required
          - `index` integer
      - object
        - `id` string, required
        - `occurredAt` string, required
        - `campaign` object, required
          - `id` string, required: Campaign ID with orgcamp_ prefix
          - `name` string, required
          - `status` 'upcoming' | 'active' | 'closing' | 'ended', required: Campaign lifecycle status derived from validity window. upcoming: validFrom in the future; active: started with no end date; closing: started and has an end date in the present/future; ended: end date is in the past.
          - `validFrom` string, required
          - `validUntil` string, nullable, required
        - `type` 'campaign_cycle_ended', required
        - `cycle` object, required
          - `windowStart` string, required
          - `windowEnd` string, required
          - `interval` 'day' | 'week' | 'month', required
          - `intervalCount` integer, required
          - `billingAnchor` 'fixed' | 'rolling', required
          - `index` integer
      - object
        - `id` string, required
        - `occurredAt` string, required
        - `campaign` object, required
          - `id` string, required: Campaign ID with orgcamp_ prefix
          - `name` string, required
          - `status` 'upcoming' | 'active' | 'closing' | 'ended', required: Campaign lifecycle status derived from validity window. upcoming: validFrom in the future; active: started with no end date; closing: started and has an end date in the present/future; ended: end date is in the past.
          - `validFrom` string, required
          - `validUntil` string, nullable, required
        - `type` 'creator_paid_out', required
        - `creator` object, required
          - `id` string, required: Organization creator ID with orgcre_ prefix
          - `userId` string, required: User ID with user_ prefix
          - `name` string, nullable, required
          - `email` string, required
          - `image` string, nullable, required
        - `payout` object, required
          - `amount` number, nullable, required
          - `precision` integer, nullable, required
          - `currency` 'USD' | 'EUR' | 'CHF' | 'GBP' | 'CNY' | 'JPY' | 'KRW' | 'THB' | 'IDR' | 'VND' | 'RUB', required
          - `billingPeriodStart` string, required
          - `billingPeriodEnd` string, required
      - object
        - `id` string, required
        - `occurredAt` string, required
        - `campaign` object, required
          - `id` string, required: Campaign ID with orgcamp_ prefix
          - `name` string, required
          - `status` 'upcoming' | 'active' | 'closing' | 'ended', required: Campaign lifecycle status derived from validity window. upcoming: validFrom in the future; active: started with no end date; closing: started and has an end date in the present/future; ended: end date is in the past.
          - `validFrom` string, required
          - `validUntil` string, nullable, required
        - `type` 'creator_payout_canceled', required
        - `creator` object, required
          - `id` string, required: Organization creator ID with orgcre_ prefix
          - `userId` string, required: User ID with user_ prefix
          - `name` string, nullable, required
          - `email` string, required
          - `image` string, nullable, required
        - `payout` object, required
          - `amount` number, nullable, required
          - `precision` integer, nullable, required
          - `currency` 'USD' | 'EUR' | 'CHF' | 'GBP' | 'CNY' | 'JPY' | 'KRW' | 'THB' | 'IDR' | 'VND' | 'RUB', required
          - `billingPeriodStart` string, required
          - `billingPeriodEnd` string, required
      - object
        - `id` string, required
        - `occurredAt` string, required
        - `campaign` object, required
          - `id` string, required: Campaign ID with orgcamp_ prefix
          - `name` string, required
          - `status` 'upcoming' | 'active' | 'closing' | 'ended', required: Campaign lifecycle status derived from validity window. upcoming: validFrom in the future; active: started with no end date; closing: started and has an end date in the present/future; ended: end date is in the past.
          - `validFrom` string, required
          - `validUntil` string, nullable, required
        - `type` 'creator_payout_reinstated', required
        - `creator` object, required
          - `id` string, required: Organization creator ID with orgcre_ prefix
          - `userId` string, required: User ID with user_ prefix
          - `name` string, nullable, required
          - `email` string, required
          - `image` string, nullable, required
        - `payout` object, required
          - `amount` number, nullable, required
          - `precision` integer, nullable, required
          - `currency` 'USD' | 'EUR' | 'CHF' | 'GBP' | 'CNY' | 'JPY' | 'KRW' | 'THB' | 'IDR' | 'VND' | 'RUB', required
          - `billingPeriodStart` string, required
          - `billingPeriodEnd` string, required
      - object
        - `id` string, required
        - `occurredAt` string, required
        - `campaign` object, required
          - `id` string, required: Campaign ID with orgcamp_ prefix
          - `name` string, required
          - `status` 'upcoming' | 'active' | 'closing' | 'ended', required: Campaign lifecycle status derived from validity window. upcoming: validFrom in the future; active: started with no end date; closing: started and has an end date in the present/future; ended: end date is in the past.
          - `validFrom` string, required
          - `validUntil` string, nullable, required
        - `type` 'creator_payout_withdrawn', required
        - `creator` object, required
          - `id` string, required: Organization creator ID with orgcre_ prefix
          - `userId` string, required: User ID with user_ prefix
          - `name` string, nullable, required
          - `email` string, required
          - `image` string, nullable, required
        - `payout` object, required
          - `amount` number, nullable, required
          - `precision` integer, nullable, required
          - `currency` 'USD' | 'EUR' | 'CHF' | 'GBP' | 'CNY' | 'JPY' | 'KRW' | 'THB' | 'IDR' | 'VND' | 'RUB', required
          - `billingPeriodStart` string, required
          - `billingPeriodEnd` string, required
  - `resolvedRange` object, required: Date range filter for analytics queries
    - `from` string, required: Start date in ISO format (YYYY-MM-DD)
    - `to` string, required: End date in ISO format (YYYY-MM-DD)
  - `pageCount` number, required: Total number of pages of digests
  - `totalRows` number, required: Total number of digests (feed rows), not raw events

## Other responses

- `400`: 400
- `401`: 401
- `402`: 402
- `404`: 404
- `408`: 408
- `429`: 429
- `500`: 500

---

[API](https://skmtc.dev/viral/apis/viral-app-api.md) · [All operations](https://skmtc.dev/viral/apis/viral-app-api/llms.txt) · [OpenAPI document](https://skmtc.dev/viral/apis/viral-app-api/revisions/31e97fa79ef1?raw)
