[GH-ISSUE #253] Add Win Back Offers CLI support #84

Closed
opened 2026-02-26 21:33:15 +03:00 by kerem · 0 comments
Owner

Originally created by @rudrankriyam on GitHub (Jan 28, 2026).
Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/253

Originally assigned to: @rudrankriyam on GitHub.

Overview

Add CLI support for Win Back Offers to manage re-engagement offers on subscriptions.

Scope (OpenAPI resources/endpoints)

  • POST /v1/winBackOffers
  • GET /v1/winBackOffers/{id}
  • PATCH /v1/winBackOffers/{id}
  • DELETE /v1/winBackOffers/{id}
  • GET /v1/winBackOffers/{id}/prices
  • GET /v1/winBackOffers/{id}/relationships/prices
  • GET /v1/subscriptions/{id}/winBackOffers
  • GET /v1/subscriptions/{id}/relationships/winBackOffers

Proposed CLI

Top-level group:

  • asc win-back-offers <subcommand> [flags]

Subcommands:

  • win-back-offers list --subscription SUBSCRIPTION_ID
  • win-back-offers get --id OFFER_ID
  • win-back-offers create --subscription SUBSCRIPTION_ID --reference-name ...
  • win-back-offers update --id OFFER_ID ...
  • win-back-offers delete --id OFFER_ID --confirm
  • win-back-offers prices --id OFFER_ID

Examples

  • asc win-back-offers list --subscription "SUB_ID"
  • asc win-back-offers create --subscription "SUB_ID" --reference-name "spring-2026" --customer-eligibility NEW
  • asc win-back-offers prices --id "OFFER_ID"

Flag patterns

Common:

  • --output, --pretty, --limit, --next, --paginate, --confirm

Resource-specific:

  • --subscription
  • --id
  • Offer attributes per spec (reference name, duration, eligibility, etc.)

Output

  • JSON minified by default
  • --pretty for JSON
  • --output table/markdown for list commands

Acceptance criteria

  • CRUD works for win-back offers
  • List by subscription works
  • Prices list works
  • Pagination and --next validation works
  • Delete requires --confirm

Tests

  • Command flag validation tests
  • HTTP client tests for list/get/create/update/delete
  • Output tests for table/markdown

Implementation notes

  • Add cmd/win_back_offers*.go, internal/asc/client_win_back_offers*.go
  • Add output helpers in internal/asc/output_win_back_offers.go
  • Register in cmd/root.go
Originally created by @rudrankriyam on GitHub (Jan 28, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/253 Originally assigned to: @rudrankriyam on GitHub. # Overview Add CLI support for Win Back Offers to manage re-engagement offers on subscriptions. # Scope (OpenAPI resources/endpoints) - `POST /v1/winBackOffers` - `GET /v1/winBackOffers/{id}` - `PATCH /v1/winBackOffers/{id}` - `DELETE /v1/winBackOffers/{id}` - `GET /v1/winBackOffers/{id}/prices` - `GET /v1/winBackOffers/{id}/relationships/prices` - `GET /v1/subscriptions/{id}/winBackOffers` - `GET /v1/subscriptions/{id}/relationships/winBackOffers` # Proposed CLI Top-level group: - `asc win-back-offers <subcommand> [flags]` Subcommands: - `win-back-offers list --subscription SUBSCRIPTION_ID` - `win-back-offers get --id OFFER_ID` - `win-back-offers create --subscription SUBSCRIPTION_ID --reference-name ...` - `win-back-offers update --id OFFER_ID ...` - `win-back-offers delete --id OFFER_ID --confirm` - `win-back-offers prices --id OFFER_ID` # Examples - `asc win-back-offers list --subscription "SUB_ID"` - `asc win-back-offers create --subscription "SUB_ID" --reference-name "spring-2026" --customer-eligibility NEW` - `asc win-back-offers prices --id "OFFER_ID"` # Flag patterns Common: - `--output`, `--pretty`, `--limit`, `--next`, `--paginate`, `--confirm` Resource-specific: - `--subscription` - `--id` - Offer attributes per spec (reference name, duration, eligibility, etc.) # Output - JSON minified by default - `--pretty` for JSON - `--output table/markdown` for list commands # Acceptance criteria - [ ] CRUD works for win-back offers - [ ] List by subscription works - [ ] Prices list works - [ ] Pagination and `--next` validation works - [ ] Delete requires `--confirm` # Tests - Command flag validation tests - HTTP client tests for list/get/create/update/delete - Output tests for table/markdown # Implementation notes - Add `cmd/win_back_offers*.go`, `internal/asc/client_win_back_offers*.go` - Add output helpers in `internal/asc/output_win_back_offers.go` - Register in `cmd/root.go`
kerem closed this issue 2026-02-26 21:33:16 +03:00
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/App-Store-Connect-CLI#84
No description provided.