---
title: "Get campaign end context"
method: GET
path: "/campaigns/{id}/end-context"
tags: ["Creators"]
---

# Get campaign end context

`GET /campaigns/{id}/end-context`

## Request

- Base URL: `https://viral.app/api/v1`
- URL: `https://viral.app/api/v1/campaigns/{id}/end-context`
- Auth: API key in header `x-api-key`

Preflight for ending a campaign: the cycle-aligned end dates behind endBasis prev, current and next, and every assignment with the facts needed to classify it against a candidate end date — validity span, the creator's latest settled payout window end, and whether settled windows overlap the row. cycleEndWarnings holds, per date, the warnings the end call would return (Highest Tier bonus tiers that end keeps from paying).

## Path parameters

- `id` string, required: Campaign ID with orgcamp_ prefix

## Response `200`

OK

- object
  - `campaign` object, required: The campaign's current validity span.
    - `validFrom` string, required
    - `validUntil` string, nullable, required
  - `cycleEnds` object, required
    - `prev` string, required
    - `current` string, required
    - `next` string, required
  - `cycleEndWarnings` object, required: The warnings each cycleEnds date would return from the end call: bonus_tiers_unpaid_after_end when Highest Tier bonuses would no longer pay for videos posted late, or at all. Show them before ending.
    - `prev` object[], required
      - `code` 'long_payout_cycle' | 'daily_cadence' | 'future_start' | 'eligibility_window_exceeds_interval' | 'flat_bonus_waits_for_window' | 'bonus_tiers_unpaid_after_end' | 'performance_cap_below_bonus' | 'base_payouts_overlap' | 'cpm_payouts_overlap' | 'flat_bonuses_overlap' | 'manual_payouts_only' | 'rules_apply_immediately' | 'views_conditions_changed_after_payouts' | 'total_videos_changed_after_payouts' | 'payout_conditions_removed' | 'creative_payouts_removed' | 'time_zone_changed' | 'derived_from_job' | 'video_target_followers_frozen', required
      - `title` string, required
      - `message` string, required
    - `current` object[], required
      - `code` 'long_payout_cycle' | 'daily_cadence' | 'future_start' | 'eligibility_window_exceeds_interval' | 'flat_bonus_waits_for_window' | 'bonus_tiers_unpaid_after_end' | 'performance_cap_below_bonus' | 'base_payouts_overlap' | 'cpm_payouts_overlap' | 'flat_bonuses_overlap' | 'manual_payouts_only' | 'rules_apply_immediately' | 'views_conditions_changed_after_payouts' | 'total_videos_changed_after_payouts' | 'payout_conditions_removed' | 'creative_payouts_removed' | 'time_zone_changed' | 'derived_from_job' | 'video_target_followers_frozen', required
      - `title` string, required
      - `message` string, required
    - `next` object[], required
      - `code` 'long_payout_cycle' | 'daily_cadence' | 'future_start' | 'eligibility_window_exceeds_interval' | 'flat_bonus_waits_for_window' | 'bonus_tiers_unpaid_after_end' | 'performance_cap_below_bonus' | 'base_payouts_overlap' | 'cpm_payouts_overlap' | 'flat_bonuses_overlap' | 'manual_payouts_only' | 'rules_apply_immediately' | 'views_conditions_changed_after_payouts' | 'total_videos_changed_after_payouts' | 'payout_conditions_removed' | 'creative_payouts_removed' | 'time_zone_changed' | 'derived_from_job' | 'video_target_followers_frozen', required
      - `title` string, required
      - `message` string, required
  - `assignments` object[], required
    - `id` string, required
    - `creatorId` string, required: Organization creator ID with orgcre_ prefix
    - `creatorUser` object, required
      - `id` string, required: User ID with user_ prefix
      - `name` string, nullable, required
      - `email` string, required
      - `image` string, nullable, required
    - `validFrom` string, required
    - `validUntil` string, nullable, required
    - `latestSettledWindowEnd` string, nullable, required
    - `hasSettledOverlap` boolean, required

## 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)
