[GH-ISSUE #622] coverage: Add missing App Store metadata relationship endpoints (OpenAPI) #180

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

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

Context

These endpoints exist in the offline OpenAPI snapshot (docs/openapi/latest.json, indexed by docs/openapi/paths.txt) but are currently missing from internal/asc client coverage.

Goal

Add ASC client methods for the endpoints below (method + path).

Missing endpoints

  • GET /v1/appClipDefaultExperiences/{id}/relationships/appClipDefaultExperienceLocalizations
  • GET /v1/appCustomProductPageLocalizations/{id}/relationships/appPreviewSets
  • GET /v1/appCustomProductPageLocalizations/{id}/relationships/appScreenshotSets
  • GET /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords
  • GET /v1/appCustomProductPageVersions/{id}/relationships/appCustomProductPageLocalizations
  • GET /v1/appCustomProductPages/{id}/relationships/appCustomProductPageVersions
  • GET /v1/appInfos/{id}/relationships/appInfoLocalizations
  • GET /v1/appPreviewSets/{id}/relationships/appPreviews
  • GET /v1/appScreenshotSets/{id}/relationships/appScreenshots
  • GET /v1/appStoreReviewDetails/{id}/relationships/appStoreReviewAttachments
  • GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id}/relationships/appPreviewSets
  • GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id}/relationships/appScreenshotSets
  • GET /v1/appStoreVersionExperimentTreatments/{id}/relationships/appStoreVersionExperimentTreatmentLocalizations
  • GET /v1/appStoreVersionExperiments/{id}/relationships/appStoreVersionExperimentTreatments
  • GET /v1/appStoreVersions/{id}/relationships/appStoreVersionLocalizations
  • GET /v1/appStoreVersions/{id}/relationships/appStoreVersionPhasedRelease
  • GET /v1/appStoreVersions/{id}/relationships/build
  • GET /v1/backgroundAssetVersions/{id}/relationships/backgroundAssetUploadFiles
  • GET /v1/backgroundAssets/{id}/relationships/versions
  • GET /v2/appStoreVersionExperiments/{id}/relationships/appStoreVersionExperimentTreatments
  • PATCH /v1/appClipDefaultExperiences/{id}/relationships/releaseWithAppStoreVersion
  • PATCH /v1/appPreviewSets/{id}/relationships/appPreviews
  • PATCH /v1/appScreenshotSets/{id}/relationships/appScreenshots
  • PATCH /v1/appStoreVersions/{id}/relationships/appClipDefaultExperience

Where/what to add

  • Implement in internal/asc/client_product_pages.go, internal/asc/client_product_pages_experiments.go, internal/asc/client_versions.go, internal/asc/client_background_assets.go, and app info helpers as appropriate.
  • Relationship GETs: return LinkagesResponse; PATCH: use relationship payload types.
  • Tests: request-shaping tests for representative endpoints.

Test plan

  • Add request-shaping tests using newTestClient (assert method + path + query).
  • For mutation endpoints (POST/PATCH/DELETE), assert request method + path and (when applicable) JSON relationship payload shape.

Acceptance criteria

  • All endpoints listed are implemented in internal/asc with tests.
  • ASC_BYPASS_KEYCHAIN=1 make test passes.
Originally created by @rudrankriyam on GitHub (Feb 18, 2026). Original GitHub issue: https://github.com/rudrankriyam/App-Store-Connect-CLI/issues/622 ## Context These endpoints exist in the offline OpenAPI snapshot (`docs/openapi/latest.json`, indexed by `docs/openapi/paths.txt`) but are currently missing from `internal/asc` client coverage. ## Goal Add ASC client methods for the endpoints below (method + path). ## Missing endpoints - [ ] GET /v1/appClipDefaultExperiences/{id}/relationships/appClipDefaultExperienceLocalizations - [ ] GET /v1/appCustomProductPageLocalizations/{id}/relationships/appPreviewSets - [ ] GET /v1/appCustomProductPageLocalizations/{id}/relationships/appScreenshotSets - [ ] GET /v1/appCustomProductPageLocalizations/{id}/relationships/searchKeywords - [ ] GET /v1/appCustomProductPageVersions/{id}/relationships/appCustomProductPageLocalizations - [ ] GET /v1/appCustomProductPages/{id}/relationships/appCustomProductPageVersions - [ ] GET /v1/appInfos/{id}/relationships/appInfoLocalizations - [ ] GET /v1/appPreviewSets/{id}/relationships/appPreviews - [ ] GET /v1/appScreenshotSets/{id}/relationships/appScreenshots - [ ] GET /v1/appStoreReviewDetails/{id}/relationships/appStoreReviewAttachments - [ ] GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id}/relationships/appPreviewSets - [ ] GET /v1/appStoreVersionExperimentTreatmentLocalizations/{id}/relationships/appScreenshotSets - [ ] GET /v1/appStoreVersionExperimentTreatments/{id}/relationships/appStoreVersionExperimentTreatmentLocalizations - [ ] GET /v1/appStoreVersionExperiments/{id}/relationships/appStoreVersionExperimentTreatments - [ ] GET /v1/appStoreVersions/{id}/relationships/appStoreVersionLocalizations - [ ] GET /v1/appStoreVersions/{id}/relationships/appStoreVersionPhasedRelease - [ ] GET /v1/appStoreVersions/{id}/relationships/build - [ ] GET /v1/backgroundAssetVersions/{id}/relationships/backgroundAssetUploadFiles - [ ] GET /v1/backgroundAssets/{id}/relationships/versions - [ ] GET /v2/appStoreVersionExperiments/{id}/relationships/appStoreVersionExperimentTreatments - [ ] PATCH /v1/appClipDefaultExperiences/{id}/relationships/releaseWithAppStoreVersion - [ ] PATCH /v1/appPreviewSets/{id}/relationships/appPreviews - [ ] PATCH /v1/appScreenshotSets/{id}/relationships/appScreenshots - [ ] PATCH /v1/appStoreVersions/{id}/relationships/appClipDefaultExperience ## Where/what to add - Implement in `internal/asc/client_product_pages.go`, `internal/asc/client_product_pages_experiments.go`, `internal/asc/client_versions.go`, `internal/asc/client_background_assets.go`, and app info helpers as appropriate. - Relationship GETs: return `LinkagesResponse`; PATCH: use relationship payload types. - Tests: request-shaping tests for representative endpoints. ## Test plan - Add request-shaping tests using `newTestClient` (assert method + path + query). - For mutation endpoints (POST/PATCH/DELETE), assert request method + path and (when applicable) JSON relationship payload shape. ## Acceptance criteria - All endpoints listed are implemented in `internal/asc` with tests. - `ASC_BYPASS_KEYCHAIN=1 make test` passes.
kerem 2026-02-26 21:33:55 +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#180
No description provided.